您的位置:首页 > 运维架构 > Tomcat

Windows环境下APACHE+TOMCAT配置---mod_jk.so

2011-08-22 23:14 465 查看
转载:http://hi.baidu.com/fif%B7%E7%D4%C6/blog/item/b2fe4b102feca200b9127bbc.html

下文只是通过某一版本的Apache+Tomcat的配置方法来说明具体过程。

当使用到不同版本的软件的时候,在官方网站下载对应版本。

1.下载并安装所需文件

1.1 apache2.2.3 (apache_2.2.3-win32-x86-no_ssl.msi)
http://mirror.vmmatrix.net/apache/httpd/binaries/win32/apache_2.2.3-win32-x86-no_ssl.msi

验证 Apache 是否可以运行 http://localhost,应可以看到Apache页面

(最新版本下载:http://httpd.apache.org/download.cgi)

1.2 JDK (jdk-1_5_0_06-windows-i586-p.exe)

1.3 TOMCAT (apache-tomcat-5.5.15.tar.gz或者apache-tomcat-5.5.15.exe)

启动Tomcat ,测试是否安装成功 http://localhost:8080

(最新版本下载:http://tomcat.apache.org/)

1.4 Tomcat Connectors (JK 二进制文件 mod_jk_1.2.18-apache-2.2.2.so)

此版本针对apache 2.2.2 编译,将mod_jk_1.2.18-apache-2.2.2.so重命名为mod_jk.so,并置于APACHE2/modules 目录下

(新版本下载:http://tomcat.apache.org/download-connectors.cgi)

注意选择匹配的apache版本,否则可能配置不成功。当时没有看见正对apache2.3编译的,所以只好使用2.

2.配置连接

要点: 最终要实现通过Apache 80 端口可以访问 Tomcat example ,如可以成功运行这些例子,即说明mod_jk 正常工作,因为Tomcat 的缺省端口是8080

为方便起见,创建三个新的环境变量 如:

J***A_HOME=C:\j2sdk1.4.1_03

CATALINA_HOME=C:\apache-tomcat-5.5.15

APACHE_HOME=C:\Program Files\Apache Group\Apache2

2.1 TOMCAT

2.1.1 编辑CATALINA_HOME\conf 目录下的 server.xml 文件

2.1.2 查找server.xml 带有 server 和 8005 端口的那行,如:<Server port="8005" shutdown="SHUTDOWN" debug="0">,在下面添加以下语句:

<Listener className="org.apache.jk.config.ApacheConfig" modJk="C:/Program Files/Apache Software Foundation/Apache2.2/modules/mod_jk.so" />

注意1:使用TOMCAT4的情况下,这里的className改为:org.apache.ajp.tomcat4.config.ApacheConfig

注意2:modJk里面的文件路径可以是相对于tomcat的路径,这里设为绝对路径。

2.1.3. 在 server.xml 文件 Host 子项处,如:<Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true"& amp; gt;,添加以下语句

<Listener className="org.apache.jk.config.ApacheConfig" append="true" forwardAll="false" modJk="C:/Program Files/Apache Software Foundation/Apache2.2/modules/mod_jk.so" />

注意1:className和文件路径和2.1.2一样。

注意2:forwardAll设为false的时候,只有*.jspx,*.do,*.jsp交给TOMCAT执行,其余的图片,css等文件默认为Apache执行解析;如果设为true,则所有的文件都交由TOMCAT来执行。

2.1.4.检查 Host 名字,确定指向你的Apache Server (缺省为localhost),当然,如果apache 和 tomcat 安装在同一台机器上,且均使用localhost ,则不用修改。

2.2 APACHE

2.2.1 编辑APACHE_HOME\conf 目录下的 httpd.conf 文件。

2.2.2 找到有LoadModule 设置的部分,在后面添加 LoadModule jk_module modules/mod_jk.so

注意:实践中发现其实这个不设置也可以,因为在后面一步加载的mod_jk.conf中已经包含这部分了。

2.2.3 在此文件最后添加 Include C:/apache-tomcat-5.5.15/conf/auto/mod_jk.conf ,

注意:mod_jk.conf 是在Tomcat 启动时自动创建,自动生成的mod_jk.conf 

2.3 创建 workers.properties

这里是配置过程中唯一需要手工建立的文件,CATALINA_HOME/conf/jk 目录(jk目录可手工创建)下的workers.properties,添入以下内容

# BEGIN workers.properties

worker.list=ajp13

worker.ajp13.port=8009

worker.ajp13.host=localhost

worker.ajp13.type=ajp13

# END workers.properties

备注:上述内容比较简单,可以使用一个比较完整的workers.properties
http://www.akadia.com/download/soug/tomcat/html/workers_properties.html

3.测试

3.1 启动TOMCAT,可以看到 Tomcat5.5\conf 目录下有auto\mod_jk.conf 生成。

3.2 待 TOMCAT 启动完成后,启动APACHE。

3.3 访问 http://localhost:8080/examples ,如可以运行例程,说明 tomcat 运行正常

3.4 访问 http://localhost/examples ,如可以运行例程,说明APACHE 与TOMCAT 连接成功,所有JSP 及servlet 请求均被转发给TOMCAT 处理。

============================================================================

按照上面的方法,中间遇到了两上重要问题,必须指出:

1、在C:\tomcat5.5\apache2.2\conf\httpd.conf 中,

必须手工修改这一条,改成这样:

Include "C:\tomcat5.5\conf\auto\mod_jk.conf"

实际上是include 的tomcat里的一个自动生成的那个mod_jk.conf文件,我先前就是在这里指错了,使得apache 2.2 不能启动了。

2、还是httpd.conf文件,要注意,要在这里改成:

<Directory />

Options FollowSymLinks

AllowOverride None

Order deny,allow

Allow from all

</Directory>

否则它提示你没有权限访问examples

有人这样讲:

httpd.conf中:

<Directory />

Options FollowSymLinks

AllowOverride None

Order deny,allow

deny from all

Satisfy all

</Directory>

尝试把deny from all中的deny改成allow

最终,我测试成功了,配置成功了,又一次成功经验。

我输入http://localhost:8080/examples/ 这是tomcat server

与输入http://localhost:88/examples/ 这是httpd server

是一模一样的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: