Nginx 是一款高性能的 Web 服务器软件,同时也是一款反向代理服务器软件。Nginx 的配置文件通常是 /etc/nginx/nginx.conf,以下是一个典型的配置文件,并对其中的关键字进行详细解释。
1、配置文件
perlCopy codeuser nginx; # 运行 Nginx 的用户
worker_processes 1; # 工作进程的数量
error_log /var/log/nginx/error.log warn; # 错误日志路径和级别
pid /var/run/nginx.pid; # 进程 ID 文件路径
events {
worker_connections 1024; # 每个 worker 进程的最大并发连接数
}
http {
include /etc/nginx/mime.types; # MIME 类型配置文件
default_type application/octet-stream; # 默认 MIME 类型
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 NOPUSH 模式
#keepalive_timeout 0; # HTTP keep-alive 连接超时时间
server {
listen 80; # 监听端口
server_name example.com; # 域名或 IP 地址
charset utf-8; # 字符编码
location / {
root /usr/share/nginx/html; # 静态文件根目录
index index.html index.htm; # 默认首页文件
}
error_page 500 502 503 504 /50x.html; # 错误页面
location = /50x.html {
root /usr/share/nginx/html;
}
location /api/ {
proxy_pass http://127.0.0.1:8000/; # 反向代理到后端应用服务器
}
# HTTPS 配置
# listen 443 ssl;
# server_name example.com;
# ssl_certificate /path/to/cert;
# ssl_certificate_key /path/to/key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
}
}