java要多思考下

          成長^_^

             ::  :: 新隨筆 ::  ::  :: 管理 ::
            33 隨筆 :: 0 文章 :: 19 評論 :: 0 Trackbacks
          當(dāng)單臺應(yīng)用已經(jīng)無法應(yīng)對日漸增長的訪問量時,我們往往會采用分布式部署,這里簡單介紹下單臺nginx結(jié)合多臺tomcat進行單應(yīng)用部署的步驟:
          1、使用upstream,在nginx的nginx.conf文件中的加入如下配置:
          http {
          #.....這里省略其他配置
          upstream  abc.test.com  {
          server   192.168.0.1:8081 weight=1 max_fails=2 fail_timeout=30s;
          server   192.168.0.1:8082 weight=1 max_fails=2 fail_timeout=30s;
          server   192.168.0.2:8081 weight=1 max_fails=2 fail_timeout=30s;
          server   192.168.0.2:8082 weight=1 max_fails=2 fail_timeout=30s;
          }    
          #.....這里省略其他配置
          }
          2、增加一個server,對應(yīng)被訪問的應(yīng)用域名,如www.test.com
          server{
                          listen 80;
                          server_name www.test.com;
                          charset utf-8;
                          location / {
                                  proxy_pass http://abc.test.com;                      
                          }
                  }  
          3、在192.168.0.1和192.168.0.2兩臺服務(wù)器上各安裝2個tomcat,端口分別為8081,8082
          4、重啟Nginx,配置生效 nginx -s reload
          5、如上配置后,整個系統(tǒng)可以正常運行,但是我們的程序中往往會有獲取用戶真實ip的需求,但基于以上配置只能獲取到內(nèi)網(wǎng)地址192.168.0.1和192.168.0.2
          要獲取真實ip地址,需要將第二步的配置改為:
          server{
          listen 80;
          server_name www.test.com;
          charset utf-8;
          location / {
          proxy_pass http://abc.test.com;    
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          }
          同時在java應(yīng)用中這樣獲取:request.getHeader("x-forwarded-for");
          6、這時,如果在系統(tǒng)中調(diào)用request.getServerName(),返回的也是內(nèi)網(wǎng)ip,而不是www.test.com,需要增加如下配置
          proxy_set_header Host $host;
          注:當(dāng)nginx和tomcat在一臺服務(wù)器上的話,這里是可以正確返回的。

          技術(shù)文章收藏站點


          posted on 2013-04-25 11:21 java要多思考下 閱讀(2310) 評論(2)  編輯  收藏 所屬分類: 系統(tǒng)運維

          評論

          # re: 【原】nginx均衡多tomcat環(huán)境配置,及這種環(huán)境下的remoteIp及ServerName獲取方式[未登錄] 2013-04-25 18:51 1
          1  回復(fù)  更多評論
            

          # re: 【原】nginx均衡多tomcat環(huán)境配置,及這種環(huán)境下的remoteIp及ServerName獲取方式[未登錄] 2013-04-25 18:51 1
          2  回復(fù)  更多評論
            

          主站蜘蛛池模板: 霍城县| 涟水县| 册亨县| 会东县| 南宁市| 正宁县| 高青县| 白河县| 洛浦县| 图片| 修武县| 昭通市| 乐业县| 昂仁县| 革吉县| 三亚市| 乐平市| 镶黄旗| 辽宁省| 原平市| 左贡县| 保靖县| 永吉县| 中西区| 嘉鱼县| 和林格尔县| 怀安县| 普洱| 常德市| 洛南县| 五台县| 利川市| 高尔夫| 徐州市| 开平市| 九龙县| 昭通市| 芷江| 淮安市| 灌南县| 建平县|