您好,登錄后才能下訂單哦!
如何搭建tomcat+apache+linux集群,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
該集群為偽集群,實際應用的時候tomcat應該安裝在不同的機器上,而不是同一臺機器上
一.配置環境
操作系統:rhel5
服務器IP:192.168.93.43
jdk版本:1.6.0_20
apache 版本:httpd-2.2.16.tar.gz
tomcat 版本:apache-tomcat-5.5.30.tar.gz
jk版本:tomcat-connectors-1.2.30-src.tar.gz
3個安裝包默認放在了usr/local目錄下,用root用戶下載
共一臺機器,所以apache、jdk和2個tomcat都裝在一臺機器上了,一般情況是apache和jdk裝在一臺機器上,tomcat分別裝在各個機器或者裝同一臺機器上。
二.安裝
a) jdk安裝,略。
b) apache安裝
# cd /usr/local/
# mkdir apache
# tar xvfz httpd-2.2.16.tar.gz
# cd httpd-2.2.16
#./configure --prefix=/usr/local/apache --enable-modules=so --enable-so
配置安裝路徑信息等
# make
# make install
# cd /usr/local/apache/bin/
# ./apachectl configtest
若顯示Syntax ok則表明安裝成功,中間出現一些別的信息,如: httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.93.43 for ServerName 可以忽略;
#./apachectl start
啟動apache服務,瀏覽器中輸入127.0.0.1看是否有it works
# ./apachectl stop
關閉服務
注:系統可能自帶安裝了Apache,如果不需要,可以先將自帶的卸載掉后再安裝,否則可能出現直接訪問系統自帶的Apache。
c) tomcat安裝
# cd /usr/local/
# tar xvfz apache-tomcat-5.5.30.tar.gz
# mv apache-tomcat-5.5.30 /usr/local/tomcat 修改解壓后的文件夾名字
# /usr/local/tomcat/bin/startup.sh
啟動服務后,訪問本機8080端口
# /usr/local/tomcat/bin/startup.sh /startup.bat
關閉服務
# /usr/local/tomcat/bin/shutdown.sh
# tail -f logs/catalina.out 查看tomcat的控制臺輸出
如果碰到tomcat關不完全等情況,執行如下操作
#ps -ef |grep tomcat 查看tomcat進程
#kill -9 pid 如果有,用kill;pid為進程號
d) jk安裝
#cd /usr/local/
# tar xzvf tomcat-connectors-1.2.30-src.tar.gz
#cd tomcat-connectors-1.2.30-src/jk/native
#chmod 755 buildconf.sh
#./buildconf.sh
#./configure --with-apxs=/usr/local/apache/bin/apxs
#make
#make install
我安裝好了之后,發現/usr/local/apache/modules/下已經有mod_jk.so了
注意先查看下,如果沒有則執行下面的步驟
#cd /usr/local/ jakarta-tomcat-connectors- jk1.2.14-src/jk/native/apache-2.0/
#cp mod_jk.so /usr/local/apache/modules/
三.配置
a) httpd.conf配置
#vi /usr/local/apache/conf/httpd.conf
在文件的最尾部加上如下語句
# Load mod_jk
LoadModule jk_module modules/mod_jk.so
# Configure mod_jk
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
轉發過濾,將符合以下條件的請求發送到負載平衡器
JkMount /*.jsp loadbalancer
JkMount /servlet/* loadbalancer
JkMount /application/* loadbalancer
b) workers.properties 添加
#vi /usr/local/apache/conf/workers.properties 如果workers.properties不存在就表示新建該文件
內容如下:
worker.list=loadbalancer
worker.worker1.port=8009 worker1所在的端口
worker.worker1.host=192.168.93.43 worker1所在的IP
worker.worker1.type=ajp13
worker.worker1.lbfactor=1
worker.worker2.port=9009 worker2所在的端口
worker.worker2.host=192.168.93.43 worker2所在的IP
worker.worker2.type=ajp13
worker.worker2.lbfactor=1 #權量 數值越大,分配的機率就最小
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=worker1,worker2
worker.loadbalancer.local_worker_only=1
worker.loadbalancer.sticky_session=true
此處指定集群是否需要會話復制,如果設為true,則表明為會話粘性,不進行會話復制,當某用戶的請求第一次分發到哪臺Tomcat后,后繼的請求會一直分發到此Tomcat服務器上處理;如果設為false,則表明需求會話復制。
worker.loadbalancer.sticky_session_force=true
如果上面的sticky_session設為true時,建議此處也設為true,此參數表明如果集群中某臺Tomcat服務器在多次請求沒有響 應后,是否將當前的請求,轉發到其它Tomcat服務器上處理;此參數在sticky_session=true時,影響比較大,會導致轉發到其它 Tomcat服務器上的請求,找不到原來的session,所以如果此時請求中有讀取session中某些信息的話,就會導致應用的null異常。
c) server.xml配置
修改第一個tomcat的server.xml文件,修改過后的配置如下
<Engine name="Catalina" defaultHost="localhost" jvmRoute="worker1">
將Cluster標簽對的注釋去掉修改里面的
tcpListenAddress=”192.168.93.43”
其中第一個tomcat的端口為:8005、8080、8009
修改第二個tomcat的server.xml文件,修改過后的配置如下
<Engine name="Catalina" defaultHost="localhost" jvmRoute="worker2">
將Cluster標簽對的注釋去掉修改里面的
tcpListenAddress=”192.168.93.43”
其中第二個tomcat的端口為:9005、9080、9009
保存后重啟tomcat檢查是否正常
關于如何搭建tomcat+apache+linux集群問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。