设为首页 收藏本站
查看: 826|回复: 0

[经验分享] apache+tomcat整合宝典(二)

[复制链接]

尚未签到

发表于 2018-11-25 13:19:43 | 显示全部楼层 |阅读模式
  3.2.4.            新建www.a.com.conf文件

位置:$apache_base/conf/vhost/www.a.com.conf



加入以下代码(根据情况做相应修改)




  • #设置虚拟主机

  •        ServerAdmin www.a.com

  •        DocumentRoot E:\\a\\

  •        ServerName www.a.com

  •        DirectoryIndex index.html

  •        ErrorLog logs/a-error_log.txt

  •   
  •        # 根目录,能访问所有

  •         

  •            Options FollowSymLinks
  •            AllowOverride None
  •            Order deny,allow
  •            allow from all

  •         
  •   
  •        # WEB-INF 目录,禁止访问

  •         

  •            deny from all
  •         
  •   
  •        # META-INF 目录,禁止访问

  •         

  •            deny from all
  •         
  •   
  •   
  •        # 下面配置为静态资源全部交由apache处理,其他资源由tomcat处理

  •        JkMount /* a_worker
  •   
  •        JkUnmount /*.jpg a_worker
  •        JkUnmount /*.png a_worker
  •        JkUnmount /*.gif a_worker
  •        JkUnmount /*.bmg a_worker
  •        JkUnmount /*.html a_worker
  •        JkUnmount /*.htm a_worker
  •        #JkUnmount /*.js a_worker
  •        JkUnmount /*.css a_worker
  •        JkUnmount /*.xml a_worker
  •        JkUnmount /*.swf a_worker
  •   






说明:

同学的网站使用了struts2框架,但不知道匹配规则是啥,所以我就配置所有请求都通过tomcat处理,下面的静态资源配置则通过apache处理。而且同学使用了dwr框架,好像js文件不能通过apache处理,所有js那个就注释掉了。





都配置完成了。重启apache服务,不出错就说明配置没问题了。



访问域名www.a.com(如果没做dns解析的就修改hosts文件吧)。



OK,成功了。



3.3.    多个web项目



如果这台服务器的一个tomcat运行着多个web项目时。如果还想用到mok_jk模块,就只能使用tomcat的虚拟主机了。配置大致相同。



tomcatserver.xml文件

将之前的Context删掉,加入两个web项目的虚拟主机配置








  •          

  •          

  •          


  workers.properties 文件

增加一个worker配置






  • worker.list=a_worker,b_worker
  •   
  • worker.a_worker.port=8009
  • worker.a_worker.host=www.a.com
  • worker.a_worker.type=ajp13
  • worker.a_worker.socket_keepalive=True
  •   
  • worker.b_worker.port=8009
  • worker.b_worker.host=www.b.com
  • worker.b_worker.type=ajp13
  • worker.b_worker.socket_keepalive=True


  httpd.conf 文件

导入虚拟主机文件




  • # 虚拟主机配置
  • NameVirtualHost *:80
  •   
  • Include conf/vhost/www.a.com.conf
  • Include conf/vhost/www.b.com.conf







重新启动tomcatapache。都成功则apache+tomcat整合多个项目完成。



4.apache + tomcat + mod_proxy_ajp


  mod_proxy_ajpapache自带的ajp协议代理模块,只需要在apache配置文件中启用就能使用,无需下载。



注意:下面将的配置跟3.节讲的配置可能完全不一样。这两个版本之前最好先做一下原始备份,不然两种配置版本混合在一起可能造成冲突,带给自己不必要的麻烦。



4.1.    配置tomcat



这里没什么特别的地方,跟3.1.节一样
  注意:使用mod_proxy_ajp 可以使用tomcat的虚拟目录的配置方式





  •          
  •          
  •          
  •          
  •          
  •          



  注意:上面的sessionCookiePath属性配置成“/”值的作用要说明一下。配置tomcat的虚拟目录,会导致项目中sessioncookiepath字段跟contextpath字段一致。如果只用[color=br /red]tomcat就不会出现问题,只要跟其他web服务器整合时,访问contextpath就会变成“”””或“”/””,就跟tomcatsession cookie path不一致,会导致session无效。所以必须将tomcatsessionCookiePath设置为“/”。




  加不加这个属性的区别只需使用chromefirefox浏览器查看响应头就清楚了。



4.2.    配置apache


  mod_proxy_ajpapache自带的ajp协议代理模块,只需要在apache配置文件中启用就能使用,无需下载



4.2.1.            配置httpd.conf



找到本文件中的下面加载模块代码,将前面的注释去掉






  • # 启用 ajp 代理
  • LoadModule proxy_module modules/mod_proxy.so
  • LoadModule proxy_ajp_module modules/mod_proxy_ajp.so



文件最后面继续导入虚拟主机配置






  • # 虚拟主机配置
  • NameVirtualHost *:80
  •   
  • Include conf/vhost/www.a.com.conf
  • Include conf/vhost/www.b.com.conf





4.2.2.            配置www.a.com.conf

这个文件跟3.2.4.节最大的区别就是模块的不同(绿色部分)






  • #设置虚拟主机

  •        DocumentRoot C:\\data\\a\\

  •        ServerName www.a.com

  •        DirectoryIndex index.html

  •        ErrorLog logs/a-error_log.txt

  •   
  •        # 根目录,能访问所有

  •         

  •            Options FollowSymLinks
  •            AllowOverride None
  •            Order deny,allow
  •            allow from all
  •         
  •   
  •        # WEB-INF 目录,禁止访问

  •         

  •            deny from all
  •         
  •   
  •        # META-INF 目录,禁止访问

  •         

  •            deny from all
  •         
  •   
  •   
  •        # 下面配置为静态资源全部交由apache处理,其他资源由tomcat处理

  •        ProxyPassMatch .*\.jpg !
  •        ProxyPassMatch .*\.png !
  •        ProxyPassMatch .*\.gif !
  •        ProxyPassMatch .*\.bmg !
  •        ProxyPassMatch .*\.html !
  •        ProxyPassMatch .*\.htm !
  •        ProxyPassMatch .*\.js !
  •        ProxyPassMatch .*\.css !
  •        ProxyPassMatch .*\.xml !
  •        ProxyPassMatch .*\.xml !
  •       
  •        ProxyPass / ajp://localhost:8009/a/
  •        ProxyPa***everse / ajp://localhost:8009/a/
  •   




4.2.3.            配置www.b.com.conf



www.a.com.conf文件类似





配置完成后,重启tomcatapache,页面又能访问了。







5.后记



同学的多个web项目还是不能使用tomcat的虚拟目录方式发布,可能是他的struts2设置了contextpath,导致重定向时路径出错。所以我帮同学的弄的还是tomcat虚拟主机的配置方式。



本文也做我的整合备忘文档吧。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-639431-1-1.html 上篇帖子: apache+tomcat整合宝典(一) 下篇帖子: Linux主机下无报错安装Apache服务器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表