整合apache2.2.x和tomcat5.5(转)
2010-02-06 14:13
537 查看
有的同学问,为什么要整合呢,用tomcat不就搞定了吗,而且现在的tomcat5.5以上版本有足够的能力处理静态资源了。但是当你的服务器即需要放Jsp又需要放php的时候,那80端口只能由apache去监听,tomcat无法监听了,整合后tomcat才能作为一个apache的子服务去调用。
Tomcat5.5与apache2.2.x整合,有很多方式,不推荐proxyPass的方式,该方式经过我长期测试,是有bug的。
所以大部分J2EE的网站都是采用JK将二者整合的做法。
Apache版本 2.2.x (x>=3)
过程如下;
1.首先安装apache,装完后把IIS停掉后,再启动 apache 的服务器(安装时根据提示安装即可,安装目录一般不装到系统盘上)
2.安装tomcat(安装之前请先把JDK 安装好)
3.安装tomcat 过程中会需要用户设置用户名和密码,密码部分记住一定要输,最好设置的尽量复杂些
4.安装mysql (安装过程有此不详述)
5.安装完成后把mysql 的驱动程序mysql-connector-java-5.0.4-bin.jar放到apache-tomcat-5.5.23/common/lib下
6.到jk官方去下载者windows对应apache版本的jk ,jk官方下载地址:http://labs.xiaonei.com/apache-mirror/tomcat/tomcat-connectors/jk/binaries/
7.在httpd.conf中配置如下:
a.在该文件中找到这条语句LoadModule rewrite_module modules/mod_rewrite.so 并把这条语句前面的#注释去掉,打开此模块
b.把该条语句LoadModule jk_module modules/mod_jk-1.2.27-win-httpd-2.2.10.so放入该文件中(其中该部分mod_jk-1.2.27-win-httpd-2.2.10.so是你所下的JK的版本号),是为了让tomcat和apache进行通信的
c.把此语句DocumentRoot "D:/Program Files/Apache Software Foundation/Apache2.2/htdocs" 改为 DocumentRoot "D:/webroot",(调置所有网站的家目录,若启用虚拟主机功能此设置自动失效)
d.把此语句<Directory "D:/Program Files/Apache Software Foundation/Apache2.2/htdocs">改为<Directory "D:/webroot">(为所有网站设置公共目录属性)
e.把此语句Options Indexes FollowSymLinks改为Options FollowSymLinks (禁止用户进行目录浏览)
f. 把此语句AllowOverride None 改为AllowOverride All(使网站自已的重写规则生效)
g.把此语句DirectoryIndex index.html后添加 index.htm index.jsp 等(为网站目录设置默认首页)
h.#Include conf/extra/httpd-vhosts.conf前的#注释去掉,是为了启用虚拟主机
8.配置apache-tomcat-5.5.23/conf下的server.xml文件 为localhost添加context单元。
a.如果只有一个域名,就只需添加context单元
<Context path="/web1" docBase="D:/webroot/web1" >
<Resource name="jdbc/testDataSource" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000" removeAbandoned="true"
username="root" password="123" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/web1db?useUnicode=true&characterEncoding=utf8"/>
</Context>
apache httpd.conf中找到#Include conf/extra/httpd-vhosts.conf,去掉#号
Apache Software Foundation/Apache2.2/conf/extra/vhost.conf 文件需要添加一个VirtualHost目录
<VirtualHost *:80> DocumentRoot D:/webroot </VirtualHost>
b.如果多于一个域名,则需要添加host单元(context应包含其中)
<Host name="www.javadn.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Alias>javadn.com</Alias>
<Context path="" docBase="D:/webroot/web1">
<Resource name="jdbc/testDataSource" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" removeAbandoned="true" username="root" password="123" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/web1db?useUnicode=true&characterEncoding=utf8" />
</Context>
</Host>
注:Alias别名可以指定多个,每在server.xml文件中添加一个host单元,就必须在vhost.conf文件中对应的添加一个VirtualHost单元,vhost.conf文件中的ServerName的值对应server.xml中的Host单元的name值, ServerAlias 对应server.xml中的 Alias值,如果有多个别名,可以排着往后写例如:ServerAlias javadn.com aaa.com www.bbb.com
附:VirtualHost 常用配置
<VirtualHost *:80>
DocumentRoot D:/webroot
JkMount /*.jsp ajp13(遇到.jsp的文就会通过ajp13交给tomcat来处理,像.jpg,.gif等文件则由apache来处理)
JkMount /*.do ajp13
ServerName www.javadn.com
ServerAlias javadn.com aaa.com www.bbb.com
</VirtualHost>
以上.do和.jsp 文件交由tomcat来处理;网站中的静态文件都交由apache来处理,因为apahce本身处理静态文件的速度比tomcat要快 ,这样一来动态文件由tomcat来处理,静态文件由apache来处理,不但减轻了tomcat的负担而且还有效的提高了网站的访问速度。
重启Tomcat,重启Apache,成功。就是这么简单,注意上面的ajp13,直接用就可以,我发现在Apache2.2.3以后的jk版本中已经默认实现了。
Tomcat5.5与apache2.2.x整合,有很多方式,不推荐proxyPass的方式,该方式经过我长期测试,是有bug的。
所以大部分J2EE的网站都是采用JK将二者整合的做法。
Apache版本 2.2.x (x>=3)
过程如下;
1.首先安装apache,装完后把IIS停掉后,再启动 apache 的服务器(安装时根据提示安装即可,安装目录一般不装到系统盘上)
2.安装tomcat(安装之前请先把JDK 安装好)
3.安装tomcat 过程中会需要用户设置用户名和密码,密码部分记住一定要输,最好设置的尽量复杂些
4.安装mysql (安装过程有此不详述)
5.安装完成后把mysql 的驱动程序mysql-connector-java-5.0.4-bin.jar放到apache-tomcat-5.5.23/common/lib下
6.到jk官方去下载者windows对应apache版本的jk ,jk官方下载地址:http://labs.xiaonei.com/apache-mirror/tomcat/tomcat-connectors/jk/binaries/
7.在httpd.conf中配置如下:
a.在该文件中找到这条语句LoadModule rewrite_module modules/mod_rewrite.so 并把这条语句前面的#注释去掉,打开此模块
b.把该条语句LoadModule jk_module modules/mod_jk-1.2.27-win-httpd-2.2.10.so放入该文件中(其中该部分mod_jk-1.2.27-win-httpd-2.2.10.so是你所下的JK的版本号),是为了让tomcat和apache进行通信的
c.把此语句DocumentRoot "D:/Program Files/Apache Software Foundation/Apache2.2/htdocs" 改为 DocumentRoot "D:/webroot",(调置所有网站的家目录,若启用虚拟主机功能此设置自动失效)
d.把此语句<Directory "D:/Program Files/Apache Software Foundation/Apache2.2/htdocs">改为<Directory "D:/webroot">(为所有网站设置公共目录属性)
e.把此语句Options Indexes FollowSymLinks改为Options FollowSymLinks (禁止用户进行目录浏览)
f. 把此语句AllowOverride None 改为AllowOverride All(使网站自已的重写规则生效)
g.把此语句DirectoryIndex index.html后添加 index.htm index.jsp 等(为网站目录设置默认首页)
h.#Include conf/extra/httpd-vhosts.conf前的#注释去掉,是为了启用虚拟主机
8.配置apache-tomcat-5.5.23/conf下的server.xml文件 为localhost添加context单元。
a.如果只有一个域名,就只需添加context单元
<Context path="/web1" docBase="D:/webroot/web1" >
<Resource name="jdbc/testDataSource" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000" removeAbandoned="true"
username="root" password="123" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/web1db?useUnicode=true&characterEncoding=utf8"/>
</Context>
apache httpd.conf中找到#Include conf/extra/httpd-vhosts.conf,去掉#号
Apache Software Foundation/Apache2.2/conf/extra/vhost.conf 文件需要添加一个VirtualHost目录
<VirtualHost *:80> DocumentRoot D:/webroot </VirtualHost>
b.如果多于一个域名,则需要添加host单元(context应包含其中)
<Host name="www.javadn.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Alias>javadn.com</Alias>
<Context path="" docBase="D:/webroot/web1">
<Resource name="jdbc/testDataSource" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" removeAbandoned="true" username="root" password="123" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/web1db?useUnicode=true&characterEncoding=utf8" />
</Context>
</Host>
注:Alias别名可以指定多个,每在server.xml文件中添加一个host单元,就必须在vhost.conf文件中对应的添加一个VirtualHost单元,vhost.conf文件中的ServerName的值对应server.xml中的Host单元的name值, ServerAlias 对应server.xml中的 Alias值,如果有多个别名,可以排着往后写例如:ServerAlias javadn.com aaa.com www.bbb.com
附:VirtualHost 常用配置
<VirtualHost *:80>
DocumentRoot D:/webroot
JkMount /*.jsp ajp13(遇到.jsp的文就会通过ajp13交给tomcat来处理,像.jpg,.gif等文件则由apache来处理)
JkMount /*.do ajp13
ServerName www.javadn.com
ServerAlias javadn.com aaa.com www.bbb.com
</VirtualHost>
以上.do和.jsp 文件交由tomcat来处理;网站中的静态文件都交由apache来处理,因为apahce本身处理静态文件的速度比tomcat要快 ,这样一来动态文件由tomcat来处理,静态文件由apache来处理,不但减轻了tomcat的负担而且还有效的提高了网站的访问速度。
重启Tomcat,重启Apache,成功。就是这么简单,注意上面的ajp13,直接用就可以,我发现在Apache2.2.3以后的jk版本中已经默认实现了。
相关文章推荐
- jk方法实现linux下apache2.2和tomcat5.5整合(转)
- Apache2.2和Tomcat5.5整合
- tomcat5.5与apache2.2整合
- 整合apache2.2和tomcat5.5
- jk方法实现linux下apache2.2和tomcat5.5整合
- 整合Apache2.2和Tomcat5.5
- JSP环境配置 Apache2.2和Tomcat5.5整合
- windows2003 sp2下IIS6、Apache2.2、Tomcat5.5之整合
- apache2.2.x(x>=3)安装配置及与tomcat5.5整合
- apache2.2和tomcat5.5整合(绝对可行)
- apache2.2与tomcat5.5整合
- CentOS4.4下整合apache2.2和tomcat5.5
- JSP初级系列--apache2.2和tomcat5.5整合(绝对可行)
- JSP环境配置 Apache2.2和Tomcat5.5整合
- JSP环境配置 Apache2.2和Tomcat5.5整合
- 最新版Apache2.2与Tomcat的整合指南
- apache2.2+tomcat7.0整合配置
- Windows下整合Apache2.2和Tomcat6.0 集群与负载均衡
- Apache2.2+Tomcat7.0整合配置详解
- Apache2.2 + tomcat5.5 集群以及负载均衡配置测试