以http_proxy和ajp_proxy方式整合apache和tomcat(动静分离)

这篇具有很好参考价值的文章主要介绍了以http_proxy和ajp_proxy方式整合apache和tomcat(动静分离)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 前言:

为什么要整合apache和tomcat

apache对静态页面的处理能力强,而tomcat对静态页面的处理不如apache,整合后有以下好处

  • 提升对静态文件的处理性能
  • 利用 Web 服务器来做负载均衡以及容错
  • 更完善地去升级应用程序

jk整合方式介绍(较为普遍的方式)

  • jk是通过 AJP 协议与 Tomcat 服务器进行通讯
  • Tomcat 默认的 AJP Connector 的端口是 8009(在tomcat的server.xml文件中默认被注释掉)
  • JK 本身提供了一个监控以及管理的页面 jkstatus,通过 jkstatus 可以监控 JK 目前的工作状态以及对到tomcat 的连接进行设置

目录

一.mod_jk

1.准备apache、tomcat、jk环境

(1)apache和tomcat配置专栏其它文章有介绍

(2)编译安装jk环境

2.配置jk模块以实现整合

(1)拷贝文件

(2)配置mod_jk.conf文件,我同意放在/etc/httpd/conf下的

(3)配置workers.properties(可用worker属性文件),上面定义的在那个位置就创建在哪个位置

(4)更改/etc/httpd/conf/httpd.conf 

3.更改tomcat的server.xml配置

(1)按照自己的tomcat安装位置查找该文件

(3)配置Connector

4.创建测试界面(谨慎使用中文)

(1)apache测试文件,这里以默认的html目录为例

(2)tomcat测试文件,放在你tomcat安装目录中的webapps/ROOT目录下

5.测试

二.http_proxy和ajp_proxy

1.http_proxy方式

(1)下载mod_proxy_html.x86_64 

(2)创建.conf文件

(3)查看server.xml文件

(4)创建测试页面

(5)重启httpd和tomcat进行测试

 2.ajp.proxy

(1)配置基本http_proxy相同,只需要将http改为ajp

(2)需要在tomcat的server.xml中把AJP 8009部分取消注释


一.mod_jk

1.准备apache、tomcat、jk环境

(1)apache和tomcat配置专栏其它文章有介绍

[root@localhost native]# yum install -y httpd httpd-devel.x86_64 gcc gcc-c++ make

(2)编译安装jk环境

链接:https://pan.baidu.com/s/1y0b9C2Or41eMzuNL5i2q8Q 
提取码:y3xn

可以到镜像网站下载包

以http_proxy和ajp_proxy方式整合apache和tomcat(动静分离),Linux,# tomcat,http,apache,tomcat,mod_proxy,Linux

[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进行编译安装
[root@localhost native]# make
[root@localhost native]# make install

2.配置jk模块以实现整合

(1)拷贝文件

以我的安装路径为例首先将/usr/local/src/tomcat-connectors-1.2.48-src/native/apache-2.0/mod_jk.so这个文件拷贝到/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下的

一定注意文件的路径,不确定就写绝对路径

[root@localhost conf]# pwd
/etc/httpd/conf
[root@localhost conf]# vim mod_jk.conf
LoadModule jk_module modules/mod_jk.so   #导入刚才移过来的mod_jk.so模板
JkWorkersFile /etc/httpd/conf/workers.properties   #稍后需要创建的tomcat的工作文件
JkLogFile /var/log/httpd/mod_jk.log   #自定义,重启后会自动创建
JkLogLevel info                       #日志等级
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkOptions +ForwardKeySize +ForwardURICompatUnparsed -ForwardDirectories
JkRequestLogFormat "%w %V %T"        #一些日志格式
JkMount /*.jsp worker1    #重要参数,将以".jsp"结尾的文件交给worker1处理,worker1也是稍后workers.properties工作文件中的主要参与者

#这里可以定义多个任务分配,按实际需求定义
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 # 状态页,通过 jkstatus 可以监控 JK 目前的工作状态以及对到tomcat的连接进行设置

(3)配置workers.properties(可用worker属性文件),上面定义的在那个位置就创建在哪个位置

[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     #处理请求的“工作者”
worker.worker1.type=ajp13    #固定模板
worker.worker1.host=192.168.2.190   #该“工作者”主机地址
worker.worker1.port=8009    #该“工作者”服务端口


#如果在mod_jk.so中定义了状态页,需要
#worker.list = status
#worker.status.type=status

(4)更改/etc/httpd/conf/httpd.conf 

添加上这行 

以http_proxy和ajp_proxy方式整合apache和tomcat(动静分离),Linux,# tomcat,http,apache,tomcat,mod_proxy,Linux

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的这个位置,将Connector原有注释取消掉并进行配置

 注意:

如果在使用jk整合apache和tomcat后续测试时出现“503 Service Unavailable”,需要将address处修改为虚拟机IP地址或“0.0.0.0”,新增secretRequired="false"这行,并重启测试

以http_proxy和ajp_proxy方式整合apache和tomcat(动静分离),Linux,# tomcat,http,apache,tomcat,mod_proxy,Linux

4.创建测试界面(谨慎使用中文)

(1)apache测试文件,这里以默认的html目录为例

[root@localhost html]# pwd
/var/www/html
[root@localhost html]# vim index.html 
apache

(2)tomcat测试文件,放在你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.测试

以http_proxy和ajp_proxy方式整合apache和tomcat(动静分离),Linux,# tomcat,http,apache,tomcat,mod_proxy,Linux

以http_proxy和ajp_proxy方式整合apache和tomcat(动静分离),Linux,# tomcat,http,apache,tomcat,mod_proxy,Linux

二.http_proxy和ajp_proxy

注意:http_proxy和ajp_proxy的稳定性不如mod_jk

1.http_proxy方式

(1)下载mod_proxy_html.x86_64 

[root@localhost ~]# yum install -y mod_proxy_html.x86_64 

(2)创建.conf文件

在apache下创建http_proxy.conf文件(或者直接写到conf/httpd.conf文件最后)

注意:这个目录下如果有配置有mod_jk或者其他的整合文件,请改掉后缀禁止生效 

[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/   #处理的主机和端口
</Proxy>

(3)查看server.xml文件

到tomcat的安装目录下的conf/server.xml文件确保这部分内容没有被注释

[root@localhost conf]# pwd
/usr/local/tomcat/apache-tomcat-8.5.70/conf
[root@localhost conf]# vim server.xml 

以http_proxy和ajp_proxy方式整合apache和tomcat(动静分离),Linux,# tomcat,http,apache,tomcat,mod_proxy,Linux

(4)创建测试页面

 在tomcat安装目录下的webapps/ROOT下创建

[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进行测试

加端口不加端口都可以访问

[root@localhost conf.d]# systemctl restart httpd tomcat

以http_proxy和ajp_proxy方式整合apache和tomcat(动静分离),Linux,# tomcat,http,apache,tomcat,mod_proxy,Linux文章来源地址https://www.toymoban.com/news/detail-637972.html

 2.ajp.proxy

(1)配置基本http_proxy相同,只需要将http改为ajp

(2)需要在tomcat的server.xml中把AJP 8009部分取消注释

到了这里,关于以http_proxy和ajp_proxy方式整合apache和tomcat(动静分离)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包