目標: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文件內容為:
<!DOCTYPE html><html lang="en"> <head>this is 8081 port</head></html>
D:/div/tomcat7-8082/webapps/ROOT/index.jsp文件內容為:
<!DOCTYPE html><html lang="en"> <head>this is 8082 port</head></html>
在同一臺服務器上配置多個Tomcat教程
如果要在一臺服務器上配置多個Tomcat,主要就是要避免Tomcat服務器的端口沖突的問題。只需要修改CATALINA_HOME/conf/server.xml中的啟動端口和連接端口就OK了!
下面我們把配置的詳細過程寫在下面,以供參考:(此例以配置三個Tomcat為例)1. 下載apache-tomcat-7.0.63,下載下來的文件為apache-tomcat-7.0.63.zip.2. 解壓該壓縮包到D:/div/目錄下。3. 修改解壓文件夾名字為:tomcat7-80804. 在D:/div/目錄下創建該文件夾的兩個副本,分別更名為:tomcat7-8081、tomcat7-80825. 添加環境變量:右鍵單擊我的電腦->選擇屬性->選擇高級->選擇環境變量:添加系統變量: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:8080http://localhost:8081 http://localhost:8082 9. 至此,我們已經在一臺服務器上配置了三個Tomcat。
這樣我們就成功的搭建了一個nginx服務,成功的配置了兩個tomcat應用實例。
3、Nginx+Tomcat負載均衡配置
這里只需要修改Nginx的配置,讓它通過tomcat來轉發。
a、nginx.conf配置文件
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文件,負載均衡配置信息
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"。
這樣說明負載均衡配置成功了?。。。。?!
新聞熱點
疑難解答