最近正在研究Nginx,Nginx作為反向 Proxy伺服器,可以對Web伺服器提供加速,並且具有負載平衡的功能。
首先我要在官網下載Nginx(http://nginx.org/en/download.html),目前最新穩定的版本為1.0版本,Linux和Windows版本我都下下來了,在兩台伺服器上做網站負載平衡。
在Windows版本中,將壓縮包進行解壓,執行命令:
這樣就可以啟動nginx服務了。而執行命令:
可以停止服務。
這是我在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;
}
|
然後儲存檔案即可。
接著在運行一次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;
}
|
weight即為對應網站的權重。
在Linux中,安裝Nginx比較麻煩一些,因為需附加安裝一些包,如gzip,pcre等等。具體可以查看:http://www.cnblogs.com/yuanermen/archive/2011/03/31/2000993.html
可以在Linux上部署你的網站,比如網站3,如果你要把Windows伺服器作為反向 Proxy伺服器,那麼在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對反向 Proxy伺服器上對靜態檔案(如JPG,GIF,CSS,JS等等)進行緩衝,這樣當你需要從Web伺服器去請求靜態資源的時候,可以直接從反向 Proxy伺服器上取得本地的一個資源,這樣減少了對Web伺服器的壓力。具體可以查看:http://www.cnblogs.com/daizhj/archive/2009/11/03/1595292.html
轉自:http://www.cnblogs.com/liping13599168/archive/2011/04/15/2017369.html
以上就介紹了 利用Nginx做負載平衡,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。