在Ubuntu LNMP(Linux, Nginx, MySQL, PHP)環境中配置Nginx負載均衡,可以通過以下步驟實現:
首先,確保你已經安裝了Nginx。如果沒有安裝,可以使用以下命令進行安裝:
sudo apt update
sudo apt install nginx
編輯Nginx的配置文件,通常位于/etc/nginx/nginx.conf
或/etc/nginx/sites-available/default
。你可以創建一個新的配置文件或修改現有的配置文件。
假設你有兩個后端服務器,分別運行在192.168.1.101:80
和192.168.1.102:80
上。
http {
upstream backend {
server 192.168.1.101:80;
server 192.168.1.102:80;
}
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;
}
}
}
如果你創建了一個新的配置文件,需要將其鏈接到sites-enabled
目錄并重啟Nginx:
sudo ln -s /etc/nginx/sites-available/your-config-file /etc/nginx/sites-enabled/
sudo nginx -t # 檢查配置文件是否有語法錯誤
sudo systemctl restart nginx # 重啟Nginx服務
你可以通過訪問你的服務器IP地址或域名來驗證負載均衡是否生效。Nginx會將請求分發到后端服務器中的一個。
Nginx提供了多種負載均衡算法,包括輪詢(默認)、加權輪詢、IP哈希等。你可以在upstream
塊中配置這些算法。
upstream backend {
server 192.168.1.101:80 weight=3;
server 192.168.1.102:80 weight=2;
}
upstream backend {
ip_hash;
server 192.168.1.101:80;
server 192.168.1.102:80;
}
Nginx Plus(商業版本)支持主動健康檢查,而開源版本Nginx可以通過第三方模塊實現。你可以使用ngx_http_upstream_module
的health_check
指令來實現基本的健康檢查。
通過以上步驟,你可以在Ubuntu LNMP環境中配置Nginx負載均衡。根據你的需求,可以選擇不同的負載均衡算法和健康檢查機制,以確保系統的高可用性和性能。