天天看點

nginx負載均衡簡單配置

nginx負載均衡簡單配置

準備三台虛拟機來做這個實驗:

172.16.100.6        web伺服器

172.16.100.7        web伺服器

172.16.100.106    負載均衡伺服器

向web伺服器中放入測試檔案:

<code>&lt;</code><code>html</code><code>&gt;    </code>

<code>&lt;</code><code>head</code><code>&gt;    </code>

<code>&lt;</code><code>title</code><code>&gt;Welcome to nginx!&lt;/</code><code>title</code><code>&gt;    </code>

<code>&lt;/</code><code>head</code><code>&gt;    </code>

<code>&lt;</code><code>body</code> <code>bgcolor</code><code>=</code><code>"white"</code> <code>text</code><code>=</code><code>"black"</code><code>&gt;    </code>

<code>&lt;</code><code>center</code><code>&gt;&lt;</code><code>h1</code><code>&gt;Welcome to nginx! 172.16.100.6&lt;/</code><code>h1</code><code>&gt;&lt;/</code><code>center</code><code>&gt;    </code>

<code>&lt;/</code><code>body</code><code>&gt;    </code>

<code>&lt;/</code><code>html</code><code>&gt;</code>

<code>vi</code> <code>/usr/local/nginx/conf/nginx</code><code>.conf</code>

<code>user nginx nginx;worker_processes  1;</code>

<code>events {</code>

<code>    </code><code>worker_connections  1024;</code>

<code>}</code>

<code>http {</code>

<code>    </code><code>include       mime.types;</code>

<code>    </code><code>default_type  application</code><code>/octet-stream</code><code>;    </code>

<code>    </code><code>sendfile       on;</code>

<code>    </code><code>keepalive_timeout  65;</code>

<code>    </code><code>upstream webservs {</code>

<code>        </code><code>server 172.16.100.6 weight=1;</code>

<code>        </code><code>server 172.16.100.7 weight=1;</code>

<code>    </code><code>}</code>

<code>    </code> 

<code>    </code><code>server {</code>

<code>        </code><code>listen     8083;</code>

<code>        </code><code>server_name  localhost;</code>

<code>        </code><code>index index.html index.htm index.php; </code>

<code>         </code><code>location / {</code>

<code>             </code><code>proxy_pass webservs;</code>

<code>           </code><code>proxy_set_header X-Real-IP $remote_addr;</code>

<code>        </code><code>}</code>

<code>                </code> 

<code>         </code><code>error_page   500 502 503 504  </code><code>/50x</code><code>.html;</code>

<code>        </code><code>location = </code><code>/50x</code><code>.html {</code>

<code>            </code><code>root   html;</code>

要在server之外定義upstream ,upstream可以定義多個名稱,但每一個upstream都要有自己獨立的名稱

upstream裡有很多的子指定,其中server用來定義每一個後端伺服器;每一個後端還可以傳遞很多參數,weight權重,沒有權重為0,不做負載均衡的,權重一樣就輪調,權重不一樣實作權重輪調,還可以實作端口映射;定義server時隻能定義名稱或是IP位址,不能使用協定http。

<code>upstream backend {</code>

<code>    </code><code>server backend1.example.com weight=5;</code>

<code>    </code><code>server backend2.example.com:8080;</code>

<code>    </code><code>server unik:/tmp/backend3;</code>

<code>server{</code>

<code>    </code><code>location / {</code>

<code>        </code><code>proxy_pass http://backend;    //反向代理不是某些主機,而是upstream定義的名稱,,由upstream來實作負載均衡功能</code>

      本文轉自ling118 51CTO部落格,原文連結:http://blog.51cto.com/meiling/1896267,如需轉載請自行聯系原作者

繼續閱讀