nginx 配置文件结构
main 的主要参数
user username [group] #启动nginx的用户,比如nginx用户,如果没有可以使用 useradd -s /sbin/nologin -M nginx
pid DIR # 存放pid文件的路径, nginx默认的pid存放位置 /opt/nginx/logs/nginx.pid
worker_rlimit_nofile number # 指定每个workder子进程可以打开的最大文件句柄数
worker_rlimit_core size # 指定worker子进程异常终止后的core文件, 用于记录分析问题
working_directory /opt/nginx/tmp # 与worker_rlimit_core配合使用
worker_processes number | auto # 指定worker子进程的数量
worker_cpu_affinity auto | cpumask1 cpumask2 # 将每个worker子进程与cpu物理核心进行绑定
# 例子:
# worker_cpu_affinity 0001 0010 0100 1000
# worker_cpu_affinity auto
worker_priority number # 指定worker子进程的nice的值, 以调整运行nginx的优先级,通常为负值,范围在-20~+20之间
worker_shutdown_timeout time # 指定workder子进程优雅退出的超时时间
timer_resolution time # worker子进程内部使用计时器的精度,调整时间间隔越大, 调用次数越少,有利于性能提升
events 的主要参数
worker_connections number # 目前就先只设置这一个参数吧, 参考65536/worker_processes
server 的主要参数
# server_name 的四种写法
server_name www.baidu.com
server_name *.baidu.com
server_name www.baidu.*
server_name ~^www\.baidu\.*$
server_name优先级从高到低依次是: 精确匹配 > 左侧通配符匹配 > 右侧通配符匹配 > 正则表达式匹配
root 和 alias 的区别
①: root 会和 location 叠加, 但是不会和 alias 叠加
②: root 能用在 http, server, location 中, 而 alias 只能用在 location 中
location 的用法
location [=|~|~*|^~] uri
= 精确匹配 location=/images/ ^~ 匹配到即停止搜索 location ^~/images/ ~ 正则匹配, 区分大小写 location ~\.(jpg|gif) ~* 正则匹配, 不区分大小写 location ~*\.(jpg|gif) 不带任何符号 location /images
http_stub_status_module 模块 监控nginx的状态 stub_status 用在 server , location 中
location /uri {
stub_status;
}
状态项含义 Active Connections 活跃的连接数量 accepts 接受的客户端连接总数量 handled 处理的客户端连接总数量 requests 客户端总的请求数量 Reading 读取客户端的连接数 Writing 相应数据到客户端的连接数 Waiting 空闲客户端请求连接数量