Nginx + Tomcat Windows下的負載均衡配置

1、爲何須要對Tomcat服務器作負載均衡?
    Tomcat服務器做爲一個Web服務器,其併發數在300-500之間,若是超過500的併發數會出現Tomcat不能響應新的請求的狀況,嚴重影響網站的運行。同時若是訪問量很是大的狀況下,Tomcat的線程數會不斷增長。所以會佔據大量內存,嚴重時出現內存溢出的現象,這時須要重啓Tomcat以釋放內存,阻斷了網站的運行。
    因此對Tomcat作負載均衡便頗有必要。目前能夠和Tomcat作負載均衡的主流服務器是Apache,可是Nginx因爲功能多、配置簡單等優勢成爲不少負載均衡服務器的首選。Nginx的併發數可達到50000,因此理論上能夠和Tomcat以1:100的比例來配置,這邊能夠很好的解決網站併發瓶頸問題。 php

2、Nginx+Tomca在Windows下負載均衡的配置:
    先秀一下個人環境: Nginx1.3.11 + Tomcat 6.0(2個)、Win 7。
    下面是配置過程:
    一、將nginx-1.3.11.rar直接解壓到D:盤。
    二、將apache-tomcat-6.0.26.rar解壓到D:盤,既然是作負載均衡將tomcat拷貝兩份,分別命名tomcat_一、tomcat_2。
    三、將要發佈的項目部署分別部署到兩個Tomcat根目錄下的webapps下,保證兩個Tomcat下的項目名相同。
    四、修改tomcat_2的配置文件,該配置文件位於/conf下,文件名爲server.xml, 修改其中的<Server port="8005" shutdown="SHUTDOWN">            爲<Server port="8006" shutdown="SHUTDOWN">,修改其中的 html

<Connector port="8080 protocol="HTTP/1.1" 
          connectionTimeout="20000"
          redirectPort="8443"/>
        爲
<Connector port="8088 protocol="HTTP/1.1" 
        connectionTimeout="20000"
        redirectPort="8443"/>


<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
(ajp是一個協議,tomcat能夠用來服務器集羣,也能夠在csdn找到更詳細的ajp資料)爲
<Connector port="7009" protocol="AJP/1.3" redirectPort="8443" />


五、修改Nginx配置文件nginx.conf,該文件位於Nginx根目錄下的/conf目錄下
    a、在#gzip on;後面加入下面配置: nginx

upstream localhost {
    server localhost:8080 weight=5;
    server localhost:8080 weight=5;
    ip_hash;
}

    其中server localhost:8080爲tomcat_1的啓動地址, server localhsot:8088爲tomcat_2的啓動地址,ip_hash用於作session同步。
    b、修改
location / { 
        root html; 
        index index.html index.htm; 
    }
    改成:
location / { 
            root   html; 
            index  index.html index.htm; 
            proxy_pass   http://localhost; 
            proxy_redirect    off; 
            proxy_set_header   Host $host; 
            proxy_set_header   X-Real-IP $remote_addr; 
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;  
            client_max_body_size   10m; 
            client_body_buffer_size   128k; 
            proxy_connect_timeout   90; 
            proxy_send_timeout   90; 
            proxy_read_timeout   90; 
            proxy_buffer_size   4k; 
            proxy_buffers   4 32k; 
            proxy_busy_buffers_size   64k; 
            proxy_temp_file_write_size  64k;         
        }
         其中proxy_pass參數和upstream localhost{}對應。

        通過上面這些步驟,負載均衡配置完成,下面分別啓動tomcat_一、tomcat_2,而後雙擊nginx根目錄下nginx.exe文件或者使用start nginx啓動(關閉是: nginx -s stop),打開瀏覽器,輸入地址: http://localhost即可看到tomcat的首頁了。 web

瞭解更多關於Nginx的配置: http://www.howtocn.org/doku.php apache

相關文章
相關標籤/搜索