Linux下Apache与Tomcat整合,请求转发【实践成功记录版本】
2014-08-30 23:36
615 查看
使用场景:
引文:
最近在项目中碰到一个问题,我们团队为了节约项目成本,从朋友那边借了一台服务器来跑我们的应用,但之前在这台服务器上面已经跑了一个tomcat的应用,占用了80端口,那么我们的应用就只能占用80以外的端口了,比如8080,这就导致了请求非常不友好,必须用类似http://www.bbb.com:8080来访问我们的应用。后来在Apache的功能支持下,实现了一台服务器上用同一个端口(80)分发到不同的应用,具体过程如下:
1、准备,下载需要的文件。
软件下载:
1. jdk1.6.x http://java.sun.com/javase/downloads/index.jsp
2. tomcat6.x http://tomcat.apache.org/download-60.cgi
3. apache2.x http://httpd.apache.org/download.cgi
4. jk_mod1.2.x http://tomcat.apache.org/download-connectors.cgi
到Apache官方网站下载所需要的文件:
httpd-2.2.27.tar.gz
apache-tomcat-6.0.18.tar.gz
tomcat-connectors-1.2.40-src.tar.gz
其中httpd和tomcat-connectors-1.2.40-src.tar.gz为源码包,apache-tomcat为二进制包。
2、安装Apache。
# tar xzvf httpd-2.2.27.tar.gz
# cd httpd-2.2.27
# ./configure --prefix=/usr/local/apache2 --enable-so
# make clean all
# make
# make install
【可参考】
3、安装Tomcat。
#
cp apache-tomcat-6.0.18.tar.gz /usr/local/
# cd /usr/local
# tar xzvf apache-tomcat-6.0.18.tar.gz
# ln -s apache-tomcat-6.0.18 tomcat6
【重要】
4、编译生成mod_jk。
#
tar xzvf
tomcat-connectors-1.2.40-src.tar.gz
# cdtomcat-connectors-1.2.40-src/native
# ./configure --with-apxs=/usr/local/apache2/bin/apxs
# make
# cp ./apache-2.0/mod_jk.so /usr/local/apache2/modules/
5、配置。
在/usr/local/apache2/conf/下面建立两个配置文件mod_jk.conf和workers.properties。
#vi
mod_jk.conf
添加以下内容:
#viworkers.properties
修改httpd.conf,在最后添加
6、修改tomcat配置
7、测试准备工作:
在host文件中设置本地域名:
#test
127.0.0.1 www.aaa.com
127.0.0.1 www.fff.com
8. 大功告成,可以用http://www.aaa.com和http://www.fff.com分别访问两个不同的应用了。
小结:
windows和linux配置基本一样,本次实践最大区别在于linux下chongxin编译so文件。
主要参考文章:http://blog.chinaunix.net/uid-7530389-id-2050054.html
引文:
最近在项目中碰到一个问题,我们团队为了节约项目成本,从朋友那边借了一台服务器来跑我们的应用,但之前在这台服务器上面已经跑了一个tomcat的应用,占用了80端口,那么我们的应用就只能占用80以外的端口了,比如8080,这就导致了请求非常不友好,必须用类似http://www.bbb.com:8080来访问我们的应用。后来在Apache的功能支持下,实现了一台服务器上用同一个端口(80)分发到不同的应用,具体过程如下:
1、准备,下载需要的文件。
软件下载:
1. jdk1.6.x http://java.sun.com/javase/downloads/index.jsp
2. tomcat6.x http://tomcat.apache.org/download-60.cgi
3. apache2.x http://httpd.apache.org/download.cgi
4. jk_mod1.2.x http://tomcat.apache.org/download-connectors.cgi
到Apache官方网站下载所需要的文件:
httpd-2.2.27.tar.gz
apache-tomcat-6.0.18.tar.gz
tomcat-connectors-1.2.40-src.tar.gz
其中httpd和tomcat-connectors-1.2.40-src.tar.gz为源码包,apache-tomcat为二进制包。
2、安装Apache。
# tar xzvf httpd-2.2.27.tar.gz
# cd httpd-2.2.27
# ./configure --prefix=/usr/local/apache2 --enable-so
# make clean all
# make
# make install
【可参考】
3、安装Tomcat。
#
cp apache-tomcat-6.0.18.tar.gz /usr/local/
# cd /usr/local
# tar xzvf apache-tomcat-6.0.18.tar.gz
# ln -s apache-tomcat-6.0.18 tomcat6
【重要】
4、编译生成mod_jk。
#
tar xzvf
tomcat-connectors-1.2.40-src.tar.gz
# cdtomcat-connectors-1.2.40-src/native
# ./configure --with-apxs=/usr/local/apache2/bin/apxs
# make
# cp ./apache-2.0/mod_jk.so /usr/local/apache2/modules/
5、配置。
在/usr/local/apache2/conf/下面建立两个配置文件mod_jk.conf和workers.properties。
#vi
mod_jk.conf
添加以下内容:
#设置Apache与Tomcat之间的连接,让Apache遇到jsp文件时,在后台将其交由Tomcat去处理 #加载 mod_jk 模块 LoadModule jk_module modules/mod_jk.so #指定tomcat监听配置文件地址 JkWorkersFile conf/workers.properties #指定日志存放位置 JkLogFile logs/mod_jk.log #指定日志级别 JkLogLevel debug # 指定 mod_jk 模块的日志格式 JkLogStampFormat "[%a %b %d %H:%M:%S %Y]
#viworkers.properties
worker.list=tomcatA,tomcatB # localhost tomcatA worker.tomcatA.type = ajp13 worker.tomcatA.host = localhost worker.tomcatA.port = 9009 worker.tomcatA.lbfactor = 50 worker.tomcatA.cachesize = 10 worker.tomcatA.cache_timeout = 600 worker.tomcatA.socket_keepalive = 1 worker.tomcatA.recycle_timeout = 300 # localhost tomcatB worker.tomcatB.type = ajp13 worker.tomcatB.host = localhost worker.tomcatB.port = 29009 worker.tomcatB.lbfactor = 50 worker.tomcatB.cachesize = 10 worker.tomcatB.cache_timeout = 600 worker.tomcatB.socket_keepalive = 1 worker.tomcatB.recycle_timeout = 300
修改httpd.conf,在最后添加
#add mod_jk.conf Include /usr/local/apache2/conf/mod_jk.conf #不可缺少,否则只有一个tomcat能运行 NameVirtualHost *:80 <VirtualHost *:80> ServerName www.aaa.com ServerAlias www.aaa.com ErrorLog logs/aaa-error_log.txt CustomLog logs/aaa-access_log.txt common JkMount /* tomcatA </VirtualHost> <VirtualHost *:80> ServerName www.fff.com ServerAlias www.fff.com ErrorLog logs/fff-error_log.txt CustomLog logs/fff-access_log.txt common JkMount /* tomcatB </VirtualHost>
6、修改tomcat配置
修改tomcat下的server.xml 端口: 多个Tomcat的端口修改,为了避免占用情况: 端口1:关闭端口:<Server port="XXXX" shutdown="SHUTDOWN"> 端口2:ajp11的端口: <Connector port="XXXX" protocol="AJP/1.3" redirectPort="8443" /> 端口3:修改 http 的端口:<Connector port="XXXX" protocol="HTTP/1.1" maxThreads="150" connectionTimeout="20000" redirectPort="8443" /> engine设置: Engine 主要是配置 jvmRoute 属性 <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcatA"> <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcatB">
7、测试准备工作:
在host文件中设置本地域名:
#test
127.0.0.1 www.aaa.com
127.0.0.1 www.fff.com
8. 大功告成,可以用http://www.aaa.com和http://www.fff.com分别访问两个不同的应用了。
小结:
windows和linux配置基本一样,本次实践最大区别在于linux下chongxin编译so文件。
主要参考文章:http://blog.chinaunix.net/uid-7530389-id-2050054.html
相关文章推荐
- 用Apache分发同一个服务器上的多个应用【实践成功记录版本】
- linux下apache与tomcat整合
- Linux下Tomcat与Apache Web服务器整合
- Linux(Redhat as4)Apache2整合Tomcat6的实践
- 浅谈apache和tomcat在linux下的整合
- 研究tomcat和apache的整合成功例子
- apache+tomcat整合(linux平台)
- Linux下Tomcat与Apache Web服务器的整合
- linux中apache+tomcat的整合
- Linux 下 Apache 与 Tomcat 整合的简单方法
- 在Linux下进行Apache+tomcat整合
- Linux下Tomcat与Apache Web服务器整合
- linux Apache和tomcat 完美整合
- Linux系统下Apache与Tomcat整合的简单方法 ZT
- Linux下安装Tomcat到80端口?(如何整合Tomcat与Apache)
- 浅谈apache和tomcat在linux下的整合
- Linux下Apache整合Tomcat
- Linux系统下Apache与Tomcat整合的简单方法 ZT
- Linux下Apache与Tomcat整合的简单方法
- Linux下Apache与Tomcat整合的方法