访问 Nginx 官方网站下载 Windows 版本: https://nginx.org/en/download.html
选择 nginx/Windows-x.x.x
版本(x.x.x 为最新版本号)
C:\nginx
)conf/
- 配置文件目录html/
- 默认网页文件logs/
- 日志文件nginx.exe
- 主程序cmd
cd C:\nginx
启动 Nginx:
start nginx
或者
nginx.exe
验证是否运行:
http://localhost
编辑 conf/nginx.conf
文件:
http {
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://your_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;
}
}
}
location /api/ {
proxy_pass http://backend/api/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 60s;
proxy_read_timeout 60s;
proxy_send_timeout 60s;
}
http {
upstream backend {
server 192.168.1.101:8080; # 服务器1
server 192.168.1.102:8080; # 服务器2
server 192.168.1.103:8080; # 服务器3
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://backend;
proxy_set_header Host $host;
}
}
}
轮询(默认):
upstream backend {
server 192.168.1.101:8080;
server 192.168.1.102:8080;
}
加权轮询:
upstream backend {
server 192.168.1.101:8080 weight=3;
server 192.168.1.102:8080 weight=1;
}
IP哈希(保持会话):
upstream backend {
ip_hash;
server 192.168.1.101:8080;
server 192.168.1.102:8080;
}
最少连接:
upstream backend {
least_conn;
server 192.168.1.101:8080;
server 192.168.1.102:8080;
}
upstream backend {
server 192.168.1.101:8080 max_fails=3 fail_timeout=30s;
server 192.168.1.102:8080 max_fails=3 fail_timeout=30s;
}
启动:
start nginx
快速停止:
nginx -s stop
优雅停止(处理完当前请求):
nginx -s quit
重新加载配置:
nginx -s reload
重新打开日志文件:
nginx -s reopen
测试配置文件:
nginx -t
端口冲突:
netstat -ano | findstr :80
查看端口占用情况配置文件错误:
nginx -t
测试配置文件logs/error.log
权限问题:
负载不均衡:
启用 Gzip 压缩:
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
静态文件缓存:
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 30d;
add_header Cache-Control "public, no-transform";
}
SSL 配置(HTTPS):
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate cert.pem;
ssl_certificate_key cert.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://backend;
}
}
通过以上步骤,您可以在 Windows 系统上成功安装并配置 Nginx 实现反向代理和负载均衡功能。