扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在worker2.properties配置里
[uri:/*.jsp]
worker=ajp13:localhost:8009
这两句话的作用很清楚,就是web应用遇到jsp访问请求的时候,把该文件解释工作交给tomcat处理,达到apache和tomcat整合后分工处理静态和动态页面的效果。
①如果还需要tomcat处理servlet(也只有tomcat才能处理),用同样方法设置让tomcat处理servlet,如:[uri:/servlet/*] worker=ajp13:localhost:8009 ,(上面例子servlet文件在根目录下servlet文件夹里),另外,上面例子把一些交给tomcat处理的语句注释了。
然而,网上有一些apache和tomcat整合方案在worker2.properties配置里只配置一个:[uri:/*] worker=ajp13:localhost:8009 这个意思很明显,就是告诉apache,把来自web应用的所有访问都交给tomcat处理,其中包括静态的html页面,这样做本人就认为apache和tomcat的整合就没意思了,虽然我没有测试过,但我估计这样做还没有只用tomcat效果好,试想想,所有访问都由apache转给tomcat处理,而tomcat本身就能全部处理,那apache不就显得有点多余了吗?
在apache和tomcat整合时有很多网友遇到问题,以下是我解决的方法:
1、 问题:访问jsp文件,得到的是jsp源代码;
解决方法:这是由于apache不能解释jsp,而它又没有把jsp的解释工作交给tomcat处理引起的,只要在worker2.propertiess文件里配置jsp的访问解释转移就可以了([uri:/*.jsp] worker=ajp13:localhost:8009 );
2、 问题:访问不了servlet;
解决方法:同1类似;
3、 问题:图片、样式、脚本找不到(掉失);
解决方法:apache和tomcat在WEB应用的根目录设置上要一致如:
Apache:DocumentRoot /usr/website/123/webapps/ROOT
Tomcat:appBase="/usr/website/123/webapps"
然后添加Apache虚拟主机时把80端口的描述去掉,如:
NameVirtualHost *:80
<VirtualHost *:80>
.......
</VirtualHost>
改成
NameVirtualHost *
<VirtualHost *>
.......
</VirtualHost>
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者