Nginx配置
Nginx支持一台主机上搭建多个https:TLS SNI support enabled
配置文件组成部分
主配置文件:nginx.conf
子配置文件:include conf.d/*.conf
fastcgi,uwsgi,scgi等协议相关的配置文件
主配置文件的配置指令:
directive value [value2 ...];
注意:
1、指令必须以分号结尾
2、支持使用配置变量
内建变量:由Nginx模块引入,可直接引用
自定义变量:由用户使用set命令定义
set variable_name value;
引用变量:$variable_name
主配置文件结构:四部
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配置
Main全局配置段常见的配置指令分类
正常运行必备的配置
优化性能相关的配置
用于调试及定位问题相关的配置
事件驱动相关的配置
帮助文档
http://nginx.org/en/docs/
正常运行的必备配置:
1、user
指定worker进程的运行身份,如组不指定,默认同用户名
2、pid /PATH/TO/PID_FILE
指定存储nginx主进程PID的文件路径
3、include file | mask
指明包含进来的其它配置文件片断
4、load_module file
模块加载配置文件:/usr/share/nginx/modules/*.conf
指明要装载的动态模块路径:/usr/lib64/nginx/modules
性能优化相关配置
1、worker_process 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
事件驱动相关配置
events {
. . .
}
1、worker_connections number
每个worker进程所能够打开的最大并发连接数量;如10240
总最大并发数:worker_process * worker_connections
2、use method
指明并发连接请求的处理方法,默认自动选择最优方法;use epoll
3、accept_mutex on | off 互斥
处理新的连接请求的方法;on指由各个worker轮流处理新请求,off指每个新请求的到达都会通知(唤醒)所有的worker进程,但只有一个进程可获得连接,造成“惊群”,影响性能
高度和定位问题
1、daemon on | off
是否以守护进程方式运行nginx,默认是on守护进程方式;适用于测试环境使用
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
http协议相关配置
http {
. . .
}