免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3727 | 回复: 5
打印 上一主题 下一主题

[Web] 整合 RH3 + TOMCAT5 + APACHE2 + jk2 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-04-13 16:43 |只看该作者 |倒序浏览
整合 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: 如下
                <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="simpleValue" 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 -->;
                    <Connector port="8009"
               enableLookups="false" redirectPort="8443" debug="0"
               protocol="AJP/1.3" />;

                    <!-- Define the top level container in our container hierarchy -->;
                    <Engine name="Catalina" defaultHost="localhost" debug="0">;

                      <!-- Global logger unless overridden at lower levels -->;
                      <Logger className="org.apache.catalina.logger.FileLogger"
              prefix="catalina_log." suffix=".txt"
              timestamp="true"/>;

                      <!-- Because this Realm is here, an instance will be shared globally -->;

                      <!-- This Realm uses the UserDatabase configured in the global JNDI
                   resources under the key "UserDatabase".  Any edits
                   that are performed against this UserDatabase are immediately
                   available for use by the Realm.  -->;
                      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                 debug="0" resourceName="UserDatabase"/>;

                      <Host name="localhost" debug="0" appBase="webapps"
                       unpackWARs="true" autoDeploy="true"
                       xmlValidation="false" xmlNamespaceAware="false">;

                <Logger className="org.apache.catalina.logger.FileLogger"
                 directory="logs"  prefix="localhost_log." suffix=".txt"
                    timestamp="true"/>;

                       <!-- Tomcat Root Context -->;
                        <!--
                  <Context path="" docBase="ROOT" debug="0">;
                -->;

                      </Host>;

                      <Host name="www.yourname.com" debug="0" appBase="webapps"
                       unpackWARs="true" autoDeploy="true"
                       xmlValidation="false" xmlNamespaceAware="false">;

                        <Logger className="org.apache.catalina.logger.FileLogger"
                 directory="logs"  prefix="mylog_log." suffix=".txt"
                    timestamp="true"/>;
                  <Context path="" docBase="mylog" debug="0" />;
                      </Host>;

                    </Engine>;

                 </Service>;

                </Server>;

论坛徽章:
0
2 [报告]
发表于 2004-04-16 17:13 |只看该作者

整合 RH3 + TOMCAT5 + APACHE2 + jk2

ding

论坛徽章:
0
3 [报告]
发表于 2004-04-16 20:11 |只看该作者

整合 RH3 + TOMCAT5 + APACHE2 + jk2

整合 RH3 + TOMCAT5 + APACHE2 + jk2  
兄弟既然是整合,希望能给个例子呀!效果是什么样的呢?如何测试呀?
后面的一大堆配置文件的书写(httpd.conf中的)可以具体写写是什么意思好吗?既然你是参考了前辈们的文章,希望兄弟对像我这样的出学者多解释一下好吗?谢谢了

论坛徽章:
0
4 [报告]
发表于 2004-04-17 11:17 |只看该作者

整合 RH3 + TOMCAT5 + APACHE2 + jk2

--with-jni  弱弱的问这个是干嘛的  非要加这个吗 我没加一样可以运行

论坛徽章:
0
5 [报告]
发表于 2005-03-02 17:11 |只看该作者

整合 RH3 + TOMCAT5 + APACHE2 + jk2

tomcat不能这样开机启动。

论坛徽章:
0
6 [报告]
发表于 2005-07-15 15:31 |只看该作者

整合 RH3 + TOMCAT5 + APACHE2 + jk2

在/etc/rc.d/init.d/里面写个脚本tomcat
然后 chmod 755 tomcat
chkconfig --add tomcat
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP