linux/windows下Apache2.2.4整合Tomcat6.0.16三种方式的详细配置过程
2011-03-25 01:26
816 查看
通常都是通过JK_MOD来整合Apache和Tomcat,但是Apache2.2版本以上整合Tomcat可以直接通过AJP_PROXY来完成,很方便。下面把几种方式都简单讲讲。
假设一个Apache,两个Tomcat容器,访问 a.hackang.cn 和 b.hackang.cn 分别对应 tomcata 和 tomcatb 的应用
第一种方式:JK_PROXY
安装好Apache和Tomcat,下载mod_jk-1.2.26-httpd-2.2.4.so (2.2.4对应着Apache版本)
将mod_jk-1.2.26-httpd-2.2.4.so 放到Apache安装目录的modules文件夹下。
在Apache安装目录的conf文件夹创建workers.properties配置文件,内容如下:
编辑apache配置文件httpd.conf,在文件末尾加上以下内容:
下面是Tomcat的配置,很重要。
tomcata可以使用默认配置,如果想访问 a.hackang.cn直接显示某应用的首页,可在tomcata的配置文件server.xml里面的host节点间加上
docBase指向的你应用所在的文件夹,不能将此应用部署到tomcata的webapps文件夹中。否则就有两个应用了,一个是根访问路径,一个是根访问路径+应用名了。
tomcatb的配置要稍加修改,修改 conf/server.xml文件
<Server port="8005" shutdown="SHUTDOWN">将此处的端口号改掉,不能与tomcata的相同,比如可以改成 9005
修改默认的8080端口为9090,修改后如下:
修改端口号为8009的Connector
修改前为:
<Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
修改后:
<Connector port="9009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
此处的9009跟workers.properties文件中tomcatb的端口号是一致的。
如果也想访问 b.hackang.cn时直接显示应用b,配置方法同a,以上已经提及,只需将docBase="E:\myweb\a" 改成 docBase="E:\myweb\b"即可
最后编辑C:\WINDOWS\system32\drivers\etc\hosts文件,在最后加上两个映射
127.0.0.1 a.hackang.cn
127.0.0.1 b.hackang.cn
至此,配置就结束了,可以用Apache的Test Configuration命令测试一下配置文件,如果没有问题,启动Apache,再分别启动两个Tomcat就ok了
第二种方式配置: ajp
apache2.2以上版本,无需使用jk_mod来集成tomcat,直接使用ajp,很方便。
修改apache配置文件httpd.conf
启用mod_proxy_ajp
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
把这两行前面的#去掉即可
然后在末尾加上
<VirtualHost *:80>
ProxyPass / ajp://127.0.0.1:8009/
ProxyPassReverse / ajp://127.0.0.1:8009/
ServerName a.hackang.cn
</VirtualHost>
<VirtualHost *:80>
ProxyPass / ajp://127.0.0.1:9009/
ProxyPassReverse / ajp://127.0.0.1:9009/
ServerName b.hackang.cn
</VirtualHost>
搞定!!!方便吧,我现在用的就是这种。
在Ubuntu下整合请注意:
===================================
apache2.2以上版本,无需使用jk_mod来集成tomcat,直接使用ajp,很方便。
默认proxy是没有加载的,所以要先加载:
#sudo a2enmod proxy_ajp
#sudo a2enmod proxy
修改apache配置文件httpd.conf,一开始它是空的,增加
##启动mod_proxy_ajp
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
##添加tomcat整合
<VirtualHost *:80>
ProxyPass / ajp://127.0.0.1:8009/
ProxyPassReverse / ajp://127.0.0.1:8009/
ServerName b.jystuan.com
</VirtualHost>
然后重新加载;server apache2 reload
重启apache2服务:server apache2 restart
===================================
第三种方式
第三种方式其实跟第二种差不多,只不过用的是http端口
<VirtualHost *:80>
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/
ServerName a.hackang.cn
</VirtualHost>
<VirtualHost *:80>
ProxyPass / http://127.0.0.1:9090/
ProxyPassReverse / http://127.0.0.1:9090/
ServerName b.hackang.cn
</VirtualHost>
此处的9090跟tomcatb中配置的http端口一致
到此Apache整合Tomcat全部结束,若要加强tomcat处理静态资源的能力,可以启用APR服务。
假设一个Apache,两个Tomcat容器,访问 a.hackang.cn 和 b.hackang.cn 分别对应 tomcata 和 tomcatb 的应用
第一种方式:JK_PROXY
安装好Apache和Tomcat,下载mod_jk-1.2.26-httpd-2.2.4.so (2.2.4对应着Apache版本)
将mod_jk-1.2.26-httpd-2.2.4.so 放到Apache安装目录的modules文件夹下。
在Apache安装目录的conf文件夹创建workers.properties配置文件,内容如下:
#下面是Tomcat实例列表 worker.list=tomcata,tomcatb #tomcata实例配置 worker.tomcata.host=127.0.0.1 worker.tomcata.port=8009 worker.tomcata.type=ajp13 #tomcatb实例配置 worker.tomcatb.host=127.0.0.1 worker.tomcatb.port=9009 worker.tomcatb.type=ajp13 |
#以下为tomcat集成配置部分 LoadModule jk_module modules/mod_jk-1.2.26-httpd-2.2.4.so JkWorkersFile conf/workers.properties JkLogFile logs/mod_jk.log JkLogLevel info #如果机器有多个IP地址请务必使用*号 NameVirtualHost *:80 #a.hackang.cn虚拟站点 <VirtualHost *:80> ServerName a.hackang.cn JkMount /*.* tomcata JkMount /* tomcata DirectoryIndex index.jsp </VirtualHost> #b.hackang.cn虚拟站点 <VirtualHost *:80> ServerName b.hackang.cn JkMount /*.* tomcatb DirectoryIndex index.jsp </VirtualHost> |
tomcata可以使用默认配置,如果想访问 a.hackang.cn直接显示某应用的首页,可在tomcata的配置文件server.xml里面的host节点间加上
<Context className="org.apache.catalina.core.StandardContext" cachingAllowed="true" charsetMapperClass="org.apache.catalina.util.CharsetMapper" cookies="true" crossContext="false" debug="0" displayName="a.hackang.cn" docBase="E:\myweb\a" mapperClass="org.apache.catalina.core.StandardContextMapper" path="" privileged="false" reloadable="false" swallowOutput="false" useNaming="true" wrapperClass="org.apache.catalina.core.StandardWrapper"> </Context> |
tomcatb的配置要稍加修改,修改 conf/server.xml文件
<Server port="8005" shutdown="SHUTDOWN">将此处的端口号改掉,不能与tomcata的相同,比如可以改成 9005
修改默认的8080端口为9090,修改后如下:
<Connector port="9090" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" /> |
修改前为:
<Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
修改后:
<Connector port="9009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
此处的9009跟workers.properties文件中tomcatb的端口号是一致的。
如果也想访问 b.hackang.cn时直接显示应用b,配置方法同a,以上已经提及,只需将docBase="E:\myweb\a" 改成 docBase="E:\myweb\b"即可
最后编辑C:\WINDOWS\system32\drivers\etc\hosts文件,在最后加上两个映射
127.0.0.1 a.hackang.cn
127.0.0.1 b.hackang.cn
至此,配置就结束了,可以用Apache的Test Configuration命令测试一下配置文件,如果没有问题,启动Apache,再分别启动两个Tomcat就ok了
第二种方式配置: ajp
apache2.2以上版本,无需使用jk_mod来集成tomcat,直接使用ajp,很方便。
修改apache配置文件httpd.conf
启用mod_proxy_ajp
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
把这两行前面的#去掉即可
然后在末尾加上
<VirtualHost *:80>
ProxyPass / ajp://127.0.0.1:8009/
ProxyPassReverse / ajp://127.0.0.1:8009/
ServerName a.hackang.cn
</VirtualHost>
<VirtualHost *:80>
ProxyPass / ajp://127.0.0.1:9009/
ProxyPassReverse / ajp://127.0.0.1:9009/
ServerName b.hackang.cn
</VirtualHost>
搞定!!!方便吧,我现在用的就是这种。
在Ubuntu下整合请注意:
===================================
apache2.2以上版本,无需使用jk_mod来集成tomcat,直接使用ajp,很方便。
默认proxy是没有加载的,所以要先加载:
#sudo a2enmod proxy_ajp
#sudo a2enmod proxy
修改apache配置文件httpd.conf,一开始它是空的,增加
##启动mod_proxy_ajp
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
##添加tomcat整合
<VirtualHost *:80>
ProxyPass / ajp://127.0.0.1:8009/
ProxyPassReverse / ajp://127.0.0.1:8009/
ServerName b.jystuan.com
</VirtualHost>
然后重新加载;server apache2 reload
重启apache2服务:server apache2 restart
===================================
第三种方式
第三种方式其实跟第二种差不多,只不过用的是http端口
<VirtualHost *:80>
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/
ServerName a.hackang.cn
</VirtualHost>
<VirtualHost *:80>
ProxyPass / http://127.0.0.1:9090/
ProxyPassReverse / http://127.0.0.1:9090/
ServerName b.hackang.cn
</VirtualHost>
此处的9090跟tomcatb中配置的http端口一致
到此Apache整合Tomcat全部结束,若要加强tomcat处理静态资源的能力,可以启用APR服务。
相关文章推荐
- Apache 2.2.4整合Tomcat 6.0.16三种方式的详细配置过程
- Apache2.2.4整合Tomcat6.0.16三种方式的详细配置过程
- Apache2.2.4整合Tomcat6.0.16三种方式的详细配置过程
- Apache2.2.4整合Tomcat6.0.16三种方式的详细配置过程
- Apache+tomcat的集群详细配置过程(2014-02-21)
- linux下Apache2.2.4 + tomcat5.5+php 一个IP配置多域名,虚拟主机
- linux下apache+tomcat集群详细配置
- Windows 下 Apache HTTP Server 安装、配置以及与 Tomcat 的整合(附图)
- Windows下Apache+Tomcat+MySQL+jsp+php的服务器整合配置经验
- windows下、apache 2.2 与tomcat 7 通过jk方式实现 负载均衡配置
- Apache + JK + Tomcat + 虚拟主机 架构的整合配置方式
- Apache 与 Tomcat 整合(Linux + Windows)
- Tomcat7.0.22在Windows下详细配置过程
- Windows下Apache+Tomcat+MySQL+jsp+php的服务器整合配置经验总结
- Windows 下 Apache HTTP Server 安装、配置以及与 Tomcat 的整合(附图)
- 在windows下配置Apache和Tomcat的整合
- 一台电脑上同启动两个Tomcat的方式,windows/Linux配置
- tomcat整合apache Server部署web项目详细操作过程
- Windows 下 Apache HTTP Server 安装、配置以及与 Tomcat 的整合(附图)
- Windows 下 Apache HTTP Server 安装、配置以及与 Tomcat 的整合(附图)