在CentOS上實現Node.js應用的負載均衡,通常會使用Nginx作為反向代理服務器。以下是實現負載均衡的基本步驟:
安裝Nginx: 在CentOS上安裝Nginx,可以使用yum包管理器來安裝。
sudo yum install epel-release
sudo yum install nginx
啟動Nginx服務: 安裝完成后,啟動Nginx服務并設置開機自啟動。
sudo systemctl start nginx
sudo systemctl enable nginx
配置Nginx:
編輯Nginx的配置文件,通常位于/etc/nginx/nginx.conf
或/etc/nginx/conf.d/default.conf
。在server
塊中添加location
塊來定義負載均衡規則。
http {
upstream myapp {
server 192.168.1.1:3000; # Node.js應用服務器1
server 192.168.1.2:3000; # Node.js應用服務器2
# 可以添加更多服務器
}
server {
listen 80;
location / {
proxy_pass http://myapp;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
}
在上面的配置中,upstream
模塊定義了一個名為myapp
的服務器組,其中包含了兩個Node.js應用服務器的地址和端口。location
塊中的proxy_pass
指令將所有傳入的請求轉發到myapp
服務器組。
調整防火墻設置: 如果你的CentOS服務器啟用了防火墻,確保開放了HTTP(80)和HTTPS(443)端口。
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
重啟Nginx服務: 保存配置文件后,重啟Nginx服務以應用更改。
sudo systemctl restart nginx
測試負載均衡:
打開瀏覽器或使用命令行工具(如curl
)訪問你的服務器IP地址或域名,Nginx應該會將請求分發到不同的Node.js應用服務器上。
請注意,這只是一個基本的負載均衡配置示例。Nginx提供了多種負載均衡算法(如輪詢、最少連接、IP哈希等),你可以根據需要進行配置。此外,對于生產環境,你可能還需要考慮使用HTTPS、會話保持、健康檢查等高級功能。