插件窝 干货文章 windows安装nginx部署反向代理与负载均衡的方法

windows安装nginx部署反向代理与负载均衡的方法

Nginx server proxy 配置 619    来源:    2025-04-27

Windows 下安装 Nginx 并配置反向代理与负载均衡

一、安装 Nginx

1. 下载 Nginx

访问 Nginx 官方网站下载 Windows 版本: https://nginx.org/en/download.html

选择 nginx/Windows-x.x.x 版本(x.x.x 为最新版本号)

2. 安装步骤

  1. 解压下载的 zip 文件到指定目录(如 C:\nginx
  2. 目录结构说明:
    • conf/ - 配置文件目录
    • html/ - 默认网页文件
    • logs/ - 日志文件
    • nginx.exe - 主程序

3. 启动 Nginx

  1. 打开命令提示符(CMD)
  2. 切换到 Nginx 目录: cmd cd C:\nginx
  3. 启动 Nginx:

    start nginx
    

    或者

    nginx.exe
    
  4. 验证是否运行:

    • 访问 http://localhost
    • 如果看到 "Welcome to nginx!" 页面表示安装成功

二、配置反向代理

1. 修改配置文件

编辑 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;
        }
    }
}

2. 常用反向代理配置参数

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;
}

三、配置负载均衡

1. 基本负载均衡配置

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;
        }
    }
}

2. 负载均衡策略

  1. 轮询(默认)

    upstream backend {
       server 192.168.1.101:8080;
       server 192.168.1.102:8080;
    }
    
  2. 加权轮询

    upstream backend {
       server 192.168.1.101:8080 weight=3;
       server 192.168.1.102:8080 weight=1;
    }
    
  3. IP哈希(保持会话):

    upstream backend {
       ip_hash;
       server 192.168.1.101:8080;
       server 192.168.1.102:8080;
    }
    
  4. 最少连接

    upstream backend {
       least_conn;
       server 192.168.1.101:8080;
       server 192.168.1.102:8080;
    }
    

3. 健康检查

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;
}

四、Nginx 常用命令

  1. 启动:

    start nginx
    
  2. 快速停止:

    nginx -s stop
    
  3. 优雅停止(处理完当前请求):

    nginx -s quit
    
  4. 重新加载配置:

    nginx -s reload
    
  5. 重新打开日志文件:

    nginx -s reopen
    
  6. 测试配置文件:

    nginx -t
    

五、常见问题解决

  1. 端口冲突

    • 检查是否有其他程序占用了 80 端口
    • 使用 netstat -ano | findstr :80 查看端口占用情况
  2. 配置文件错误

    • 使用 nginx -t 测试配置文件
    • 检查日志文件 logs/error.log
  3. 权限问题

    • 确保有权限访问 Nginx 目录
    • 以管理员身份运行 CMD
  4. 负载不均衡

    • 检查后端服务器是否正常
    • 调整负载均衡策略和权重

六、高级配置建议

  1. 启用 Gzip 压缩

    gzip on;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
    
  2. 静态文件缓存

    location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
       expires 30d;
       add_header Cache-Control "public, no-transform";
    }
    
  3. 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 实现反向代理和负载均衡功能。