整合 RH3 + TOMCAT5 + APACHE2 + jk2

范堡 发布于 2009/05/06 14:49
阅读 229
收藏 0

整合 RH3 + TOMCAT5 + APACHE2 + jk2

注: 本文主要是拷贝www.chinanuix.net 中国UNIX社区 "最为完美的Tomcat+apache+php+jk2配置 (04/01/12更新)" 一文(http://www.chinaunix.net/jh/13/236685.html), 但或许是版本等原因,按原文配置完后并不能整合成功,又参考了一些讨论组的内容,终于尝试成功. 现完整贴出来, 希望对和我一样的初学者有所帮助, 必须说明的是, 主要是原作者的劳动, 在此向feiyi表示感谢.

运行环境: RedHat Enterprise 3.0 

一. 有关说明
本文的目的是在RH3环境下用JK2整合Apache 和 Tomcat, 不涉及虚拟主机或PHP等. 下面一些步骤或许不是必需的, 请高手指正. 

版本号:  
Apache: 2.0.49
Tomcat: 5.0.19
jk2: 2.0.4
j2sdk: 1.4.2.04

下载文件: httpd-2.0.49.tar.gz
jakarta-tomcat-5.0.19.tar.gz
jakarta-tomcat-connectors-jk2-src-current.tar.gz
j2sdk-1_4_2_04-linux-i586.bin

安装位置:
Apache ->; /usr/local/httpd-2.0.49 
Tomcat ->; /usr/local/jakarta-tomcat-5.0.19
j2sdk ->; /usr/local/j2sdk1.4.2_04 
jk2 ->; /usr/local/jakarta-tomcat-connectors-jk2-2.0.4-src
建立软链接:
ln -s /usr/local/jakarta-tomcat-5.0.19 /usr/local/tomcat
ln -s /usr/local/httpd-2.0.49 /usr/local/apache
ln -s /usr/local/j2sdk1.4.2_04 /usr/local/jdk

有关配置文件的位置:
httpd.conf ->; /usr/local/apache/conf/httpd.conf
workers2.properties ->; /usr/local/apache/conf/workers2.properties
server.xml ->; /usr/local/tomcat/conf/server.xml
jk2.properties ->; /usr/local/tomcat/conf/jk2.properties

二. 安装步骤
JDK: rpm -ivh j2sdk-1_4_2_03-linux-i586.rpm
Apache:  tar xvfz httpd-2.0.49.tar.gz 
    cd httpd-2.0.47
    ./configure --prefix=/usr/local/apache --enable-so
    make
    make install 
(注: 安装RH3时, 并没选择安装Web服务)

Tomcat:  tar xvfz jakarta-tomcat-5.0.19.tar.gz

      编辑文件 /usr/local/tomcat/bin/catalina.sh
      在注释行后插入这几行:
         JAVA_HOME=/usr/local/jdk/
         CATALINA_HOME="/usr/local/tomcat/"
         JAVA_OPTS="-Xms256m -Xmx256m" 
增加用户和组:
groupadd tomcat
     useradd -g tomcat -c "Tomcat User" -d /usr/local/tomcat tomcat
     chown -R tomcat:tomcat /usr/local/tomcat
     chown -R tomcat:tomcat /usr/local/jakarta-tomcat-5.0.19
mkdir /usr/local/tomcat/webapps/mylog

JK2: tar xvfz jakarta-tomcat-connectors-jk2-src-current.tar.gz
cd jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2
chmod 755 buildconf.sh
./buildconf.sh
./configure --with-apxs2=/usr/local/apache/bin/apxs \
 ----with-apr-lib=/usr/local/apache/lib \
 --with-tomcat-41=/usr/local/tomcat \ 
 --with-java-home=/usr/local/jdk \
 --with-jni
make
libtool --finish /usr/local/apache/httpd/modules
cd jakarta-tomcat-connectors-jk2-2.0.4-src/jk/build/jk2/apache2
cp mod_jk2.so /usr/local/apache/modules/
cp libjkjni.so /usr/local/apache/modules/

cd /usr/local/tomcat/logs
touch jk2.shm
usermod -G apache,tomcat apache


启动时运行,编辑文件:/etc/rc.d/rc.local 增加下面两行:
su - tomcat -c /usr/local/tomcat/bin/startup.sh
/usr/local/apache/bin/apachectl start 

三. 修改配置文件, 配置文件如不存在, 就创建.
httpd.conf:
注释掉AddDefaultCharset 这行
增加: LoadModule jk2_module modules/mod_jk2.so
workers2.properties: 如下
# only at beginnin. In production uncomment it out
[logger.apache2]
level=DEBUG
 
[shm]
file=/usr/local/apache/logs/shm.file
size=1048576
 
# Example socket channel, override port and host.
[channel.socket]
info=Ajp13 forwarding over socket
tomcatId=localhost:8009
 
# define the workUntitled 1er
[ajp13]
channel=channel.socket:localhost:8009

[uri:/jsp-examples/*]
info=Map the jsp-examples webapp
worker=ajp13:localhost:8009

[uri:/servlets-examples/*]
info=Map the servlets-examples webapp
worker=ajp13:localhost:8009
jk2.properties:  如下
## THIS FILE MAY BE OVERRIDEN AT RUNTIME. MAKE SURE TOMCAT IS STOPED
## WHEN YOU EDIT THE FILE.

## COMMENTS WILL BE _LOST_

## DOCUMENTATION OF THE FORMAT IN JkMain javadoc.

# Set the desired handler list
# handler.list=apr,request,channelJni
handler.list=channelSocket,request
#
# Override the default port for the socketChannel
# channelSocket.port=8019
channelSocket.port=8009
# Default: 
# channelUnix.file=${jkHome}/work/jk2.socket
# Just to check if the the config  is working
# shm.file=${jkHome}/work/jk2.shm

# In order to enable jni use any channelJni directive
# channelJni.disabled = 0
# And one of the following directives:

# apr.jniModeSo=/opt/apache2/modules/mod_jk2.so

# If set to inprocess the mod_jk2 will Register natives itself
# This will enable the starting of the Tomcat from mod_jk2
# apr.jniModeSo=inprocess
server.xml: 如下
;
   
             debug="0"/>;
  
             debug="0"/>;
 
   ;
   ;
 
     ;
     ;
 
     ;
    
               type="org.apache.catalina.UserDatabase"
        description="User database that can be updated and saved">;
     ;
     ;
       ;
         ;factory;
         ;org.apache.catalina.users.MemoryUserDatabaseFactory;
      
;
       ;
         ;pathname;
         ;conf/tomcat-users.xml;
      
;
     ;
 
  
;
   ;
     ;
     
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               debug="0" connectionTimeout="20000" 
               disableUploadTimeout="true" />;
 
     ;
    
               enableLookups="false" redirectPort="8443" debug="0"
               protocol="AJP/1.3" />;
 
     ;
     ;
 
       ;
       
              prefix="catalina_log." suffix=".txt"
              timestamp="true"/>;
 
       ;
 
       ;
       
                 debug="0" resourceName="UserDatabase"/>;
 
      
        unpackWARs="true" autoDeploy="true"
        xmlValidation="false" xmlNamespaceAware="false">;
 
        
                 directory="logs"  prefix="localhost_log." suffix=".txt"
             timestamp="true"/>;
 
        ;
         ;
 
       ;
 
      
        unpackWARs="true" autoDeploy="true"
        xmlValidation="false" xmlNamespaceAware="false">;
 
         
                 directory="logs"  prefix="mylog_log." suffix=".txt"
             timestamp="true"/>;
           ;
       ;
 
     ;
 
   ;
 
;



加载中
返回顶部
顶部