Lucene 全文检索实践(3)
今天总算有些空闲时间,正好说说第二种方案:使用 mod_jk 做桥接的方式,将 servlet 引擎结合到 httpd 中。
环境
* PHP 4.3.6 prefix=/usr
* Apache 1.3.27 prefix=/usr/local/apache
* j2sdk1.4.1_01 prefix=/usr/local/jdk
* jakarta-tomcat-4.1.24 prefix=/usr/local/tomcat
* 另外需要下载 jakarta-tomcat-connectors-jk-1.2.5-src.tar.gz
配置步骤
1) 安装 JDK 与 Tomcat,这些安装步骤就不多说了。
2) 编译 jakarta-tomcat-connectors-jk-1.2.5-src,生成 mod_jk.so,并将其复制到 apache 的 modules 存放目录:
tar xzf jakarta-tomcat-connectors-jk-1.2.5-src.tar.gz cd jakarta-tomcat-connectors-jk-1.2.5-src/jk/native ./configure --with-apxs=/usr/local/apache/bin/apxs make cp apache-1.3/mod_jk.so /usr/local/apache/libexec
3) 编辑 Apache 配置文件 /usr/local/apache/conf/httpd.conf,加入:
LoadModule jk_module libexec/mod_jk.so AddModule mod_jk.c
这个 LoadModule 语句最好放在其他 LoadModule 语句后边。
同时在配置文件后边加入:
# workers.properties 文件所在路径,后边将对此文件进行讲解 JkWorkersFile /usr/local/apache/conf/workers.properties # jk 的日志文件存放路径 JkLogFile /usr/local/apache/log/mod_jk.log # 设置 jk 的日志级别 [debug/error/info] JkLogLevel info # 选择日志时间格式 JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " # JkOptions 选项设置 JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories # JkRequestLogFormat 设置日志的请求格式 JkRequestLogFormat "%w %V %T" # 映射 /examples/* 到 worker1,worker1 在 workers.properties 文件中定义 JkMount /examples/* worker1
4) 在 /usr/local/apache/conf/ 目录下创建 workers.properties 文件,其内容如下:
# 定义使用 ajp13 的 worker1 worker.list=worker1 # 设置 worker1 的属性(ajp13) worker.worker1.type=ajp13 worker.worker1.host=localhost worker.worker1.port=8009 worker.worker1.lbfactor=50 worker.worker1.cachesize=10 worker.worker1.cache_timeout=600 worker.worker1.socket_keepalive=1 worker.worker1.socket_timeout=300
5) 好了,启动 Tomcat,重启一下 Apache HTTPD Server,访问:http://localhost/examples/index.jsp,看看结果如何,和 http://localhost:8080/examples/index.jsp 是一样的。
提示:如果不想让别人通过 8080 端口访问到你的 Tomcat,可以将 /usr/lcoal/tomcat/conf/server.xml 配置文件中的如下代码加上注释:
<!-- <Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="8080" minProcessors="5" maxProcessors="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" useURIValidationHack="false" disableUploadTimeout="true" /> -->
然后重新启动 Tomcat 即可。
总结
此方案安装配置稍微复杂些,但执行效率要比第一种方案要好很多。所以决定使用这种方案来完成我的 Lucene 全文检索实践任务。
