負載均衡是我們大流量網站要做的一個東西,下面我來給大家介紹在Nginx服務器上進行負載均衡配置方法,希望對有需要的同學有所幫助哦。
負載均衡
先來簡單瞭解一下什麼是負載均衡,單從字面上的意思來理解就可以解釋N臺服務器平均分擔負載,不會因爲某臺服務器負載高宕機而某臺服務器閒置的情況。那麼負載均衡的前提就是要有多臺服務器才能實現,也就是兩臺以上即可。
測試環境:
測試域名:test.ikang.com
A服務器IP:192.168.1.39
B服務器IP:192.168.1.52
部署思路:
A服務器做主服務器,域名直接解析到A服務器(192.168.1.39)上,由A服務器負載均衡到B服務器(192.168.1.52)上.
域名解析:
在hosts文件末尾添加 test.ikang.com
安裝Nginx:
首先安裝依賴包:
yum install -y httpd-devel pcre perl pcre-devel zlib zlib-devel GeoIP GeoIP-devel openssl*
1.下載nginx安裝包
2.[root@redis opt]# tar -xvf nginx-1.4.0.tar.gz
3.[root@redis nginx-1.4.0]#./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
4.make
5.make install
nginx.conf文件配置:
vi /usr/local/nginx/conf/nginx.conf
在http段加入以下代碼:
upstream test.ikang.com {
server 192.168.1.39:8083 weight=5;
server 192.168.1.52:8083 weight=5;
}
server {
listen 80;
server_name test.ikang.com;
location / {
#root html;
#index index.html index.htm;
proxy_pass http://test.ikang.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
保存重啓nginx
測試:
打開瀏覽器訪問test.ikang.com結果,刷新會發現所有的請求均分別被主服務器(192.168.1.39)分配到B服務器(192.168.1.52)上,實現了負載均衡效果。
這時你打開瀏覽器輸入test.ikang.com可以看到39和52瀏覽器的頁面交替出現,那就證明是成功了。
最後:
一、負載均衡不是nginx獨有,著名鼎鼎的apache也有,但性能可能不如nginx。
二、多臺服務器提供服務,但域名只解析到主服務器,而真正的服務器IP不會被ping下即可獲得,增加一定安全性。
三、upstream裏的IP不一定是內網,外網IP也可以。不過經典的案例是,局域網中某臺IP暴露在外網下,域名直接解析到此IP。然後又這臺主服務器轉發到內網服務器IP中。
四、某臺服務器宕機、不會影響網站正常運行,Nginx不會把請求轉發到已宕機的IP上