nginx + tomcat 叢集配置詳解, 實現負載均衡 URLRewrite Session複製

atlantisholic發表於2011-05-30

1. 下載最新nginx, pcre
http://www.nginx.com.cn/download/nginx-0.8.20.tar.gz
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.02.tar.gz 

2. 安裝nginx, pcre到伺服器192.168.1.57
tar zxvf pcre-8.02
cd pcre-8.02
./configure
make
make install

tar zxvf nginx-0.8.20
cd nginx-0.8.20
./configure  --with-pcre=../pcre-8.02
make
make install

nginx預設安裝路徑為: /usr/local/nginx

3. 啟動ngnix
cd /usr/local/nginx/sbin
./nginx
關閉命令: ./nginx -s stop
檢視是否成功安裝: http://192.168.1.57 將看到文字
Welcome to nginx!

4. 在伺服器192.168.1.57啟動2個tomcat server
server1埠採用tomcat預設埠
server2埠更改: 編輯%TOMCAT_HOME%/conf/server.xml
改shutdown埠8005為8006:
改Connector埠8080為8090: 啟動tomcat

5. 配置負載均衡
編輯 /usr/local/nginx/conf/nginx.conf
在server前新增:
upstream  backend

      server   192.168.1.57:8080 weight=1;
      server   192.168.1.57:8090 weight=1;
}
#說明: 群組backend有2臺server, 分別對應2個tomcat, 權重都為1表示每臺server負載相同. weight越大權重越大
修改server配置節
server {
        listen       80;
        server_name  192.168.1.57;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            root   html;
            index  index.html index.htm;

           #保留使用者真實資訊
           proxy_set_header       Host $host;
           proxy_set_header  X-Real-IP  $remote_addr;
           proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
           if (!-f $request_filename) {
                 rewrite ^/([a-zA-Z0-9]+).html   /$1.jsp last;
                 proxy_pass http://backend;
                 break;
           }
       }

#說明proxy_pass http://backend;中的backend為upstream的名字
#配置了urlwrite規則: 如果訪問http://192.168.1.57/xx.html 轉發到tomcat變為 xx.jsp

6. 配置tomcat session複製
編輯tomcat的server.xml
server1找到Engine新增jvmRoute="jvm1":
server2找到Engine新增jvmRoute="jvm2":
server1, server2均去掉Cluster的註釋:

7. 修改應用程式的web.xml檔案
 新增到之前就可以了
 重啟server1, server2, nginx

 配置完成,實現了session複製, 負載均衡, 簡單urlrewrite

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23071790/viewspace-696640/,如需轉載,請註明出處,否則將追究法律責任。

相關文章