目標:Nginx做為HttpServer,連接多個tomcat應用實例,進行負載均衡。
注:本例程以一臺機器為例子,即同一臺機器上裝一個nginx和2個Tomcat且安裝了JDK1.7。
1、安裝Nginx
安裝Nginx教程
2、配置兩個Tomcat
在本機上配置兩個Tomcat,分別為tomcat7-8081、tomcat7-8082。
tomcat7-8081訪問地址:http://localhost:8081,瀏覽顯示內容:this is 8081 port
tomcat7-8082訪問地址:http://localhost:8082,瀏覽顯示內容:this is 8082 port
D:\div\tomcat7-8081\webapps\ROOT\index.jsp文件內容為:
1
2
3
4
5
|
<!DOCTYPE html> < html lang = "en" > < head >this is 8081 port</ head > </ html > |
D:\div\tomcat7-8082\webapps\ROOT\index.jsp文件內容為:
1
2
3
4
5
|
<!DOCTYPE html> < html lang = "en" > < head >this is 8082 port</ head > </ html > |
在同一臺服務器上配置多個Tomcat教程
如果要在一臺服務器上配置多個Tomcat,主要就是要避免Tomcat服務器的端口沖突的問題。只需要修改CATALINA_HOME\conf\server.xml中的啟動端口和連接端口就OK了!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
下面我們把配置的詳細過程寫在下面,以供參考:(此例以配置三個Tomcat為例) 1. 下載apache-tomcat-7.0.63,下載下來的文件為apache-tomcat-7.0.63.zip. 2. 解壓該壓縮包到D:/div/目錄下。 3. 修改解壓文件夾名字為:tomcat7-8080 4. 在D:/div/目錄下創建該文件夾的兩個副本,分別更名為:tomcat7-8081、tomcat7-8082 5. 添加環境變量:右鍵單擊我的電腦->選擇屬性->選擇高級->選擇環境變量:添加系統變量: CATALINA_HOME_8080,其值為:D:\div\tomcat7-8080; CATALINA_HOME_8081,其值為:D:\div\tomcat7-8081; CATALINA_HOME_8082,其值為:D:\div\tomcat7-8082; 6. 修改啟動端口和關閉端口: 進入D:\div\tomcat7-8081\conf\目錄,打開server.xml文件,修改下面兩個地方: (1)<Server port="8006" shutdown="SHUTDOWN"> 修改這個port=”8006”,原來默認的為:8005,使得它的關閉端口和另一個關閉端口不發生沖突。 (2)<Connector port="8081" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" /> 修改port=”8081”,原來默認的為“8080”,使得它的連接端口和另一個不沖突。 (3)<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 修改這個port=”8010”,原來默認的為:8009,AJP 1.3 Connector定義的地方。 7. 修改startup.bat和catalina.bat文件內容: (1) 打開D:\div\tomcat7-8081\bin\startup.bat文件,把其中所有CATALINA_HOME替換為CATALINA_HOME_8081。 (2) 打開D:\div\tomcat7-8081\bin\catalina.bat文件,把其中所有CATALINA_HOME替換為CATALINA_HOME_8081。 tomcat7-8082配置方法跟配置tomcat7-8081步驟一樣的。 8.啟動Tomcat,在命令行下分別進入三個不同的Tomcat安裝目錄下,執行startup.bat,分別啟動三個Tomcat。然后在瀏覽器中輸入: http://localhost:8080 http://localhost:8081 http://localhost:8082 9. 至此,我們已經在一臺服務器上配置了三個Tomcat。 |
這樣我們就成功的搭建了一個nginx服務,成功的配置了兩個tomcat應用實例。
3、Nginx+Tomcat負載均衡配置
這里只需要修改Nginx的配置,讓它通過tomcat來轉發。
a、nginx.conf配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
|
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 10; include extra/upstream01.conf; } |
b、extra/upstream01.conf文件,負載均衡配置信息
1
2
3
4
5
6
7
8
9
10
11
12
13
|
upstream mysite { server localhost:8081 weight=5; server localhost:8082 weight=5; } server { listen 80; server_name localhost; location / { proxy_pass http://mysite; } } |
當有請求到localhost時,請求會被分發到對應的upstream設置的服務器列表上,每一次請求分發的服務器都是隨機的。
接著在運行一次start nginx,當你不斷刷新http://localhost的時候,瀏覽器上就會來回切換"this is 8081 port"和"this is 8082 port"。
這樣說明負載均衡配置成功了!!!!!!