首頁  >  文章  >  後端開發  >  利用Nginx做負載平衡

利用Nginx做負載平衡

WBOY
WBOY原創
2016-07-28 08:28:341028瀏覽

 最近正在研究Nginx,Nginx作為反向代理伺服器,可以對Web伺服器提供加速,並且具有負載平衡的功能。

     首先我要在官網下載Nginx(http://nginx.org/en/download.html),目前最新穩定的版本為1.0版本,Linux和Windows版本我都下下來了,在兩台伺服器上做網站負載平衡。

在Windows版本中,將壓縮包進行解壓縮,執行指令:

1

start nginx

1
start nginx

1

nginx -s stop

這樣就可以啟動nginx服務了。而執行指令:

1

nginx -s stop

利用Nginx做負載平衡

可以停止服務。

這是我在192.168.3.82的IIS伺服器上,新增兩個網站:

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;

}

這兩個網站分別加入兩個檔案index.html ,兩個文件內容分別顯示:“這是站點1”,“這是站點2”。

1

  

在nginx.conf的設定檔調整相關設定: tr>

1

2

3利用Nginx做負載平衡

4

利用Nginx做負載平衡5

6

5

1

2

3

4

upstream  site { 

<code>     server   192.168.3.82:8040 weight=2;

<code>     server   192.168.3.82:8041 weight=1;

}

676

7

6

7

1

2

3

4

5

upstream  site { 

<code>     server   192.168.3.82:8040 weight=2;

<code>     server   192.168.3.82:8041 weight=1;

<code>     server   192.168.3.90:8080;

}

67

67

8

910

11

12

1312131415161718upstream 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的方式來回切換,透過設定檔你可以網站的權重:
1234 upstream  site { <code>     server   192.168.3.82:8040 weight=2;<code>     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伺服器作為反向代理伺服器,那麼在upstream site新增一個新的網站:
12345 5 <code>     server   192.168.3.82:8040 weight=2;<code>     server   192.168.3.82:8041 weight=1;<code>     server   192.168.3.90:8080;}
你還可以利用Nginx對反向代理伺服器上對靜態檔案(如JPG,GIF,CSS,JS等等)進行緩存,這樣當你需要從Web伺服器去請求靜態資源的時候,可以直接從反向代理伺服器取得本地的一個資源,這樣減少了對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教程有興趣的朋友有所幫助。
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn