目录
nginx.conf是在使用nginx时接触最多的核心配置文件了,本篇从该配置文件的全局角度介绍配置结构
下面是nginx刚安装好后的初始化配置(已取除被注释的代码)
- worker_processes 1;
-
- events {
- worker_connections 1024;
- }
-
- http {
- include mime.types;
- default_type application/octet-stream;
-
- sendfile on;
-
- keepalive_timeout 65;
-
- server {
- listen 80;
- server_name localhost;
-
- location / {
- root html;
- index index.html index.htm;
- }
-
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- root html;
- }
-
- }
-
- }
要了解nginxp配置,先要清楚三个概念:
指令名、指令值 :指令名和指令值往往是成对出现的,就像键值对一样。例如
- # 指令名 # 指令值
- worker_processes 1;
块:由 { } 包裹,外面往往有个名字,例如,events块
- # events块
- events {
- worker_connections 1024;
- }
指令名和指令值如果没有被 { } 包裹,位于全局,我们称为全局快,例如
- # 全局块
- worker_processes 1;
nginx.conf默认配置中最最明显的全局块就是以下两个
- user nobody;
- worker_processes 1;
user: 该指令名是配置Nginx服务器的worker进程的用户和用户组。
worker_processes : 该指令名是配置nginx的工作进程数,nginx的运行是多进程的,我们可以通过查看nginx运行状态确定这一点
其中,master进程主要用来管理worker进程,包含接收外界的信息,并将接收到的信号发送给各个worker进程,监控worker进程的状态,当worker进程出现异常退出后,会自动重新启动新的worker进程,很像一个高级管理员,掌舵人。
worker_processes所配置的进程数是Nginx服务器实现并发处理服务的关键所在。理论上来说workder process的值越大,可以支持的并发处理量也越多,但事实上这个值的设定是需要受到来自服务器自身的限制,建议将该值和服务器CPU的内核数保存一致。
有关nginx配置中更多常见的指令名配置请参阅:待补充
worker_connections: 该指令名用来配置单个worker进程处理的最大连接数,这里的连接数不仅仅包括和前端用户建立的连接数,而是包括所有可能的连接数。另外,number值不能大于操作系统支持打开的最大文件句柄数量。
有关nginx配置中更多常见的指令名配置请参阅:待补充
http块是nginx配置最多的块,这个在下一篇笔记中详述。。。
以上内容就是Nginx部分配置结构介绍,欢迎讨论学习!