NGINX配置文件详解
·
目录层级
/etc/nginx/
│
├── nginx.conf
├── conf.d/
│ ├── web1_server
│ └── web2_server
└── ssl/
├── web1.example.com.crt
├── web1.example.com.key
├── web2.example.com.crt
└── web2.example.com.key
每个网站的单独server文件
/etc/nginx/conf.d/web2_server
# HTTP server block to redirect HTTP to HTTPS
# HTTP 服务器块,将 HTTP 请求重定向到 HTTPS
server {
listen 80; # 监听80端口
server_name web2.example.com; # 设置服务器名为 web2.example.com,请替换为你的实际域名
location / {
return 301 https://$host$request_uri; # 将所有HTTP请求重定向到HTTPS
}
}
# HTTPS server block with SSL configuration
# HTTPS 服务器块,配置SSL证书
server {
listen 443 ssl; # 监听443端口,并启用SSL
server_name web2.example.com; # 设置服务器名为 web2.example.com,请替换为你的实际域名
ssl_certificate /etc/nginx/ssl/web2.example.com.crt; # SSL证书路径,请替换为你的实际证书路径
ssl_certificate_key /etc/nginx/ssl/web2.example.com.key; # SSL证书私钥路径,请替换为你的实际私钥路径
ssl_protocols TLSv1.2 TLSv1.3; # 支持的SSL协议版本
ssl_ciphers HIGH:!aNULL:!MD5; # SSL密码套件
location / {
proxy_pass http://backend2; # 将请求代理到后端服务器
proxy_set_header Host $host; # 设置代理请求的Host头信息
proxy_set_header X-Real-IP $remote_addr; # 设置代理请求的真实IP地址
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 设置代理请求的原始客户端IP地址链
proxy_set_header X-Forwarded-Proto $scheme; # 设置代理请求的协议(HTTP或HTTPS)
}
error_page 404 /404.html; # 定义404错误页面
location = /404.html { # 404错误页面的位置
}
error_page 500 502 503 504 /50x.html; # 定义500系列错误页面
location = /50x.html { # 500系列错误页面的位置
}
}
upstream backend2 {
server 127.0.0.1:8082; # 后端服务器地址和端口,请替换为你的实际后端服务器地址和端口
}
NGINX配置文件
user nginx; # Nginx 运行的用户
worker_processes auto; # 根据 CPU 核心数自动设置工作进程数量
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024; # 每个工作进程的最大连接数
}
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" '
'"$host" "$upstream_addr"'; # 主日志格式,包含请求头和上游服务器信息
access_log /var/log/nginx/access.log main; # 访问日志文件路径及使用的日志格式
sendfile on; # 开启文件传输
tcp_nopush on; # 禁用TCP的推送功能
tcp_nodelay on; # 禁用TCP的延迟确认
keepalive_timeout 65; # 保持连接的超时时间
types_hash_max_size 2048; # MIME 类型散列表的大小限制
include /etc/nginx/conf.d/*; # 包含 /etc/nginx/conf.d/ 目录下的所有文件
}
更多推荐
已为社区贡献4条内容
所有评论(0)