1. 程式人生 > >apache+tomcat 搭建負載均衡系統

apache+tomcat 搭建負載均衡系統

apache tomcat 負載均衡

apache+tomcat+mod_jk 搭建負載均衡系統。


0.os系統采用centos6.8 x64 2.6.32-642.el6.x86_64
1.首先安裝好jdk環境本次采用jdk-8u111-linux-x64.gz
jdk和jre的安裝目錄要不同,否則的話lib目錄下沒有dt.jar 和tools.jar
要配置好環境變量如下
vi /etc/profile
#add zwy 2017-08-29
export JAVA_HOME=/home/zhang/java/jdk1.8.0_111
export JRE_HOME=/home/zhang/java/jdk1.8.0_111/jre
export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export LD_LIBRARY_PATH=/usr/local/apr/lib

source /etc/profile
java -version 如果能顯出版本號,說明jdk安裝好了。
2.安裝好tomcat。本次tomcat使用7.0.95 x64位

2-1註意要修改/usr/local/tomcat/conf 下的文件server.xml
shutdown 8005 *****connect http port 8080 *****connect ajp port 8009這三個端口每個進程要不同,否則發生端口占用問題。
2-2修改jvmroute 為tomcat1實例名字並打開負載均衡

<Connector port="11009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost"

jvmRoute="tomcat1"> 修改此處的jvmRoute


<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> 去掉前面的註釋

*************************************************************************
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">

<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->

<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t &quot;%r&quot; %s %b" />

添加此句修改網站的默認目錄
<Context path="" docBase="/usr/local/tomcat/webapps/zwy/" debug="0"/>
</Host>


2-3 根據情況在tomcat1/webapps/zwy 下添加一個內容為1的index.html內容。為了後面測試方便
根據情況在tomcat2/webapps/zwy 下添加一個內容為2的index.html內容。
2-4 catalina.sh在文件末尾添加CATALINA_HOME
CATALINA_HOME=/usr/local/apache-tomcat-7.0.59/


啟動./usr/local/tomcat/bin/startup.sh
停止./usr/local/tomcat/bin/shutdown.sh
2-5分別測試http://localhost:8080 顯示內容為1 http://localhost:8180 顯示內容為2
3.安裝好apache2.2.34
3-1 安裝gcc
3-2 apr
3-3 安裝apr-util
3-4 安裝pcre
3-4 編譯./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/bin/pcre-config --enable-so --enable-proxy --enable-proxy_http=shared --enable-module=so --enable-mods-shared=all --enable-proxy-ajp=shared --enable-proxy-balancer --disable-deflate
make clean 全新安裝不用這樣操作。
make
make install
3-5下載mod_jk.so註意版本一定要正確,否則提示 cannot load /usr/local/apache/modules/mod_jk.so ELF錯誤。正確版本:mod_jk-1.2.31-httpd-2.2.x.so
3-6將下載的mod_jk-1.2.31-httpd-2.2.x.so 重命名為 mod_jk.so 並放到apache的modules目錄下,權限給777
3-7修改httpd.conf 在文件最後添加如下
include conf/mod_jk.conf
3-8在apache的conf目錄下新建mod_jk.conf
內容如下:

#Load Module
LoadModule jk_module modules/mod_jk.so

#指定 workers.properties文件路徑
JkWorkersFile conf/workers.properties

#指定哪些請求交給tomcat處理,"controller"為在workers.propertise裏指定的負載分配控制器名
JkMount /* controller
3-9 在apache的conf目錄下新建workers.properties 其內容如下

[[email protected] conf]# more workers.properties
worker.list=controller,tomcat1,tomcat2
##########tomcat1######
worker.tomcat1.port=8009
worker.tomcat1.host=127.0.0.1
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=1


##########tomcat2######

worker.tomcat2.port=8109
worker.tomcat2.host=127.0.0.1
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=1

#######################
worker.controller.type=lb
worker.controller.balanced_workers=tomcat1,tomcat2
worker.controller.sticky_session=false
worker.controller.sticky_session_force=1

3-10 ./usr/local/apache/bin/apachectl -t 檢查語法
3-11. http://localhost 如果顯示It works 說明apache安裝正常。
3-12. 修改httpd.conf中的默認首頁文件。
<IfModule dir_module>
DirectoryIndex apache.html
</IfModule>
3-13. ./usr/local/apache/bin/apachectl -k start 啟動apache
3-14. http://localhost 多刷新幾次,內容是1 和2交替出現。

apache+tomcat 搭建負載均衡系統