全局配置
- 全局块:全局配置,对全局生效
- events块:配置影响 Nginx 服务器与用户的网络连接
- http块:配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置
- server块:配置虚拟主机的相关参数,一个 http 块中可以有多个 server 块
- location块:用于配置匹配的 uri
- upstream:配置后端服务器具体地址,负载均衡配置不可或缺的部分
配置文件详解
全局配置模块
配置文件从头开始到 events 块之间的内容,主要设置的是影响nginx服务器整体运行的配置指令。比如worker_process,值越大,可以支持的并发处理量也越多,但是还是和服务器的硬件相关。
I/O事件配置
HTTP配置
web服务监听设置
优化配置
关闭版本号
Cpu和Work进程绑定
将Nginx工作进程绑定到指定的CPU核心,默认Nginx是不进行进程绑定的,绑定并不是意味着当前nginx进程独占以一核心CPU,但是可以保证此进程不会运行在其他核心上,这就极大减少了nginx的工作进程在不同的cpu核心上的来回跳转,减少了CPU对进程的资源分配与回收以及内存管理等,因此可以有效的提升nginx服务器的性能。
进程优先级
日志分割
平滑升级
alias别名
location
在一个server中location配置段可存在多个,用于实现从uri到文件系统的路径映射;ngnix会根据用户请求的URI来检查定义的所有location,按一定的优化级找出一个最佳匹配,而后应用其配置在没有使用正则表达式的时候,nginx会先在server中的多个location选取匹配度最高的一个uri,uri是用户请求的字符串,即域名后面的web文件路径,然后使用该location模块中的正则url和字符串,如果匹配成功就结束搜索,并使用此location处理此请求。
- = 用于标准uri前,需要请求字串与uri精确匹配,大小敏感,如果匹配成功就停止向下匹配并立即处理请求
- ^~ 用于标准uri前,表示包含正则表达式,并且匹配以指定的正则表达式开头,对URI的最左边部分做匹配检查,不区分字符大小写
- ~ 用于标准uri前,表示包含正则表达式,并且区分大小写
- ~* 用于标准uri前,表示包含正则表达式,并且不区分大写
- 不带符号 匹配起始于此uri的所有的uri
- \ 用于标准uri前,表示包含正则表达式并且转义字符。可以将 . * ?等转义为普通符号
自定义错误页面
我们 可以改变 默认的错误页面,同时也可以用指定的响应状态码进行响应, 可用位置:http, server, location, if in location