apache 2.2 + tomcat 5.5.26
网站test.e21.cn,所在目录/data/webapp/test,http采用虚拟主机方式,jdbc使用oracle
1。安装apache
# tar zxvf httpd-2.2.9.tar.gz
# cd httpd-2.2.9
# ./configure –prefix=/data/app/apache –enable-so
# make & make install
2。编译tomcat-connectors
# tar zxvf tomcat-connectors-1.2.26-src.tar.gz
# cd tomcat-connectors-1.2.26-src/native
# ./configure –with-apxs=/data/app/apache/bin/apxs
# make
# make install
生成/data/app/apache/modules/mod_jk.so
3。安装和配置tomcat
# cd /data/app
# tar zxvf apache-tomcat-5.5.26.tar.gz
# ln -s apache-tomcat-5.5.26 tomcat
# cd tomcat
# vi conf/workers.properties
orkers.properties 定义了每个 worker 的类型、协议、端口等信息。
worker.list=worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
# vi conf/server.xml
在<Engine defaultHost=”localhost” name=”Catalina”> …. </Engine>中增加:
<Host appBase=”/data/webapp/test” name=”test.e21.cn” autoDeploy=”true”>
<Context path=”/” docBase=”/data/webapp/test” />
<!– 定义 access log –>
<Valve className=”org.apache.catalina.valves.AccessLogValve” directory=”logs” prefix=”test_access_log.” suffix=”.txt” pattern=”combined” resolveHosts=”false”/>
</Host>
<Listener className=”org.apache.jk.config.ApacheConfig”
workersConfig=”conf/workers.properties”
modJk=”/data/app/apache/modules/mod_jk.so”
jkLog=”logs/mod_jk.log”
jkDebug=”info”
jkWorker=”worker1″
noRoot=”true”
/>
* workersConfig 是 workers.properties 的位置,这里我没有使用默认的位置,所以在此明确说明了。
* modJk:定义了 mod_jk.so 的具体位置
* jkLog 定义了 mod_jk.log 的位置,这里是 tomcat 下的 logs 目录
* jkDebug:定义日志级别,可以使用的级别有:debug, info, error, 或者 emerg,默认为 emerg
* jkWorker:定义 worker 的名称,必须是在 workers.properties 中定义过的名称,否则可能会出现 internal server error 的错误
* noRoot:如果为 true,则根目录不会映射到 Tomcat 的根目录,false 则映射到 Tomcat 根目录,如果是 false 的话,http://localhost/ 会打开 Tomcat 的欢迎页面(ROOT)
<Context path=”/” docBase=”/data/webapp/test” />
<!– 定义 access log –>
<Valve className=”org.apache.catalina.valves.AccessLogValve” directory=”logs” prefix=”test_access_log.” suffix=”.txt” pattern=”combined” resolveHosts=”false”/>
</Host>
<Listener className=”org.apache.jk.config.ApacheConfig”
workersConfig=”conf/workers.properties”
modJk=”/data/app/apache/modules/mod_jk.so”
jkLog=”logs/mod_jk.log”
jkDebug=”info”
jkWorker=”worker1″
noRoot=”true”
/>
* workersConfig 是 workers.properties 的位置,这里我没有使用默认的位置,所以在此明确说明了。
* modJk:定义了 mod_jk.so 的具体位置
* jkLog 定义了 mod_jk.log 的位置,这里是 tomcat 下的 logs 目录
* jkDebug:定义日志级别,可以使用的级别有:debug, info, error, 或者 emerg,默认为 emerg
* jkWorker:定义 worker 的名称,必须是在 workers.properties 中定义过的名称,否则可能会出现 internal server error 的错误
* noRoot:如果为 true,则根目录不会映射到 Tomcat 的根目录,false 则映射到 Tomcat 根目录,如果是 false 的话,http://localhost/ 会打开 Tomcat 的欢迎页面(ROOT)
4。配置httpd.conf
在httpd.conf中增加:
LoadModule jk_module “/data/app/apache/modules/mod_jk.so”
JkWorkersFile “/data/app/tomcat/conf/workers.properties”
JkLogFile “/data/app/tomcat/logs/mod_jk.log”
JkLogLevel info
<VirtualHost test.e21.cn>
ServerName test.e21.cn
DocumentRoot /data/webapp/test
CustomLog logs/test-access_log common
JkMount /*.jsp worker1
JKMount /*.action worker1
</VirtualHost>
JkWorkersFile “/data/app/tomcat/conf/workers.properties”
JkLogFile “/data/app/tomcat/logs/mod_jk.log”
JkLogLevel info
<VirtualHost test.e21.cn>
ServerName test.e21.cn
DocumentRoot /data/webapp/test
CustomLog logs/test-access_log common
JkMount /*.jsp worker1
JKMount /*.action worker1
</VirtualHost>