首頁 >後端開發 >php教程 >Nginx+tomcat叢集環境搭建

Nginx+tomcat叢集環境搭建

WBOY
WBOY原創
2016-08-08 09:26:501159瀏覽

實驗環境:windows xp sp3

 

Nginx版本:1.5.12;

下載網址:http://nginx.org/en/download.html

 

Tomcat版本:6.0.39

下載網址:http://tomcat.apache.org/download-60.cgi

 

一、配置nginx

1.  在D盤根目錄建立nginx資料夾,把下載的nginx發布包nginx-1.5.12.zip解壓縮到該目錄。

2、  D:nginxnginx-1.5.12目錄結構

Nginx-

              |_  conf      配置目錄

              |_  contrib.

              |_  docs      ‧文獻目錄

              |_  logs      記錄目錄
              |_  temp      以暫存檔目錄

              |_  html      以靜態網頁目錄

              |_  nginx.exe 主程式

3、  啟動nginx

windows下啟動nginx非常簡單,雙擊執行nginx.exe即可。 Nginx預設運行在80端口,檢查nginx是否啟動我們只需要在瀏覽器中輸入http://localhost便可看到如下頁面,說明我們nginx已經啟動起來了。

1、  停止nginx

如果需要停止nginx,則需要開啟一個命令列窗口,進入nginx解壓縮的目錄,也就是進入nginx.exe檔所在的目錄,輸入指令nginx –s stop 便可停止nginx。

 

二、叢集配置

1、  配置tomcat

在D盤根目錄建立tomcat資料夾,解壓縮2份tomcat6.0.39發布包到該目錄下,分別命名為tomcat01,tomcat02。為了方便觀察我們造訪的是哪個tomcat,我們修改tomcat01的D:tomcattomcat01webappsROOTindex.html中

[html] view plaincopy

  1. td align="left" valign b>Apache Tomcat b>td>   改為 [html] view plaincopy

td

 
    align
  1. ="left" valign b>Apache Tomcat 1 b>td>   同理我們把tomcat02的D:tomcattomcat02webappsROOTindex.html中 [html] view plaincopy
    1. td align="left" valign b>Apache Tomcat b>td>   改為 [html] view plaincopy

    td

     
      align
    1. ="left" valign b>Apache Tomcat 2 b>td>   2個tomcat我們在同一台電腦上,為了讓2個tomcat的連接埠不衝突,我們把tomcat02的D:tomcattomcat02confserver.xml中 [html] view plaincopy
    Server

     

    Server

     

    port

    =
      "8005"
    1.  shut    改為 [html] view plaincopy Server
  2.  
Server

 

port

=

"8105"
     
  1.    [html] view plaincopy Connector port
  2. =

"8080"

 

proto

               
    connectionTimeout
  1. ="20000"   "20000"                   redirectPort="8443" 改為
  2. [html] view plaincopy
    1. 連接器 連接="8180"                連線逾時="20000"
    2.    "20000"                  重定向埠=
    3. "8543"
    4.  

    5. 連接器

       

      =
      1. "8009" 重定向連接埠="8443" />   改為 [html] 查看 純文字 連接器 
      ="8109"

      重定向連接埠

      =
        "8543"
      1. />   [html] 查看 純文字    2、 配置nginx nginx.conf [html] 查看 純文字

      1. #Nginx所用使用者和群組,window下不指定   
      2. #user  niumd niumd;   
      3.   
      4. #工作的子行程數(通常等於CPU數量或2倍於CPU)  
      5. worker_processes  2;  
      6.   
      7. #錯誤日誌存放路徑  
      8. #error_log  logs/error.log;  
      9. #error_log  logs/error.log  notice;  
      10. #error_log  logs/error.log  info;  
      11.   
      12. #指定pid存放文件  
      13. #pid        logs/nginx.pid;  
      14.   
      15.   
      16. events {  
      17.     #使用網路IO模型linux建議epoll,FreeBSD建議採用kqueue,window下不指定。  
      18.     #use epoll;  
      19.       
      20.     #允許最大連線數  
      21.     worker_connections  1024;  
      22. }  
      23.   
      24.   
      25. http {  
      26.     include       mime.types;  
      27.     default_type  application/octet-stream;  
      28.   
      29.     #定義日誌格式   
      30.     log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '  
      31.                       '$status $body_bytes_sent "$http_referer  '$status $body_bytes_sent "$http_referer 
      32.                       '"$http_user_agent" "$http_x_forwarded_forfor"';
      33.   
      34.     access_log  logs/access.log  main;  
      35.       
      36.     client_header_timeout  3m;  
      37.     client_body_timeout    3m;  
      38.     send_timeout           3m;  
      39.       
      40.     client_header_buffer_size    1k;  
      41.     large_client_header_buffers  4 4k;  
      42.       
      43.   
      44.     sendfile        on;  
      45.     tcp_nopush      on;  
      46.     tcp_nodelay     on;  
      47.   
      48.     #keepalive_timeout  0;  
      49.     keepalive_timeout  65;  
      50.   
      51.     #gzip  on;  
      52.       
      53.     upstream localhost {    
      54.           #根據ip計算將請求分配各那個後端tomcat,許多人誤以為可以解決session問題,其實並不能。    
  3.           #同一機器在多網情況下,以切換,ip可能不同    
  4.           ip_hash;     
  5.           server localhost:8080;    
  6.           server localhost:8180;    
  7.          }    
  8.   
  9.   
  10.     server {  
  11.         listen       80;  
  12.         server_name  localhost;  
  13.   
  14.         #charset koi8-r;  
  15.   
  16.         #access_log  logs/host.access.log  main;  
  17.   
  18.         location / {  
  19.             proxy_connect_timeout   3;    
  20.             proxy_send_timeout      30;    
  21.               proxy_read_timeout      30;    
  22.             proxy_pass http://localhost;    
  23.         }  
  24.   
  25.         #error_page  404              /404.html;  
  26.   
  27.         # redirect server error pages to the static page /50x.html  
  28.         #  
  29.         error_page   500 502 503 504  /50x.html;  
  30.         location = /50x.html {  
  31.             root   html;  
  32.         }  
  33.   
  34.     }  
  35. }  

3、  查看反向代理設定結果

啟動nginx、tomcat01、tomcat02。

瀏覽器輸入http://localhost便看到tomcat01的管理介面,如下圖。


然後透明停止tomcat02,刷新頁面,nginx自動幫我們切換到tomcat02了,如下圖。


以上就介紹了Nginx+tomcat集群環境搭建,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn