# 全局配置
user nginx;
worker_processes 4; # 启动的 worker 进程数量
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
# 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; # 启用 sendfile
tcp_nopush on; # 启用 TCP_NOPUSH
tcp_nodelay on; # 启用 TCP_NODELAY
keepalive_timeout 65; # 连接超时时间
include /etc/nginx/conf.d/*.conf; # 引入额外的配置文件
server {
# 虚拟主机配置
listen 80; # 监听端口
server_name example.com www.example.com; # 域名配置
location / {
root /usr/share/nginx/html; # 静态文件根目录
index index.html; # 默认索引文件
}
error_page 404 /404.html; # 错误页面配置
location = /404.html {
root /usr/share/nginx/html;
}
# 反向代理配置
location /app/ {
proxy_pass http://backend-server;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}
这个例子涵盖了一些常见的 Nginx 配置项和概念。以下是一些配置的简要解释:
- user: 设置 Nginx 进程的运行用户。
- worker_processes: 设置启动的 worker 进程数量。
- error_log: 指定错误日志文件路径。
- pid: 指定 Nginx 主进程的 PID 文件路径。
- events: 定义了 Nginx 的事件处理配置,包括 worker_connections 等。
- http: 定义了 HTTP 服务器的配置,包括 MIME 类型、日志格式、静态文件处理等。
- include: 引入其他配置文件。
- server: 定义一个虚拟主机,包括监听的端口、域名配置、静态文件根目录、反向代理配置等。
- location: 定义了不同 URI 路径的处理规则,可以用于静态文件服务、反向代理等。
- proxy_pass: 用于配置反向代理的目标地址。
这只是一个简单的例子,实际的配置会根据具体需求和应用场景而有所不同。配置文件的语法相对清晰,可以根据需要添加或修改配置项。在修改配置后,可以通过 nginx -s reload 命令重载 Nginx 配置,使配置生效,而无需停止 Nginx 服务器。
转载请注明出处:http://www.zyzy.cn/article/detail/10160/Nginx