Nginx 中配置多台服务节点

450 阅读1分钟

要在 Nginx 中配置多台服务节点,你可以使用负载均衡器来分发流量到多个节点上。以下是一般的步骤:

vim /etc/nginx/nginx.conf

1. 配置负载均衡器

在 Nginx 配置中,你可以使用 upstream 块来定义后端服务器节点。在这个块中,你可以列出多个服务器节点,并指定负载均衡的策略。以下是一个示例:

upstream backend {
    server 192.168.1.101;
    server 192.168.1.102;
    server 192.168.1.103;
}

server {
    ...
}

2. 配置反向代理

在 Nginx 的 server 块中,你可以配置反向代理,将请求转发到定义的负载均衡器。以下是一个示例配置:

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://backend;
        proxy_http_version 1.1;
        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_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
    }
}

3. 配置负载均衡策略

upstream 块中,你可以选择不同的负载均衡策略。以下是一些常用的负载均衡策略:

  • round-robin:默认策略,按顺序轮询服务器节点。
  • least_conn:将请求发送到当前连接数最少的服务器节点。
  • ip_hash:根据客户端 IP 地址的哈希值,将同一客户端的请求发送到同一台服务器节点。

你可以根据实际需求选择适合的负载均衡策略。

4. 配置 SSL(可选)

如果需要在 Nginx 上配置 SSL/TLS 加密连接,可以在 server 块中添加 SSL 配置。例如:

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate /path/to/ssl/certificate.crt;
    ssl_certificate_key /path/to/ssl/privatekey.key;

    ...
}

5. 重新加载 Nginx 配置

完成配置后,重新加载 Nginx 以使配置生效:

sudo systemctl reload nginx

现在,Nginx 已经配置了多台服务节点,并且可以通过负载均衡器来分发流量到这些节点上。