在Ubuntu上配置Nginx作為負載均衡器是一個相對簡單的過程。以下是一個基本的步驟指南,幫助你在Ubuntu上設置Nginx負載均衡。
首先,確保你的系統是最新的,然后安裝Nginx:
sudo apt update
sudo apt install nginx
編輯Nginx的默認配置文件或創建一個新的配置文件。通常,配置文件位于 /etc/nginx/nginx.conf 或 /etc/nginx/sites-available/ 目錄下。
打開默認配置文件:
sudo nano /etc/nginx/nginx.conf
在 http 塊中添加負載均衡配置:
http {
    upstream backend {
        server backend1.example.com;
        server backend2.example.com;
        server backend3.example.com;
    }
    server {
        listen 80;
        location / {
            proxy_pass http://backend;
            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 X-Forwarded-Proto $scheme;
        }
    }
}
在 /etc/nginx/sites-available/ 目錄下創建一個新的配置文件,例如 load_balancer.conf:
sudo nano /etc/nginx/sites-available/load_balancer.conf
添加以下內容:
server {
    listen 80;
    upstream backend {
        server backend1.example.com;
        server backend2.example.com;
        server backend3.example.com;
    }
    location / {
        proxy_pass http://backend;
        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 X-Forwarded-Proto $scheme;
    }
}
啟用新的配置文件:
sudo ln -s /etc/nginx/sites-available/load_balancer.conf /etc/nginx/sites-enabled/
在重新加載Nginx之前,測試配置文件是否有語法錯誤:
sudo nginx -t
如果沒有錯誤,重新加載Nginx以應用更改:
sudo systemctl reload nginx
打開瀏覽器并訪問你的Nginx服務器的IP地址或域名。你應該能夠看到請求被分發到不同的后端服務器。
如果你需要添加更多的后端服務器,只需在 upstream 塊中添加更多的 server 行即可。
Nginx支持多種負載均衡算法,例如輪詢(默認)、最少連接、IP哈希等。你可以在 upstream 塊中指定算法:
upstream backend {
    least_conn;
    server backend1.example.com;
    server backend2.example.com;
    server backend3.example.com;
}
如果你需要啟用HTTPS,可以使用Let’s Encrypt免費證書,并配置Nginx以使用這些證書。
安裝Certbot:
sudo apt install certbot python3-certbot-nginx
運行Certbot以獲取并安裝證書:
sudo certbot --nginx -d yourdomain.com
按照提示完成證書的安裝和配置。
通過以上步驟,你應該能夠在Ubuntu上成功配置Nginx作為負載均衡器。