nginx.conf解释
[root@release nginx]# more nginx.conf # For more information on configuration, see: # * Official English Documentation: http://nginx.org/en/docs/ # * Official Russian Documentation: http://nginx.org/ru/docs/ user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; # Load dynamic modules. See /usr/share/doc/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; events { worker_connections 1024; } http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 4096; include /etc/nginx/mime.types; default_type application/octet-stream; # Load modular configuration files from the /etc/nginx/conf.d directory. # See http://nginx.org/en/docs/ngx_core_module.html#include # for more information. include /etc/nginx/conf.d/*.conf; server { listen 80 default_server; listen [::]:80 default_server; server_name _ default_server; root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; error_page 404 /404.html; location = /404.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } } }
nginx.conf 是Nginx服务器的主配置文件,定义了Nginx的全局设置和行为,包括工作进程、日志记录、事件处理和HTTP服务的配置。下面是文件内容的详细解释:
文件内容解释
# For more information on configuration, see: # * Official English Documentation: http://nginx.org/en/docs/ # * Official Russian Documentation: http://nginx.org/ru/docs/
- 这是文件开头的注释,提供了Nginx官方文档的链接,分别是英文和俄文文档。
user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid;
- user nginx;:指定Nginx进程运行的用户和用户组。
- worker_processes auto;:自动检测并设置工作进程数,通常等于CPU核心数。
- error_log /var/log/nginx/error.log;:指定错误日志的存储路径。
- pid /run/nginx.pid;:指定存储Nginx进程ID文件的路径。
# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf;
- include /usr/share/nginx/modules/*.conf;:加载动态模块的配置文件。
events { worker_connections 1024; }
- events { ... }:定义事件处理相关的设置。
- worker_connections 1024;:每个工作进程的最大连接数。
http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 4096; include /etc/nginx/mime.types; default_type application/octet-stream;
- http { ... }:定义HTTP相关的设置。
- log_format main ...:定义日志格式,记录客户端IP地址、用户、请求时间、请求内容、状态码、发送的字节数、引用页面、用户代理、X-Forwarded-For头信息。
- access_log /var/log/nginx/access.log main;:指定访问日志的存储路径和格式。
- sendfile on;:启用sendfile功能,提高文件传输效率。
- tcp_nopush on;:启用tcp_nopush,优化TCP数据传输。
- tcp_nodelay on;:启用tcp_nodelay,减少网络延迟。
- keepalive_timeout 65;:设置keep-alive超时时间为65秒。
- types_hash_max_size 4096;:设置MIME类型哈希表的最大大小。
- include /etc/nginx/mime.types;:包含MIME类型文件的配置。
- default_type application/octet-stream;:默认的MIME类型为二进制流。
# Load modular configuration files from the /etc/nginx/conf.d directory. # See http://nginx.org/en/docs/ngx_core_module.html#include # for more information. include /etc/nginx/conf.d/*.conf;
- include /etc/nginx/conf.d/*.conf;:包含位于 /etc/nginx/conf.d 目录下的所有配置文件。
server { listen 80 default_server; listen [::]:80 default_server; server_name _ default_server; root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; error_page 404 /404.html; location = /404.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } } }
- server { ... }:定义一个服务器块,配置默认的服务器设置。
- listen 80 default_server;:监听80端口,设置为默认服务器。
- listen [::]:80 default_server;:监听IPv6的80端口,设置为默认服务器。
- server_name _ default_server;:设置服务器名称为默认服务器。
- root /usr/share/nginx/html;:定义服务器的根目录。
- include /etc/nginx/default.d/*.conf;:包含位于 /etc/nginx/default.d 目录下的所有配置文件。
- error_page 404 /404.html;:指定404错误页面为 /404.html。
- location = /404.html { ... }:处理访问 /404.html 请求的位置。
- error_page 500 502 503 504 /50x.html;:指定500、502、503和504错误页面为 /50x.html。
- location = /50x.html { ... }:处理访问 /50x.html 请求的位置。
总结
nginx.conf 文件是Nginx的主配置文件,定义了全局设置、事件处理、HTTP服务和默认服务器的配置。通过这个文件,可以设置Nginx的运行环境、日志记录、模块加载、HTTP请求处理和错误页面等。