• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    Tomcat-5.5.7 + Apache-2.0.46 + mod_jk-2.0.4整合配置

    發布: 2007-5-25 23:40 | 作者: 未知 | 來源: ChinaUnix.net | 查看: 28次 | 進入軟件測試論壇討論

    領測軟件測試網
    原文出處:http://blog.beijingnet.com/index.php?op=ViewArticle&articleId=81&blogId=1

    安裝環境: 

    OS:Redhat Enterprise AS 3 
    apahce:使用系統自帶httpd-2.0.46,使用其它版本的redhat自帶的apache安裝過程也一樣。 
    Tomcat:Tomcat-5.5.7 
    jdk:mod_jk:2.0.4 
    參考: 
    http://www.reliablepenguin.com/clients/misc/tomcat/ http://www.pixelfreak.net/howto/apache2_jk2_tomcat/socket.html http://www.csse.uwa.edu.au/~ryan/tech/mod_jk2.html http://www.edong.org/main/content/view/386/38/ http://www.pixelfreak.net/howto/apache2_jk2_tomcat/socket.html http://www.cn-java.com/target/news.php?news_id=3043  



    1. 安裝apache
       系統自帶,無須安裝。需要注意的是需要安裝httpd開發包,用于編譯mod_jk.
       查看是否安裝httpd-develop
       #rpm -qa|grep httpd-devel
       httpd-devel-2.0.46-38.ent
       如果出現以上信息說明httpd開發包已安裝,如果未安裝請從redhat第三張盤中安裝。
       

    2、安裝jdk
       從java.sun.com下載jdk-1_5_0_01-linux-i586-rpm.bin,tomcat5需要jdk5的支持。
       下載后:
       #chmod 755 jdk-1_5_0_01-linux-i586-rpm.bin
       #rpm -ivh dk-1_5_0_01-linux-i586.rpm
       在/etc/profile文件中加入:
       JAVA_HOME=/usr/java/jdk1.5.0_01
       export JAVA_HOME
       PATH=$PATH:/usr/java/jdk1.5.0_01/bin
       export PATH
       export CATALINA_HOME=/usr/local/tomcat
       export TOMCAT_HOME=/usr/local/tomcat


    3.安裝Tomcat
       #wget http://apache.justdn.org/jakarta/tomcat-5/v5.5.7/bin/jakarta-tomcat-5.5.7.tar.gz
       #tar zxvf jakarta-tomcat-5.5.7.tar.gz
       #mv jakarta-tomcat-5.5.7 /usr/local/tomcat

    4、編譯和設置mod_jk
       此時注意重新登錄服務器使環境變量生效。
       #wget http://apache.justdn.org/jakarta/tomcat-connectors/jk2/jakarta-tomcat-connectors-jk2-src-current.tar.gz     
       #tar zxvf jakarta-tomcat-connectors-jk2-src-current.tar.gz    
       #cd jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2/
       #./configure --with-apxs2=/usr/sbin/apxs --with-jni --with-apr-lib=/usr/lib
       #vi server/apache2/Makefile
       將:LIBTOOL=/bin/sh /var/www/build/libtool --silent
       改為:LIBTOOL=/usr/bin/libtool
       將:
       fdef APR_LIBDIR_LA
       JK_LDFLAGS=-L${APACHE2_LIBDIR} -lcrypt
       else
       JK_LDFLAGS=-lcrypt ${APR_LIBS}
       endif
       改為:
       ifdef APR_LIBDIR_LA
       JK_LDFLAGS=-L${APACHE2_LIBDIR} -lcrypt
       else
       JK_LDFLAGS=-lcrypt ${APR_LIBS} -lapr-0 -laprutil-0 -lgdbm -ldb-4.1 -lexpat
       endif

       如果不修改以上內容,將出現以下錯誤:
       INFO: APR not loaded, disabling jni components: java.io.IOException: java.lang.UnsatisfiedLinkError:      
       /usr/lib/httpd/modules/libjkjni.so: 
       /usr/lib/libaprutil-0.so.0: undefined symbol: gdbm_errno
       或者:
       INFO: APR not loaded, disabling jni components: java.io.IOException: java.lang.UnsatisfiedLinkError:    
       /usr/lib/httpd/modules/libjkjni.so: 
       /usr/lib/httpd/modules/libjkjni.so: undefined symbol: apr_md5_final
       #make
       #libtool --finish /usr/lib/httpd/modules
       #cp ../build/jk2/apache2/mod_jk2.so ../build/jk2/apache2/libjkjni.so /usr/lib/httpd/modules/
       mod_jk安裝完畢。

    6、配置tomcat
       #vi vi /usr/local/tomcat/bin/catalina.sh 
       # Get standard environment variables
       PRGDIR=`dirname "$PRG"`
       CATALINA_HOME=`cd "$PRGDIR/.." ; pwd`
       if [ -r "$CATALINA_HOME"/bin/setenv.sh ]; then
       . "$CATALINA_HOME"/bin/setenv.sh
       fi
       # 添加以下行
       serverRoot=/etc/httpd
       export serverRoot

       #vi /usr/local/tomcat/conf/jk2.properties 
       handler.list=apr,request,channelJni
       channelUnix.file=/usr/local/tomcat/work/jk2.socket
       serverRoot=/etc/httpd
       apr.NativeSo=/usr/lib/httpd/modules/libjkjni.so

       #vi /usr/local/tomcat/conf/server.xml 
       在</Engine>前加入
      <Host name="www.abc.com" debug="1" appbase="/var/www/abc" unpackwars="true"> 
        <Context path="" docBase="" debug="1"/> 
     </Host> 
       配置其它虛擬主機與此同。 
       
    7、設置虛擬主機
        比如,我現在有虛擬主機 www.abc.com 希望把jsp和servlet都轉到tomcat去

        在 /etc/httpd/conf/ 下面創建workers2.properties,內容如下:
        [shm]
        file=/var/log/httpd/shm.file
        size=1048576


        # Example socket channel, explicitly set port and host.
        [channel.socket:localhost:8009]
        port=8009
        host=127.0.0.1


        # Example UNIX domain socket
        [channel.un:/usr/local/tomcat/work/jk2.socket]
        tomcatId=localhost:8009
        debug=0


        # define the worker
        [ajp13:localhost:8009]
        #channel=channel.un:/usr/local/tomcat/work/jk2.socket
        # To use the TCP/IP socket instead, just comment out the above
        # line, and uncomment the one below
        channel=channel.socket:localhost:8009


        # Announce a "status" worker
        [status:status]

        [uri:/status/*]
        worker=status:status

        # Uri mapping
        [uri:/jsp-examples/*]


        在/etc/httpd/conf/httpd.conf里面配置:
        #tomcat
        LoadModule jk2_module modules/mod_jk2.so
        JkSet config.file /etc/httpd/conf/workers2.properties

        #把下面這段放到VirtualHost之前,可以從全局避免用戶用apache訪問WEB-INF目錄。
        
        <Directory ~ "/WEB-INF/">
         Order allow,deny
         Deny from all
        </Directory>
        

        #典型的VirtualHost配置樣本
        NameVirtualHost 1.2.3.4 #(1.2.3.4你的服務器IP)
        <VirtualHost 1.2.3.4>
        ServerName www.abc.com
        DocumentRoot /var/www/abc
        DirectoryIndex index.htm index.html default.htm index.php index.jsp
        <Location ~ "/*.jsp|/*/servlet/*>
        JkUriSet worker ajp13:localhost:8009
        </Location>
        ErrorLog logs/www.abc.com-err_log
        CustomLog logs/www.abc.com-acc_log common
        </VirtualHost>
        
        這樣就可以為每個不同的虛擬主機分別指定使用或者不使用jsp功能。

    8、啟動、測試
       #service httpd start
       #/usr/local/tomcat/bin/startup.sh 
       瀏覽器里輸入
       http://1.2.3.4/jsp-examples/
       http://1.2.3.4/status/

       如果沒有問題則說明安裝成功。


    歡迎與我交流
    qq:138722
    e-mail:xiaowei@beijingnet.com

     flighttop 回復于:2005-03-10 02:20:11
    Several products, such as Blackboard Learning System, is built on this model. It is very good. Thanks!

     斜月三星 回復于:2005-03-10 11:44:29
    太感謝了,我正在發愁這個問題呢!用別的方法不行?戳撕芏辔恼铝。一會兒我就去試一試。另外,Apache怎么升級呢?我怕影響里面的設置,沒敢動。

     嘻哈標明 回復于:2005-03-11 14:08:02
    運行到./configure --with-apxs2=/usr/sbin/apxs --with-jni --with-apr-lib=/usr/lib 時為何出configure: error: Invalid location for apxs: '/usr/sbin/apxs'
    呢?

     wolfg 回復于:2005-03-11 15:28:42
    [quote:3ca1f3fecf="嘻哈標明"]運行到./configure --with-apxs2=/usr/sbin/apxs --with-jni --with-apr-lib=/usr/lib 時為何出configure: error: Invalid location for apxs: '/usr/sbin/apxs'
    呢?[/quote:3ca1f3fecf]你的apxs不在/usr/sbin/下吧

     wolfg 回復于:2005-03-11 15:29:50
    [b:8891894ec0]JK2 is officially unsupported![/b:8891894ec0]

    http://jakarta.apache.org/tomcat/connectors-doc/

    JK2 has been put in maintainer mode and no further development will take place. The reason for shutting down JK2 development was the lack of developers interest. Other reason was lack of users interest in adopting JK2, caused by configuration complexity when compared to JK.

    JK2 will have it's successor within core Apache2.1/2.2 distribution. We have developed new proxy_ajp that is an addition to the mod_proxy and uses Tomcat's AJP protocol stack. It is developped in httpd-2.1 and integrated in it. We have also developed a new proxy_balancer module for load balancing http and ajp protocol stacks.

     嘻哈標明 回復于:2005-03-11 20:26:58
    [quote:48570fad0a="wolfg"]愕腶pxs不在/usr/sbin/下吧[/quote:48570fad0a]

    不 好意思,寫錯了,現在我改為 ./configure --with-apxs2=/usr/java/httpd2/bin/apxs --with-java-home=/usr/java/j2sdk1.4.2_07
    還是出錯啊。。。如下:

    checking for mkdir... /bin/mkdir
    no apxs given
    need to check for Perl first, apxs depends on it...
    checking for perl... /usr/bin/perl
    configure: error: can't locate libapr
    [root@localhost native2]#

     嘻哈標明 回復于:2005-03-14 23:57:57
    上面這步已經自己解決,找不到LIBAPE。在本站查了相關文章得知需安裝libapr和libaprutil。但已經安裝了又出了個問題,我完成根據樓上所說的做,到修改server/apache2/Makefile 后 mark就出現了下面的錯,/usr/bin/ld: cannot find -ldb-4.1
    collect2: ld returned 1 exit status
    make[1]: *** [../../../build/jk2/apache2/libjkjni.la] 錯誤 1
    make[1]: Leaving directory `/root/www/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2/server/apache2'
    make: *** [jk2-build] 錯誤 1
    [root@localhost native2]#
    。。。。應該又少了ldb,這個是啥 文件,在哪下載呢?

     嘻哈標明 回復于:2005-03-15 01:16:23
    ldb-4.1,,,我改成了4.2就可以過了。 http://1.2.3.4/jsp-examples/
      http://1.2.3.4/status/ 也都能訪問。只不過不配置還不好,F在比如說http://localhost/jsp-examples/index.jsp能正常訪問,但http://localhost/jsp-examples/index.htm不能訪問。我還在找原因。

     擋泥板 回復于:2005-03-15 10:49:46
    我的老是不成功,提示我:configure: error: Apache 1.3 requires apr to built from source, use --with-apr and --with-apr-util

     vulcan 回復于:2005-03-15 14:54:57
    我在運行到connector 的make這步時有如下的錯誤libtool: link: `../../../build/jk2/apache2/jk_channel_apr_socket.lo' is not a valid libtool object
    make[1]: *** [../../../build/jk2/apache2/mod_jk2.la] Error 1
    make[1]: Leaving directory `/usr/local/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2/server/apache2'
    make: *** [jk2-build] Error 1
    哪錯了 ?

     vulcan 回復于:2005-03-15 15:09:56
    我在做到vi makefile 之后的make那步出現了下面的問題libtool: link: `../../../build/jk2/apache2/jk_channel_apr_socket.lo' is not a valid libtool object
    make[1]: *** [../../../build/jk2/apache2/mod_jk2.la] Error 1
    make[1]: Leaving directory `/usr/local/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2/server/apache2'
    make: *** [jk2-build] Error 1
    為什么?

     嘻哈標明 回復于:2005-03-15 16:35:04
    我現在重新安裝了FC3了出錯也和樓上的一樣。希望高手出手幫助。謝謝

     vulcan 回復于:2005-03-15 20:56:29
    把以前的安裝刪掉重來好像就行了,我想可能的原應是我前面幾步沒有完全按照文檔來。

     嘻哈標明 回復于:2005-03-15 21:37:25
    我是照抄了(當然有些路徑是要改的),系統都重新安裝了N次,我都有些擔心硬盤會受不了呢?

     li2002 回復于:2005-04-19 16:55:46
    出現問題!
    我是按照樓主的步驟做的。做
    http://xxx/status/
    有正常信息
    在做
    http://xxx/jsp-examples/

    http://xxx/jsp-examples/index.jsp
    都出錯(503錯)
    Service Temporarily Unavailable
    The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
    請問是什么沒做???
    我的jk2-connect沒改make也正常的。

     li2002 回復于:2005-04-19 17:21:55
    知道了,原來tomcat有個默認端口8080被我系統用作代理端口了,把它改成其他的就行了。
    終于看到了成功的畫面了。哈哈~~~~

     yxg0512 回復于:2005-04-20 14:24:53
    no apxs given
    need to check for Perl first, apxs depends on it...
    checking for perl... /usr/bin/perl
    building connector for "apache-2.0"
    checking checking for apache13...... not provided
    checking checking for apache20...... not provided
    checking checking for iis...... not provided
    checking checking for iPlanet...... not provided
    checking for tomcat33 location... not provided
    checking for tomcat40 location... not provided
    checking for tomcat41 location... not provided
    checking for JDK location (please wait)... checking Try to guess JDK location... configure: error: can't locate a valid JDK location

     yxg0512 回復于:2005-04-25 13:37:59
    [quote:fca61c5c92="li2002"]知道了,原來tomcat有個默認端口8080被我系統用作代理端口了,把它改成其他的就行了。
    終于看到了成功的畫面了。哈哈~~~~[/quote:fca61c5c92]

    兄弟 在哪里改的?  我也出現跟你同樣的情況了   :(

     er 回復于:2005-04-27 18:46:27
    整了一天沒成功,搜到這段話,真是暈
    [quote:11fc65fa1c]在整合的過程中要注意的是,由于apache、mod_jk2均依賴于apr,所以三者的版本要注意匹配,不要一味求新,不然很容易出現“undefined symbol:apr_socket_send”之類的錯誤。如果是安裝了redhat9和fedora自帶的apache,mod_jk2用2.0.2的版本編譯就好,用2.0.4的版本編譯會有問題。[/quote:11fc65fa1c]

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>