?前言:
為什么要整合apache和tomcat
apache對(duì)靜態(tài)頁面的處理能力強(qiáng),而tomcat對(duì)靜態(tài)頁面的處理不如apache,整合后有以下好處
- 提升對(duì)靜態(tài)文件的處理性能
- 利用 Web 服務(wù)器來做負(fù)載均衡以及容錯(cuò)
- 更完善地去升級(jí)應(yīng)用程序
jk整合方式介紹(較為普遍的方式)
- jk是通過 AJP 協(xié)議與 Tomcat 服務(wù)器進(jìn)行通訊
- Tomcat 默認(rèn)的 AJP Connector 的端口是 8009(在tomcat的server.xml文件中默認(rèn)被注釋掉)
- JK 本身提供了一個(gè)監(jiān)控以及管理的頁面 jkstatus,通過 jkstatus 可以監(jiān)控 JK 目前的工作狀態(tài)以及對(duì)到tomcat 的連接進(jìn)行設(shè)置
目錄
一.mod_jk
1.準(zhǔn)備apache、tomcat、jk環(huán)境
(1)apache和tomcat配置專欄其它文章有介紹
(2)編譯安裝jk環(huán)境
2.配置jk模塊以實(shí)現(xiàn)整合
(1)拷貝文件
(2)配置mod_jk.conf文件,我同意放在/etc/httpd/conf下的
(3)配置workers.properties(可用worker屬性文件),上面定義的在那個(gè)位置就創(chuàng)建在哪個(gè)位置
(4)更改/etc/httpd/conf/httpd.conf?
3.更改tomcat的server.xml配置
(1)按照自己的tomcat安裝位置查找該文件
(3)配置Connector
4.創(chuàng)建測(cè)試界面(謹(jǐn)慎使用中文)
(1)apache測(cè)試文件,這里以默認(rèn)的html目錄為例
(2)tomcat測(cè)試文件,放在你tomcat安裝目錄中的webapps/ROOT目錄下
5.測(cè)試
二.http_proxy和ajp_proxy
1.http_proxy方式
(1)下載mod_proxy_html.x86_64?
(2)創(chuàng)建.conf文件
(3)查看server.xml文件
(4)創(chuàng)建測(cè)試頁面
(5)重啟httpd和tomcat進(jìn)行測(cè)試
?2.ajp.proxy
(1)配置基本http_proxy相同,只需要將http改為ajp
(2)需要在tomcat的server.xml中把AJP 8009部分取消注釋
一.mod_jk
1.準(zhǔn)備apache、tomcat、jk環(huán)境
(1)apache和tomcat配置專欄其它文章有介紹
[root@localhost native]# yum install -y httpd httpd-devel.x86_64 gcc gcc-c++ make
(2)編譯安裝jk環(huán)境
鏈接:https://pan.baidu.com/s/1y0b9C2Or41eMzuNL5i2q8Q?
提取碼:y3xn
可以到鏡像網(wǎng)站下載包
[root@localhost jk]# tar -zvxf tomcat-connectors-1.2.48-src.tar.gz -C /usr/local/src/
[root@localhost native]# pwd
/usr/local/src/tomcat-connectors-1.2.48-src/native
[root@localhost native]# whereis apxs #查看apxs位置
apxs: /usr/bin/apxs /usr/share/man/man1/apxs.1.gz
[root@localhost native]# ./configure --with-apxs=/usr/bin/apxs
#使用上面查到的apxs進(jìn)行編譯安裝
[root@localhost native]# make
[root@localhost native]# make install
2.配置jk模塊以實(shí)現(xiàn)整合
(1)拷貝文件
以我的安裝路徑為例首先將/usr/local/src/tomcat-connectors-1.2.48-src/native/apache-2.0/mod_jk.so這個(gè)文件拷貝到/etc/httpd/modules
[root@localhost apache-2.0]# pwd
/usr/local/src/tomcat-connectors-1.2.48-src/native/apache-2.0
[root@localhost apache-2.0]# cp mod_jk.so /etc/httpd/modules/
(2)配置mod_jk.conf文件,我同意放在/etc/httpd/conf下的
一定注意文件的路徑,不確定就寫絕對(duì)路徑
[root@localhost conf]# pwd
/etc/httpd/conf
[root@localhost conf]# vim mod_jk.conf
LoadModule jk_module modules/mod_jk.so #導(dǎo)入剛才移過來的mod_jk.so模板
JkWorkersFile /etc/httpd/conf/workers.properties #稍后需要?jiǎng)?chuàng)建的tomcat的工作文件
JkLogFile /var/log/httpd/mod_jk.log #自定義,重啟后會(huì)自動(dòng)創(chuàng)建
JkLogLevel info #日志等級(jí)
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkOptions +ForwardKeySize +ForwardURICompatUnparsed -ForwardDirectories
JkRequestLogFormat "%w %V %T" #一些日志格式
JkMount /*.jsp worker1 #重要參數(shù),將以".jsp"結(jié)尾的文件交給worker1處理,worker1也是稍后workers.properties工作文件中的主要參與者
#這里可以定義多個(gè)任務(wù)分配,按實(shí)際需求定義
workers.properties
JkMount /* worker1
JkMount /*.jsp worker1
JkMount /servlet/* worker1
JkMount /*.do worker1
JkMount /*.action worker1
JkMount /*.class worker1
JkMount /*.jar worker1
JkMount /jkstatus status # 狀態(tài)頁,通過 jkstatus 可以監(jiān)控 JK 目前的工作狀態(tài)以及對(duì)到tomcat的連接進(jìn)行設(shè)置
(3)配置workers.properties(可用worker屬性文件),上面定義的在那個(gè)位置就創(chuàng)建在哪個(gè)位置
[root@localhost conf]# vim workers.properties
workers.tomcat_home=/usr/local/tomcat/ #定義tomcat工作目錄
workers.java_home=/usr/java//usr/java/jdk1.8.0_371 #定義jdk工作目錄
worker.list=worker1 #處理請(qǐng)求的“工作者”
worker.worker1.type=ajp13 #固定模板
worker.worker1.host=192.168.2.190 #該“工作者”主機(jī)地址
worker.worker1.port=8009 #該“工作者”服務(wù)端口
#如果在mod_jk.so中定義了狀態(tài)頁,需要
#worker.list = status
#worker.status.type=status
(4)更改/etc/httpd/conf/httpd.conf?
添加上這行?
3.更改tomcat的server.xml配置
(1)按照自己的tomcat安裝位置查找該文件
[root@localhost conf]# pwd
/usr/local/tomcat/apache-tomcat-8.5.70/conf
[root@localhost conf]# vim server.xml
(3)配置Connector
在文件中找到AJP的這個(gè)位置,將Connector原有注釋取消掉并進(jìn)行配置
?注意:
如果在使用jk整合apache和tomcat后續(xù)測(cè)試時(shí)出現(xiàn)“503 Service Unavailable”,需要將address處修改為虛擬機(jī)IP地址或“0.0.0.0”,新增secretRequired="false"這行,并重啟測(cè)試
4.創(chuàng)建測(cè)試界面(謹(jǐn)慎使用中文)
(1)apache測(cè)試文件,這里以默認(rèn)的html目錄為例
[root@localhost html]# pwd
/var/www/html
[root@localhost html]# vim index.html
apache
(2)tomcat測(cè)試文件,放在你tomcat安裝目錄中的webapps/ROOT目錄下
[root@localhost ROOT]# pwd
/usr/local/tomcat/apache-tomcat-8.5.70/webapps/ROOT
[root@localhost ROOT]# vim test.jsp
tomcat
5.測(cè)試
二.http_proxy和ajp_proxy
注意:http_proxy和ajp_proxy的穩(wěn)定性不如mod_jk
1.http_proxy方式
(1)下載mod_proxy_html.x86_64?
[root@localhost ~]# yum install -y mod_proxy_html.x86_64
(2)創(chuàng)建.conf文件
在apache下創(chuàng)建http_proxy.conf文件(或者直接寫到conf/httpd.conf文件最后)
注意:這個(gè)目錄下如果有配置有mod_jk或者其他的整合文件,請(qǐng)改掉后綴禁止生效?
[root@localhost conf.d]# pwd
/etc/httpd/conf.d
[root@localhost conf.d]# vim http_proxy.conf
ProxyPass /images ! #!表示這類文件不做處理
ProxyPass /css !
ProxyPass /js !
ProxyPass / balancer://example/ #交給balancer://example/處理
<Proxy balancer://example/>
BalancerMember http://192.168.2.190:8080/ #處理的主機(jī)和端口
</Proxy>
(3)查看server.xml文件
到tomcat的安裝目錄下的conf/server.xml文件確保這部分內(nèi)容沒有被注釋
[root@localhost conf]# pwd
/usr/local/tomcat/apache-tomcat-8.5.70/conf
[root@localhost conf]# vim server.xml
(4)創(chuàng)建測(cè)試頁面
?在tomcat安裝目錄下的webapps/ROOT下創(chuàng)建
[root@localhost ROOT]# pwd
/usr/local/tomcat/apache-tomcat-8.5.70/webapps/ROOT
[root@localhost ROOT]# vim test.jsp
http_proxy
(5)重啟httpd和tomcat進(jìn)行測(cè)試
加端口不加端口都可以訪問文章來源:http://www.zghlxwxcb.cn/news/detail-637972.html
[root@localhost conf.d]# systemctl restart httpd tomcat
文章來源地址http://www.zghlxwxcb.cn/news/detail-637972.html
?2.ajp.proxy
(1)配置基本http_proxy相同,只需要將http改為ajp
(2)需要在tomcat的server.xml中把AJP 8009部分取消注釋
到了這里,關(guān)于以http_proxy和ajp_proxy方式整合apache和tomcat(動(dòng)靜分離)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!