apache整合tomcat,tomcat集群

環(huán)境:win10,jdk1.8,tomcat9,httpd2.4

1.安裝apache

下載地址:https://www.apachehaus.com/cgi-bin/download.plx

解壓壓縮包即可;

第一次啟動(dòng)時(shí)出現(xiàn)錯(cuò)誤如圖:

修改conf下的http.conf文件:


改成當(dāng)前安裝路徑,比如我是D:\apache\Apache24

再次啟動(dòng)訪問localhost:


這邊默認(rèn)訪問的是htdocs/index.html

如果想指定訪問路徑應(yīng)該怎么做,比如我想訪問到D:\apache\www路徑(在D:\apache\www新建index.html和文件夾css),那就需要做個(gè)訪問的根目錄配置(同nginx的serverroot),一樣是http.conf,將如下圖的DocumentRoot改成D:\apache\www,再將該節(jié)點(diǎn)下的Options Indexes FollowSymLinks改成Options None(無法直接訪問文件層次結(jié)構(gòu))

修改后重啟訪問localhost如圖:

訪問localhost/css:


這邊apache的配置就先到這邊

2.安裝tomcat

下載地址http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.7/bin/apache-tomcat-9.0.7-windows-x64.zip

下載解壓,將項(xiàng)目war包放到webapps目錄下 ,到bin目錄用startup.bat啟動(dòng)即可

3.apache整合tomcat

首先了解一下tomcat與apache如何協(xié)同工作:

1)??????Apache裝有一個(gè)模塊,這個(gè)模塊叫mod_jk

2)??????Apache通過80端口負(fù)責(zé)解析任何靜態(tài)web內(nèi)容

3)??????任何不能解析的內(nèi)容,用表達(dá)式告訴mod_jk,讓mod_jk派發(fā)給相關(guān)的app server去解釋。

首先需要下載一個(gè)叫modjk的模塊,(https://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/tomcat-connectors-1.2.40-windows-x86_64-httpd-2.4.x.zip)

下載后解壓,將mod_jk.so文件拷貝到D:\apache\Apache24\modules目錄下,并在http.conf加入如下配置

并在conf文件夾下加入配置文件workers.properties:

到這步已經(jīng)整合完畢,將項(xiàng)目拷貝到documentroot以及tomcat的webapps下面進(jìn)行測試:

打開localhost/項(xiàng)目名稱

當(dāng)我們登陸請(qǐng)求后臺(tái)時(shí) 可以看到tomcat日志并且登陸成功,即整合成功

4.tomcat縱向集群


修改${apache_home}/conf/workers.properties如下:


配置到2個(gè)tocmat ,分別監(jiān)聽到端口,再將tomcat配置到j(luò)ktest中

http.conf不用修改,因?yàn)橛玫囊恢倍际莏ktest作為worker名稱;

復(fù)制tomcat如圖:

進(jìn)入tomcat1,tomcat2修改server.xml,這邊tomcat要同時(shí)運(yùn)行,所以要保證端口配置唯一,比如8080&8081,8009&8010,8005&8006等

在tomcat1的servlet.xml找到如下配置

給Engine節(jié)點(diǎn)添加屬性jvmRoute屬性,屬性值為worker里的tomcat,這邊為tomcat1,(jvmRoute為tomcat集群復(fù)制session,通過session_cookie這種方式來實(shí)現(xiàn)session粘性,將特定會(huì)話附屬到特定tomcat上,從而解決session不同步問題),在tomcat2的server.xml加入同樣配置,jvmRoute指向tomcat2

在tomcat1,2的server.xml Engine節(jié)點(diǎn)加入如下配置,標(biāo)注的端口保持唯一

在項(xiàng)目的web.xml文件</web-app>上面加一行</distributable>,告訴tomcat此項(xiàng)目需要做session持久化(注意,這邊set到session的對(duì)象必須實(shí)現(xiàn)序列化接口處理)

配置后啟動(dòng)apache,tomcat1,tomcat2,:


即為集群配置成功,訪問可以看到2個(gè)tomcat日志輪流跑動(dòng);

tips:tomcat優(yōu)化

修改catalina.bat文件,給定jvm內(nèi)存等

set JAVA_OPTS=-server -Xms1024M -Xmx1024M -Xss512k -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+DisableExplicitGC -XX:MaxTenuringThreshold=31 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC? -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m? -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -Djava.awt.headless=true? ?

修改server.xml


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容