常用参数1:
1. user
:指定运行 Nginx 工作进程的用户和用户组,例如 user nginx nginx;
。
2. worker_processes
:设置 Nginx 进程的工作进程数量,通常根据服务器的 CPU 核心数来设置,例如 worker_processes 4;
。
3. error_log
:指定错误日志的路径和级别,如 error_log /var/log/nginx/error.log error;
。
4. pid
:指定 Nginx 主进程的 PID 文件路径,例如 pid /var/run/nginx.pid;
。
5. events
块中的参数:
worker_connections
:设置每个工作进程的最大连接数,例如worker_connections 1024;
。
6. http
块中的参数:
include
:包含其他配置文件,例如include /etc/nginx/mime.types;
。default_type
:设置默认的 MIME 类型,例如default_type application/octet-stream;
。sendfile
:开启或关闭sendfile
功能,例如sendfile on;
。keepalive_timeout
:设置长连接的超时时间,例如keepalive_timeout 65;
。gzip
:配置 Gzip 压缩,例如gzip on;
。
7. server
块中的参数:
listen
:指定服务器监听的端口,例如listen 80;
。server_name
:设置服务器的域名或 IP 地址,例如server_name example.com;
。location
块中的参数:root
:指定网站的根目录,例如root /var/www/html;
。index
:设置默认的索引文件,例如index index.html index.htm;
。
常用参数2:
1. access_log
:指定访问日志的路径和格式。
示例:access_log /var/log/nginx/access.log combined;
2. limit_conn
:限制并发连接数。
示例:limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_conn addr 100;
eg:
http {limit_conn_zone $binary_remote_addr zone=conn_zone:10m;server {listen 80;server_name example.com;location / {limit_conn conn_zone 10; // 每个客户端 IP 限制 10 个并发连接}}
}
3. limit_rate
:限制客户端的下载速率。
示例:limit_rate 100k;
4. proxy_pass
:在反向代理配置中,指定后端服务器的地址。
示例:proxy_pass http://backend_server;
5. proxy_set_header
:设置向后端服务器发送的请求头。
示例:proxy_set_header Host $host;
6. rewrite
:进行 URL 重写。
示例:rewrite ^/old-url$ /new-url permanent;
7. if
:根据条件执行不同的配置。
示例:if ($http_user_agent ~ MSIE) {
# 配置内容
}
8. try_files
:尝试多个文件或路径。
示例:try_files $uri $uri/ /index.html;
9. ssl_certificate
和 ssl_certificate_key
:配置 SSL 证书和私钥。
示例:ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
10. expires
:设置资源的缓存过期时间。
示例:expires 30d;
除了上述常用参数外,以下是一些可能用到的参数:
ssl_certificate
和ssl_certificate_key
:用于配置 SSL 证书和私钥的路径,以启用 HTTPS 加密。gzip_comp_level
:设置 Gzip 压缩的级别,数值越高压缩比越大,但压缩时间也越长。proxy_cache_path
:指定代理缓存的存储路径和相关设置。fastcgi_pass
:配置 FastCGI 服务器的地址,用于处理 PHP 等动态脚本。upstream
:定义上游服务器组,可实现负载均衡或反向代理到多个后端服务器。auth_basic
和auth_basic_user_file
:用于设置基本认证,限制对特定区域的访问。sub_filter
:进行文本替换,例如替换网页中的特定字符串。client_max_body_size
:限制客户端请求体的大小,防止过大的请求。ssl_protocols
:指定支持的 SSL/TLS 协议版本。ssl_ciphers
:设置加密套件,用于加密 SSL/TLS 连接。proxy_cache_path
:定义代理缓存的路径和相关设置。fastcgi_param
:传递给 FastCGI 服务器的参数。upstream
:配置上游服务器组,用于负载均衡或反向代理。auth_basic
和auth_basic_user_file
:设置基本认证的相关参数。sub_filter
:进行文本替换。client_body_buffer_size
:设置客户端请求体的缓冲区大小。client_header_buffer_size
:设置客户端请求头的缓冲区大小。lingering_time
:控制客户端连接关闭后的延迟时间。lingering_timeout
:设置延迟时间的超时值。resolver
:指定 DNS 解析器的地址。