当前位置:web 服务器 > Tomcat >>

整合RH3+TOMCAT5+APACHE2+jk2

整合 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:localhost:8009]

  info=Ajp13 forwarding over socket

  tomcatId=localhost:8009

  # define the workUntitled 1er

  [ajp13:localhost:8009]

  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: 如下

  <Server port="8005" shutdown="SHUTDOWN" debug="0">

  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"

  debug="0"/>

  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"

  debug="0"/>

  <!-- Global JNDI resources -->

  <GlobalNamingResources>

  <!-- Test entry for demonstration purposes -->

  <Environment name="易做图Value" type="java.lang.Integer" value="30"/>

  <!-- Editable user database that can also be used by

  UserDatabaseRealm to authenticate users -->

  <Resource name="UserDatabase" auth="Container"

  type="org.apache.catalina.UserDatabase"

  description="User database that can be updated and saved">

  </Resource>

  <ResourceParams name="UserDatabase">

  <parameter>

  <name>factory</name>

  <value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>

  </parameter>

  <parameter>

  <name>pathname</name>

  <value>conf/tomcat-users.xml</value>

  </parameter>

  </ResourceParams>

  </GlobalNamingResources>

  <Service name="Catalina">

  <!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 -->

  <Connector port="8080"

  maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

  enableLookups="false" redirectPort="8443" acceptCount="100"

  debug="0" connectionTimeout="20000"

  disableUploadTimeout="true" />

  <!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
Apache
IIS
Nginx
Tomcat
如果你遇到web 服务器难题:
访问www.zzzyk.com 试试
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,