配置文件
配置文件参数
参数 | 默认 | 意义 |
---|---|---|
worker_process | auto | 启动的子进程数,默认auto会根据电脑有几颗CPU而启动几个进程 |
worker_connections | 1024 | 每个工作worker子进程最大连接数 |
include | mime.types | 包含MIME类型 |
default_type | application/octet-stream | 默认类型 |
sendfile | on | 启用高效文件传输 |
tcp_nopush | on | 优化TCP传输 |
tcp_nodelay | on | 禁用延迟 |
keepalive_timeout | 65 | 长连接超时时间 |
gzip | on | 启用gzip压缩 |
gzip_types | text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; | 压缩的MIME类型 |
模块
main
全局配置
参数 | 示例 | 默认 | 意义 |
---|---|---|---|
user | user USERNAME [GROUP] | nobody | 指定运行Nginx的worker子进程的属主和属组 |
pid | pid /path/to/nginx.pid | 指定运行Nginx的master主进程的pid文件存放路径 | |
worker_rlimit_nofile | worker_rlimit_nofile 20480 | 指定worker子进程可以打开的最大文件句柄数,但是系统最大进程数为65535 | |
worker_rlimit_core | worker_rlimit_core 50M | 指定worker子进程异常终止后的core文件,用于记录分析问题 | |
working_directory | working_directory /path/to/tmp | 配合worker_rlimit_core,指定core存放目录,需要有写权限 | |
worker_process | auto | 启动的子进程数,默认auto会根据电脑有几颗CPU而启动几个进程 | |
worker_connections | 1024 | 每个工作worker子进程最大连接数 | |
worker_cpu_affinity | worker_cpu_affinity 0001 0010 0100 1000 | 将每个worker子进程与我们的CPU物理核心绑定 | |
worker_priority | worker_priority -10 | linux默认进程的优先级值为129,值越小越优先,nice值设定范围-20到=19 | 指定worker子进程的nice值,以调整运行Nginx的优先级,通常设为负值,以优先调用Nginx |
worker_shutdown_timeout | worker_shutdown_timeout 5s | 指定worker子进程优雅退出时的超时时间 | |
work_resolution | work_resolution 100ms | work子进程内部使用的计时器精度,调整的时间间隔越大,系统调用越少 | |
lock_file | 负载均衡互斥锁文件存放的路径 | lock_file logs/nginx.lock |
events
事件模块设置
参数 | 意义 | 默认 | 示例|推荐 |
---|---|---|---|
use | 使用何何种驱动模型 | 默认不指定,让Nginx自己选择 | use select|poll|kqueue|epoll |/dev/poll|eventport |
worker_connections | worker子进程处理的最大并发数 | worker_connections 1024 | 一般65535/work_process |65535 |
accept_mutex | 是否打开负载均衡互斥锁 | off | accept_mutex on|off,推荐on |
accept_mutex_delay | 新连接分配给worker子进程的超时时间 | 500ms | accept_mutex_delay 200ms |
muti_accept | worker子进程可以接受的新连接个数 | off | on |
http
http核心模块设置
参数 | 意义 | 默认 |
---|---|---|
include | 包含MIME类型 | mime.types |
default_type | 默认类型 | application/octet-stream |
sendfile | 启用高效文件传输 | on |
tcp_nopush | 优化TCP传输 | on |
tcp_nodelay | 禁用延迟 | on |
keepalive_timeout | 长连接超时时间 | 65 |
gzip | 启用gzip压缩 | on |
gzip_types | 压缩的MIME类型 | text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; |
server
虚拟主机
参数 | 意义 | 默认 | 示例 |
---|---|---|---|
server_name | 设置域名 | server_name domain1 domain2 domainn; server_name *.domain.com server_name www.domain.* server_name ~^www\.domain\..*$ 优先级:精确匹配>左侧通配符匹配>右侧通配符匹配>正则匹配 | |
root | URI到磁盘文件映射 | 上下文可以是在 http server location if出现,与alias对比,root会将路径与URI叠加 |
location
映射路由对应的处理
参数 | 语法 | 意义 | 示例|推荐 | 备注 |
---|---|---|---|---|
alias | URI到磁盘文件映射 | 上下文可以是在 location 出现,与root区别,alias只取定义路径 | ||
location | location [=|~|~*|^~] uri | 1. =精确匹配 2. ~正则匹配,区分大小写 location ~ \.(jpg|gif)$ {...} 3. ~* 正则匹配,不区分大小写 location ~ \.(jpg|gif)$ 4. ^~ 匹配到即停止搜索 location ^~ /images/ {...} 5. location / {...} | = > ^~ > ~ > ~* > 不带任何字符 | |
stub_status | stub_status; | 显示Nginx运行状态 | location /monitor_status { stub_status } | Active connections: 2 server accepts handled requests 2 2 5 Reading: 0 Writing: 1 Waiting: 1 |