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

[经验分享] tomcat整合apache小记

[复制链接]
发表于 2016-12-30 11:32:00 | 显示全部楼层 |阅读模式
由于工作原因,这几天整合了一下apache和tomcat,网上找了很多资料,貌似网上各位大哥的资料并不完全一样,呵呵,不过原理大体是一样的,结合了一下大家的资料,自己也整合了一份:
     首先说一下原理吧,apache和tomcat支持现今流行的各种操作系统(linux、windows等),apache作为网站服务器软件对静态html页面,和图片文件等的解析效率比tomcat强,同时也支持Java servlet、jsp,tomcat除了支持Java servlet,jsp外,也可以当做网站服务器使用,不过单单用tomcat的话,一旦网站的访问量过大,占用系统资源的比例也会相应的提高。如果把apache和tomcat整合起来的话,apache就可以分担tomcat的一部分工作,apache负责静态页面的处理,tomcat负责动态页面的处理,具体处理哪些文件,可以根据不同的需要更改apache的配置文件的。
     再说下整合的基本原理,就以接受jsp和html为例,在实际操作中,主要是apache作为主服务器,当监听到jsp或者servlet请求时,将该请求转发给tomcat服务器,tomcat进行解析后,发回apache,再由apache发回用户,在tomcat 里面conf目录的server.xml文件中,有两个的监听端口,分别是默认的8080端口<Connector port="8080" protocol="HTTP/1.1"  connectionTimeout="20000"  redirectPort="8443" />和默认的8009端口<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />,8080主要是用于提供web服务,8009主要用于监听来自apache的请求,当tomcat接收到servlet和jsp请求时,就像tomcat的8009端口发送请求,交由tomcat处理后返回给apache,由apache返回给用户。
整合步骤如下:
运行环境:windows xp home
所需软件:JDK1.6.0_10,tomcat6,apache_2.2.4-win32-x86-no_ssl.,mod_jk-1.2.28-httpd-2.2.4.so
下载地址:

  • JDK:百度一下,你就知道,哈哈...
  • tomcat6:http://tomcat.apache.org/download-60.cgi选择code目录下的zip包。
  • apache_2.2.4-win32-x86-no_ssl:http://archive.apache.org/dist/httpd/binaries/win32/
  • mod_jk-1.2.28-httpd-2.2.4.sohttp://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.28/
下面是配置步骤:
安装软件,并且配置环境变量。
安装软件没有需要特别注意的,安装后配置jdk和tomcat环境变量。
注:配置时把tomcat和apache关掉。
将mod_jk-1.2.28-httpd-2.2.4.so更名为mod_jk.so(对以后配置时比较方便,也可不改),放到D:\softwareinstall\Apache Software Foundation\Apache2.2\modules(apache的安装目录下);

第一步、配置tomcat:
在server.xml中找到:
<Host name="localhost"  appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>

在其中添加:
<Context path="" docBase="D:/www/new8580/ROOT" debug="0" reloadable="true" crossContext="true"/>
其中docBase指向的是项目部署的路径(必须和apache的虚拟目录一致),path必须为空。<host>节点里面的name可以为localhost也可以为域名,appBase为项目所在的文件夹,由于历史原因,root没有删除,不过没有报错,所以暂且先放着,呵呵,配置后如下:
<Host name="www.8580.net"  appBase="new8580"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="D:/www/new8580/ROOT" debug="0" reloadable="true" crossContext="true"/>
</Host>

第二步、在tomcat的conf目录建workers.properties文件,增加内容如下:

  • workers.tomcat_home=D:\install_path\java_path\Tomcat 6.0#让jk知道tomcat的路径
  • workers.java_home=C:\Program Files\Java\jre6#让jk知道jre的路径
  • ps=\
  • worker.list=ajp13#模块版本,这里比较关键,必须和http.conf一致,如果这个名字改了,apache里面的ajp13也要改。
  • worker.ajp13.port=8009#模块端口,若没被暂用则不用修改
  • worker.ajp13.host=localhost#本机,若上面的apache主机不为localhost,则做相应修改
  • worker.ajp13.type=ajp13#类型
  • worker.ajp13.lbfactor=1#代理数,不修改

第三步、配置apache:

  • 在<IfModule ssl_module>。。。。</IfModule>后面加上如下配置:

  • #设置tomcat和apache的连接让apache接收到jsp或servlet请求时转发给tomcat处理。
  • LoadModule jk_module modules/mod_jk.so#mod_jk.so为刚刚修改的jk文件。

  • JkWorkersFile "D:/softwareinstall/Apache Software Foundation/Tomcat 6.0/conf/workers.properties"#指定tomcat监听的地址
  • JkLogFile "D:/softwareinstall/Apache Software Foundation/Tomcat 6.0/logs/mod_jk2.log"#指定日志存放的地址
  • JkLogLevel info
#设置虚拟主机

<VirtualHost *:80>
ServerAdmin 344180222@qq.com
ServerName www.8580.net
DocumentRoot D:/www/new8580/ROOT
DirectoryIndex index.html index.htm index.jsp#用户通过域名访问,寻找index.html index.htm index.jsp此配置相当于web.xml里面的<welcome-file-list><welcome-file>index.snc</welcome-file></welcome-file-list>
JkMount /servlet/* ajp13#让apache支持对servlet的传送,用以tomcat解析
JkMount /*.jsp ajp13#让apache支持对jsp的传送,用以tomcat解析
JkMount /*.do ajp13#让apache支持对以.do传送,用以tomcat解析
</VirtualHost>#设置虚拟目录
<Directory "D:/www/new8580/ROOT">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>

配置完成,如果输入的是localhost则直接输入http://localhost/+目录下的文件即可访问,如果是域名的话,http://www.xxxx.net+目录下的文件即可访问。

运维网声明 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-321644-1-1.html 上篇帖子: iBATIS退出Apache Software Foundation 下篇帖子: 测试工具--Apache JMeter
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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