nginx 負載均衡的配置

bb225 9年前發布 | 18K 次閱讀 Nginx Web服務器
服務器集群是我們那種大型百萬級IP運維人員會操作的,今天小的也來給大家過一把nginx負載均衡配置集群方法,網上找了幾篇文章,發現也不難呀。

nginx負載均衡一,

1. 安裝時不要安裝在源代碼同一個目錄下,make時會報錯的。

 代碼如下 復制代碼

./configure --prefix=/opt/nginx
make && make install

2. 修改配置文件/opt/nginx/conf/nginx.conf
在server元素前增加:(假設兩個tomcat的端口都是8080)

 代碼如下 復制代碼

upstream www.111cn.net   { 
server   192.168.1.13:8080; 
server   192.168.1.14:8080; 
    }

將server元素下的server_name改為實際域名,例如:

 代碼如下 復制代碼
server_name  www.111cn.net

在location元素下面增加一行:

 代碼如下 復制代碼
proxy_pass www.111cn.net

3. 啟動停止命令

啟動:/opt/nginx/sbin/nginx
快速停止:/opt/nginx/sbin/nginx -s stop
完整有序停止:/opt/nginx/sbin/nginx -s quit
重新加載:/opt/nginx/sbin/nginx -s reload


nginx負載均衡二,

假設我們有3臺服務器,IP地址分別為:
192.168.0.1 / 192.168.0.2 / 192.168.0.3

我們將192.168.0.1作為前端主服務器,192.168.0.2和192.168.0.3作為負載均衡的后端服務器。

下面是192.168.0.1主服務器上Nginx的配置方法:

 代碼如下 復制代碼

worker_processes 1;

events {
worker_connections 1024;
}

http {
upstream serverlist {
server 192.168.0.2:8000 weight=3 max_fails=3 fail_timeout=20s;
server 192.168.0.3:8000 weight=7 max_fails=3 fail_timeout=20s;
}

server {
listen 80;
server_name www.111cn.net;
location / {
proxy_pass         http://serverlist;
proxy_set_header   HOST             $host;
proxy_set_header   X-Real-IP        $remote_addr;
proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
}
}
}

配置說明:

upstream serverlist{}可以理解為一個服務器池,通過proxy_pass http://serverlist命令,可將訪問www.111cn.net的請求分配給位于池內的服務器192.168.0.2和192.168.0.3。
weight=3和weight=7為服務器的權重,權重越高,被分配到的請求就越多。
max_fails=3和fail_timeout=20s的含義是,當請求失敗次數達到3次時,這個服務器將被暫時下線20秒。

技巧:主服務器可負責靜態內容,將所有php的請求分配到后端服務器處理。

 本文由用戶 bb225 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!