Nginx Server 的配置解析
Config file
Nginx.conf 配置文件主要分为三部分:
- 全局块
- Events 块
- HTTPS 块
Global Block
指主要配置影响全局的参数,配置对Server的运行,包括运行的用户组,进程PID存放路径、日志存放路径以及配置文件的引入。
如下配置:
user nobody;
worker_processes 4;
error_log /data/nginx/logs/error.log notice;
Events 块
Event块涉及的指令主要控制 Nginx 服务器 与用户的网络连接,常用的设置有是否开启对进程连接的序列化,是否允许同时接收多个网络连接,选取哪种事件驱动模型来处理连接请求,每个 Word Process 可以同时支持的最大连接数等。
events {
#每个 work process 支持的最大连接数为 1024.
worker_connections 1024;
}
Https 块
https 块在配置文件中属于经常要调用到的参数,代理、缓存、日志定义第三方模块调用需要用的配置都在这里,需要注意的是,也包括HTTPS、Server、全局块。
- https 全局块
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65; #连接超时时间
- Server 块
Server 块也是配置虚拟主机的重要参数块,每个HTTPS 全局块可以包含多个 server 块,而每个Server块就相当于一台虚拟主机,由此可见虚拟主机是由参数定义,这是为了节约硬件成本的最好最实用的Nginx Virtual服务器技术。
全局 Server 块:也被叫做“虚拟服务器”部分,它描述的是一组根据不同server_name指令逻辑分割的资源,这些虚拟服务器响应 HTTP 请求,因此都包含在 HTTP 部分。
最常见的配置是虚拟机主机的监听配置和虚拟主机的名称或 IP 配置。
server {
listen 80;
#server_name也支持通配符,*.example.com、www.example.*、.example.com
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
注意:location 块,匹配 规则是:先匹配普通location (再匹配正则表达式),先普通location ,而不是有些的误区“先匹配正则location ”。