原文地址:利用Nginx做負載均衡
最近正在研究Nginx,Nginx作爲反向代理服務器,可以對Web服務器提供加速,並且具有負載均衡的功能。
首先我要在官網下載Nginx(http://nginx.org/en/download.html),目前最新穩定的版本爲1.0版本,Linux和Windows版本我都下下來了,在兩臺服務器上做網站負載均衡。
在Windows版本中,將壓縮包進行解壓,執行命令:
1
|
start
nginx |
這樣就可以啓動nginx服務了。而執行命令:
1
|
nginx
-s stop |
可以停止服務。
這是我在192.168.3.82的IIS服務器上,添加兩個站點:
這兩個站點分別添加兩個文件index.html,兩個文件內容分別顯示:“這是站點1”,“這是站點2”。
在nginx.conf的配置文件調整相關配置:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
upstream
site { server
192.168.3.82:8040; server
192.168.3.82:8041; } server
{ listen
8080; server_name
192.168.3.82; #charset
koi8-r; #access_log
logs/host.access.log main; location
/ { root
html; index
index.html index.htm; proxy_pass
http: //site ; } |
1
|
|
然後保存文件即可。
接着在運行一次start nginx,當你不斷刷新頁面的時候,瀏覽器上就會來回切換這兩個站點。
可以發現這裏切換是按照1:1的方式來回切換,通過配置文件你可以站點的權重:
1
2
3
4
|
upstream
site { server
192.168.3.82:8040 weight=2; server
192.168.3.82:8041 weight=1; } |
在Linux中,安裝Nginx比較麻煩一些,因爲需附加安裝一些包,如gzip,pcre等等。具體可以查看:http://www.cnblogs.com/yuanermen/archive/2011/03/31/2000993.html
可以在Linux上部署你的站點,比如站點3,如果你要把Windows服務器作爲反向代理服務器,那麼在upstream site添加一個新的站點:
1
2
3
4
5
|
upstream
site { server
192.168.3.82:8040 weight=2; server
192.168.3.82:8041 weight=1; server
192.168.3.90:8080; } |
你還可以利用Nginx對反向代理服務器上對靜態文件(如JPG,GIF,CSS,JS等等)進行緩存,這樣當你需要從Web服務器去請求靜態資源的時候,可以直接從反向代理服務器上取得本地的一個資源,這樣減少了對Web服務器的壓力。具體可以查看:http://www.cnblogs.com/daizhj/archive/2009/11/03/1595292.html