
有5个配置段
main # 全局 配置段events {} # 用户网络连接 配置段http { # http连接 配置段upstream {} # 负载均衡配 置段server {} # 服务器 配置段}
user root;worker_processes auto;pid /run/nginx.pid;include /etc/nginx/modules-enabled/*.conf;events {}http {upstream name {server 192.168.92.134:8000;server 192.168.92.134:8001;}server{listen 80;}server{listen # 监听地址和端口listen 443; # 监听地址和端口 例子server_name # 主机名root # 站点根目录(document_root)alias # 路径别名location /static {}}}
############################### 正常运行必备的配置:##############################user nginx nginx# Nginx用户及组:用户 组。window下不指定# 新建用户useradd命令:# useradd nginx -s /sbin/nologin -M# -s<shell>:指定用户登入后所用的shell# -M:不要自动建立用户的登入目录# 终端查看命令# ps aux | grep nginx# pid /PATH/TO/PID_FILE # 指定存储nginx主进程进程号码的文件路径pid logs/nginx.pid # pid(进程标识符):存放路径。# include file | mask # 指明包含进来的其它配置文件片断include /etc/nginx/modules-enabled/*.conf;# load_module file; # 指明要装载的动态模块############################### 优化性能相关的配置:###############################worker_processes number | auto# worker_processes 8worker_processes auto# worker进程的数量# 根据硬件调整,通常等于CPU数量或者2倍于CPU# 通常应该等于小于当前主机的cpu的物理核心数# auto:当前主机物理CPU核心数# worker_cpu_affinity cpumask …# worker_cpu_affinity auto [cpumask]# worker_cpu_affinity auto# worker_cpu_affinity 00010000 00100000 01000000 10000000# worker与CPU进行绑定# 如果此服务器主要是做nginx服务器的话,可是使用此配置# 如果还有其它重要程序运行,不建议使用# CPU MASK:# 00000000 # 8个CPU的表示# 00000001 # 0号CPU# 00000010 # 1号CPU# ... ...# 服务器有8个CPU,nginx服务要启用4个worker进程# 可以使用auto进行自动分配,也可以使用手动绑定# 比如绑定后四个CPU,就是4、5、6、7号CPU(00010000、00100000、01000000、10000000)# worker_priority number;# 指定worker进程的nice值,设定worker进程优先级;[-20,20]# ps axo comm,pid,psr,ni | grep nginx # 默认nice值是0# nginx 7209 0 0# nginx 8812 3 0# nginx 8813 2 0# nginx 8814 1 0# worker_rlimit_nofile number# worker_rlimit_nofile 204800 # 指定进程可以打开的最大描述符:数目。# (这里小乱)# 所有worker进程所能够打开的文件数量上限# 一个进程至少需要打一个套接字文件,1024个进程就需要至少打开1024个套接字文件# 3个worker进程至少需要打开3*1024=3072个文件# 这个指令是指当一个nginx进程打开的最多文件描述符数目# 理论值应该是最多打开文件数(ulimit -n)与nginx进程数相除# 但是nginx分配请求并不是那么均匀,所以最好与ulimit -n 的值保持一致。# 现在在linux 2.6内核下开启文件打开数为65535,worker_rlimit_nofile就相应应该填写65535。# 这是因为nginx调度时分配请求到进程并不是那么的均衡# 所以假如填写10240,总并发量达到3-4万时就有进程可能超过10240了,这时会返回502错误。############################### 用于调试及定位问题相关的配置:############################### daemon on|off;# 是否以守护进程方式运行Nignx;(CentOS 7不需要)# master_process on|off;# 是否以master/worker模型运行nginx;默认为on# error_log file [level];error_log logs/error.log # 错误日志:存放路径。error_log logs/error.log notice # 错误日志:存放路径。error_log logs/error.log info # 错误日志:存放路径。