mod_jk 在 Solaris 10 X86 上的编译安装

mod_jk 只有 For Solaris Sparc 的? Binary , 所以只好手工编译了。 其实很简单的步骤,也算更新一下以前的那个文章吧。

  • 假设 Apache 2 已经架设好
  • 假设 gcc 已经安装好
  • 假设 JK1.2.30 的 Source 已经下载好
  • 假设你是超级用户权限的系统管理员

编译安装步骤:

  1. 解压 source 文件
  2. # cd native
    # ./configure –with-apxs=/usr/sbin/apxs (or where ever the apxs/apxs2 is)
    # make;? make install

这样,一个可用的 mod_jk.so 文件就会在对应的 Apache modules 目录或者 libexec 目录下生成了。

编辑一个 jk.conf 文件如下,可以用 Include 指令把 jk.conf 包含到 httpd.conf 文件中。


<IfDefine 64bit>
LoadModule jk_module modules/64/mod_jk.so
</IfDefine>
<IfDefine !64bit>
LoadModule jk_module modules/mod_jk.so
</IfDefine>

<IfModule mod_jk.c>
JkWorkersFile /path/to/apache2/conf/extra/workers.properties
# Where to put jk shared memory
# Update this path to match your local state directory or logs directory
JkShmFile???? /path/to/apache2/logs/mod_jk.shm
# Where to put jk logs
# Update this path to match your logs directory location (put mod_jk.log next to access_log)
JkLogFile???? /path/to/apache2/logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel??? info
# Select the timestamp log format
JkLogStampFormat “[%a %b %d %H:%M:%S %Y] ”
# Send everything for context /examples to worker named worker1 (ajp13)
JkMount? /* worker1

<LocationMatch ‘.*WEB-INF.*’>
Deny from all
</LocationMatch>

</IfModule>

workers.properties 文件内容如下:

worker.list=worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
workers.tomcat_home=/opt/tomcat

修改 Tomcat 下的 server.xml文件,去掉针对 AJP 的注释。

<!– Define an AJP 1.3 Connector on port 8009 –>
<Connector port=”8009″ protocol=”AJP/1.3″ redirectPort=”8443″ />

重新启动 Apache 后,就可以看到 80 端口上的 Apache 指向了 Tomcat。