设为首页 收藏本站
查看: 1353|回复: 0

[经验分享] Nginx系列--02基本配置

[复制链接]

尚未签到

发表于 2018-11-16 10:03:10 | 显示全部楼层 |阅读模式
一. 配置文件结构

1. Nginx配置目录
  YUM安装的Nginx其配置文件目录为/etc/nginx。Nginx的主配置文件为/etc/nginx/nginx.conf,在主配置文件中通过include 包含/etc/nginx/conf.d/*.conf所有配置。在配置目录下有fastcgi, uwsgi,scgi等协议相关的配置文件,以及支持的Mime类型。

2. 配置文件中指令配置
  配置格式:directive value [ value... ]
  注意:(1)指令一定要以分号结尾。(2)支持使用变量,一种是模块引入的内建变量;一种是自定义变量,使用 set var_name value 定义,使用$var_name 调用。

3. 主配置文件结构
  Nginx的配置是分段的,对应指令只能放在对应的配置段中,否则就会报错。
  

main block:主配置段,也即全局配置段;  
event {
  ...
  
}:事件驱动相关的配置;
  
http {
  ...
  
}:http/https 协议相关的配置段;
  
mail {
  ...
  
}:用于配置imap4/pop3协议的反向代理
  
stream {
  ...
  
}:用于配置TCP/UDP的请求转发
  

4. HTTP协议相关的配置
  

http {  ...
  ...:各server的公共配置
  server {
  ...
  }:每个server用于定义一个虚拟主机;
  server {
  ...
  server_name
  root
  alias
  location [OPERATOR] URL {
  ...
  if CONDITION {
  ...
  }
  }
  }
  
}
  

二. 配置详解

main段配置指令

1. 正常运行必备指令
  (1)user
  

    语法:user user_name [group]  默认:user nobody nobody
  上下文:main
  

  指定了work进程运行时使用的用户,如果group省略同user。需要注意的是,worker进程运行的身份决定了他们是否能够写入某些目录,nginx缓存目录/var/cache/nginx,日志目录/var/log/nginx,默认站点目录/usr/share/nignx/html,这些目录的属主和属组都是root,有可能导致没有权限,需要我们修改权限。
  (2)pid
  指定存储nginx主进程号码的文件路径,nginx的主进程是一个会话进程,所以只要杀死主进程,工作进程也会down掉,所以我们关掉nginx只需要kill掉保存在此文件中的pid对应的进程即可。需要注意的是只要我们主进程不down,工作线程down了,主线程会重启一个work进程。YUM安装中PID的配置为/var/run/nginx.pid。
DSC0000.jpg

  (3)include file;
  指明包含进来的其它配置文件片断,可以放在任何配置段中。
  (4)load_module file;
  指明要装载的动态模块

2. 性能优化相关的配置
  (1)worker_processes  number | auto;
  worker进程的数量;通常应该为当前主机的cpu的物理核心数,或者为物理核心数减一。auto表明是物理核心数.
DSC0001.jpg

  (2)worker_cpu_affinity cpumask ...;
  cpumask的使用为: 00000001 如果有八颗CPU,表明一worker进程会运行在第零颗CPU上。00000010:表明第一颗CPU依次类推。
  测试:
  不绑定CPU
DSC0002.jpg

  绑定CPU
DSC0003.jpg

  (3)worker_priority number;
  指定worker进程的nice值,值越小优先级越高,范围为[-20,20]
DSC0004.jpg

  (4)worker_rlimit_nofile number;
  单个worker进程打开文件数量上限。在CentOS上非管理员账号只能使用1024个文件。而Linux哲学思想一切皆文件,每一个socket就是一个文件,所以此值往往需要调大。

3. 事件驱动相关的配置:
  events {
  ...
  }
  (1)worker_connections number;
  每个worker进程能够打开的最大并发连接数。
  nginx最大并发数=worker_processes * worker_connections
  (2)use method;
  指明并发连接请求的处理方法;默认使用epoll,使用nginx作为web服务器,如果不使用此命令有意义吗?
  (3)accept_mutex on | off
  处理新请求的方法,on表示worker进程轮流处理,off则会通知所有的worker进程,谁抢到谁处理。

说明
  本篇梳理了nginx mian段的配置指令,接下来的一篇将会梳理http段的基本配置、基于IP和端口虚拟主机,以及混合型虚拟主机。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-635678-1-1.html 上篇帖子: Nginx新手指南 下篇帖子: centos 7 编译安装nginx-f1221283的博客
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表