Nginx配置

Nginx配置

nginx 配置文件格式

	主配置文件结构:
		main block :主配置段,即全局配置段,对http,mail都有效
		event {
			...
			} 事件驱动相关的配置
		http {
			...
			} http/https  协议相关配置段
		mail {
			...
			} mail  协议相关 配置段
		stream {
			...
			}  stream 
	http 协议相关的配置结构
		http {
			...
			... 各server 的公共配置
			server { 每个server用于定义一个虚拟主机
				...
					}
			server {
				...
				server_name 虚拟主机名
				root 主目录
				alias 路径别名
				location [OPERATOR] URL { 指定URL 的特性
					...
						if CONDITION {
					...
							}
				}
			}
		}

nginx 配置

	配置文件的组成部分:
		主配置文件:nginx.conf
		子配置文件:include conf.d/*.conf
		fastcgi,uwsgi,scgi等协议相关的配置文件
		mime.types :支持的mime类型
	
	主配置文件的配置指令:
		directive value [value2 ...];
	
	注意:
		(1)指令必须以分号结尾
		(2)支持使用配置变量
			内建变量:
				由Nginx模块引入,可直接引用
			自定义变量:
				由用户使用set 命令定义
				set variable_name value;
			引用变量:
				$variable_name
			
	Main 全局配置段常见的配置指令分类
		正常运行必备的配置
		优化性能相关的配置
		用于调试及定位问题相关的配置
		事件驱动相关的配置
	
	帮助文档
		http://nginx.org/en/docs/
	
	正常运行必备的配置:
		帮助文档:
			http://nginx.org/en/docs/ngx_core_module.html
		1 、user
			Syntax: user user [group];
			Default: user nobody nobody;
			Context: main
			指定worker 进程的运行身份,如组不指定,默认和用户名同名
		2 、pid file
			指定存储nginx 主进程PID 的文件路径
		3 、include file | mask
			指明包含进来的其它配置文件片断
		4 、load_module file
			模块加载配置文件:/usr/share/nginx/modules/*.conf
			指明要装载的动态模块路径: /usr/lib64/nginx/modules
	
	性能优化相关的配置:
		帮助文档:
			http://nginx.org/en/docs/ngx_core_module.html
		1 、worker_processes number | auto
			worker进程的数量,通常应该为当前主机的cpu 的物理核心数
		2 、worker_cpu_affinity cpumask ...
			worker_cpu_affinity auto [cpumask]  提高缓存命中率
			CPU MASK:
				00000001 :0 号CPU
				00000010 :1 号CPU
				10000000 :8 号CPU
			worker_cpu_affinity 0001 0010 0100 1000;
			worker_cpu_affinity 0101 1010;
		3 、worker_priority number
			指定worker 进程的nice 值,设定worker 进程优先级:[-20,20]
		4 、worker_rlimit_nofile number
			worker 进程所能够打开的文件数量上限, 如65535
	事件驱动相关的配置:
		帮助文档
			http://nginx.org/en/docs/ngx_core_module.html
		events {
			...
			}
		1 、worker_connections number
			每个worker 进程所能够打开的最大并发连接数数量,如10240
			总最大并发数:worker_processes * worker_connections
		2 、use method
			指明并发连接请求的处理方法, 默认自动选择最优方法 use epoll;
		3 、accept_mutex on | off  互斥
			处理新的连接请求的方法,on指由各个worker 轮流处理新请求,Off指每个新请求的到达都会通知( 唤醒) 所有的worker 进程,但只有一个进程可获得连接,造成“惊群”,影响性能,默认on。
	
	调试和定位问题:
		帮助文档
			http://nginx.org/en/docs/ngx_core_module.html
		1 、daemon on|off
			是否以守护进程方式运行nignx,默认是守护进程方式
		2 、master_process on|off
			是否以master/worker 模型运行nginx ,默认为on,off将不启动worker
		3 、error_log file [level]
			错误日志文件及其级别,出于调试需要,可设定为debug ,但debug仅在编译时使用了“--with-debug” 选项时才有效
			方式:file /path/logfile;
				stderr:发送到标准错误
				syslog:server-address[,parameter=values]: 发送到syslog
				memory:size  内存
				level:debug|info|notice|warn|error|crit|alter|emerg
原文地址:https://www.cnblogs.com/shenxm/p/8462560.html