Apache(web服務器)與Tomcat(應用服務器)搭建集羣

  web服務器:Apache、Nginx、IIS等html

  應用服務器:Tomcat、JBoss、Weblogic等linux

  如今web服務器和應用服務器其實界限已經不是太清晰了,大部分的應用服務器也包含一些web服務器的功能,使用什麼服務器大部分取決與架構場景和技術解決方案。web

在服務器集羣中,主要場景是一下幾種:apache

  1,靜態資源優化windows

  2,多環境應用整合tomcat

  3,負載均衡服務器

  4,其餘複合場景架構

接下來準備將Apache(web服務器)與兩個Tomcat(應用服務器)集成在一塊兒。app

1.環境準備負載均衡

  1.1 Apache安裝

  windows下面安裝Apache簡單不少,直接相似軟件點擊下一步安裝一下,配置一下端口號(默認80)。啓動就行了。

訪問localhost:80/index.html

 

 

  1.2 Tomcat1與Tomcat2準備

  在tomcat官網下載兩個免安裝的zip包直接解壓出來tomcat1和tomcat2;

  在tomcat1的目錄下打開tomcat1/conf/server.xml,修改HTTP/1.1端口號爲:8081

<Connector port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

 

  在tomcat1的目錄下打開tomcat1/conf/server.xml,修改HTTP/1.1端口爲:8082,AJP端口爲:8010,redirectPort:8444,Server port:8006,避免與tomcat1端口衝突,由於我這裏使用的一臺機器搭建的集成環境。

<Connector port="8082" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8444" />
<Connector port="8010" protocol="AJP/1.3" redirectPort="8444" />

在tomcat/bin目錄下點擊startup.bat,啓動兩個tomcat,這裏有一個控制檯亂碼問題,修改一下tomcat/conf/logging.properties,把編碼改成GBK

在idea控制檯裏面有時也會出現相似問題,修改字符集就能夠解決。

 

  1.3 在tomcat1和tomcat2的webapps清空,並放入本身測試的資源sample1和sample2的index.html

hello,tomcat1!
hello,tomcat2!

重啓tomcat1和tomcat2訪問

localhost:8081/sample1/index.html

 

localhost:8082/sample2/index.html

 

 

2.集羣配置

  2.1修改httpd.conf,加載模塊

  這裏爲何加載mod_jk模塊,Apache與tomcat集成是能夠經過AJP協議也能夠經過HTTP協議,能夠使用mod_jk(AJP)和mod_proxy+mod_proxy_ajp(AJP)集成也能夠使用mod_proxy+mod_proxy_http(HTTP),這裏使用是mod_proxy+mod_proxy_http。

在Apache目錄下的modules找一下,沒有mod_jk.so,他是tomcat提供的,能夠按照本身的機器和Apache版本找一個放在modules下面。

mod_jk.so下載地址http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/

我這裏爲了方便,直接使用mod_proxy.so+mod_proxy_http.so

接下來修改httpd.conf,加載mod_proxy.so、mod_proxy_http.so模塊去掉#

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_module modules/mod_proxy_http.so

在httpd.conf的最後一行,從新開一行,沒有任何結束符號的空白地方增長

ProxyPass "/sample1" "http://localhost:8081/sample1"
ProxyPassReverse "/sample1" "http://localhost:8081/sample1"
ProxyPass "/sample2" "http://localhost:8082/sample2"
ProxyPassReverse "/sample2" "http://localhost:8082/sample2"

訪問localhost:80/sample1

 

訪問localhost:80/sample2

相關文章
相關標籤/搜索