Nginx配置文件nginx.conf中文详解

版本:1.15.7 设置成黑色粗体的指令是常用的或者是调优时可能会用到的

  • nginx.conf配置文件的结构大体可以分为三大模块:全局模块(设置影响Nginx服务器整体运行的指令)、events模块(设置影响Nginx服务器与用户的网络连接指令)、http模块(代理、缓存和日志等大多数功能以及第三方模块配置)

全局模块(除一下指令外还包括一些配置文件的引入等)

在unix系统中是否以守护进程的方式运行nginx,如果开启则以单个进程的方式运行nginx,一般不会开启
daemon off 默认是on 一般用于开发

是否以master/worker方式进行工作,如果关闭nginx就不会创建出worker子进程来处理请求,而是用master进程自身来处理请求 一般用于开发
master_process off 默认是on

worker进程中的减时计时器,设置的是时间间隔的大小 具体的间隔实现方式取决于选择的事件驱动模型 一般无需设置 默认不设置
timer_resolution

设置锁的名称以及路径前缀 在某些系统使用lock file实现锁的情况下才有效 否则该指令无效 一般无需设置 默认 logs/nginx.lock
lock_file

出现内部错误是以便让用户使用调试器分析 一般无需设置 默认不设置
debug_points stop|abort

设置worker 进程的优先级 zhi值越低优先级越高 -20 到 20 默认是0
worker_priority

绑定worker进程到指定的cpu内核,每一个worker进程都独享一个CPU,可以在内核的调度策略上实现完全的并发 默认不绑定任何cpu集合
worker_cpu_affinity

更改工作进程的核心文件(RLIMIT_CORE)的大小限制。用于在不重启主进程的情况下修改这个限制 默认不设置
worker_rlimit_core

该值为单个工作进程可以打开的最大的文件数量,一般会把它调高点,以防报错 "too many open files" 的问题 默认不设置
worker_rlimit_nofile

设置工作进程核心文件的路径 一般无需设置
working_directory

设置nginx停止的超时时间 默认不设置
worker_shutdown_timeout

设置nginx的环境变量 一般无需配置 默认TZ
env

动态加载某个模块
load_module

运行时的用户和组,如果组没有指定,则用户和组一致 默认是 nobody nobody
user nobody;

nginx的工作进程,一般和cpu的核数一样,auto是nginx自动检测 默认是1
worker_processes 某个数值|auto

错误日志输出路径,可以配置不同的日志级别输出到不同的文件 可使用在全局模块, http模块, mail模块, stream模块, server模块, location模块
error_log logs/error.log;
error_log logs/error.log notice;
error_log logs/error.log info;

配置存放nginx master进程的pid的文件路径和文件名,可以通过获取该文件中的进程号,来杀掉该进程号来强制停止nginx,不过一般不太推荐这种方式
pid logs/nginx.pid;

引入某个文件或者符合某个格式的一系列文件 用于任何地方
include var/*.conf;

定义硬件SSL加速器的名称 默认不设置
ssl_engine

events模块(除一下指令外还包括是否允许同时接收多个网络连接、选取哪种事件驱动模型处理连接请求等)

events模块定义的是单个工作进程可以同时支持的连接数(单个work_processe并发数)以及是否序列化网络连接等。

 events {
 	....
 }

单个工作进程最大连接数(包括代理服务器的连接)
worker_connections 某个数值; 默认512 尽量是小于或等于worker_rlimit_nofile

选择事件驱动模型 通常不需要指定,nginx会自动选择最高效的方式 默认不设置
use select|poll|kqueue|epoll|rtsig|dev/poll|eventport

每个工作进程是否同时接收多个网络连接,如果是off则每次只接收一个连接
multi_accept on|off 默认off

是否网络连接序列化,如果不开启可能出现“惊群”问题
accept_mutex on|off 默认off (版本1.11.3默认值是on)

指定工作进程尝试重新启动接受新连接的最长时间,在开启了网络连接序列化的情况下才有效 默认 500ms
accept_mutex_delay 某个时间数值(ms)

为选定的客户端连接启用调试日志。其他连接将使用ERROR_LOG指令设置的日志级别。默认不设置
debug_connection ip地址|某个子网地址|unix套接字

指令作用域:大多数指令不是属于特定某一个模块,同一个指令在不同的模块的作用域不同,采用“就近原则”,如果高一级模块中和低一级模块中都出现了某个相同的指令,则以低一级的模块的指令为准。

http模块(设置和http请求相关的指令,如连接超时时间、MIME-Type等)

http{
       .... http自身模块的全局配置
    	server{
  			.... server 自身的全局配置
	  		location [表达式]{
			...   
	  		}
	  		location [表达式]{
	  			...  
	  		}
   		}  
    	server{
   			...
   		}
}

以下介绍的是http模块中的内容:
引入文件,设置mime类型
include mime.types;

设置默认用于处理前端请求的MIME类型 默认是 text/plain 可用于http模块, server模块, location模块
default_type application/octet-stream;

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值