设为首页 收藏本站
查看: 938|回复: 0

[经验分享] RHEL5升級JDK 6 Update 17+Tomcat 6.0.20筆記 [轉]

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-8-9 09:30:46 | 显示全部楼层 |阅读模式
  http://phorum.study-area.org/index.php?topic=59120.0
  

  RHEL5升級JDK 6 Update 17+Tomcat 6.0.20筆記

-written by Dandy
====================
RHEL5內建的JDK是gij (GNU libgcj) version 4.1.1的Java 1.4.2,這版本跟一些系統不大合,也稍嫌有點舊,所以趁升級Tomcat 6時順便來換掉,
一般RHEL 5目前都僅支援到Apache Tomcat 5及JRE 5, 無法以yum安裝,以下為更新步驟:
1.安裝JDK
目前最新版本是JDK 6 Update 17,請到此下載
{xtypo_download}http://java.sun.com{/xtypo_download}
安裝JDK,回答完Yes的版權問題後, 開始自動解壓縮並安裝RPM
#sh jdk-6u17-linux-i586-rpm.bin
新增path在/etc/profile (順便把tomcat的路徑設定上去)
#vi /etc/profile
##JAVA  Environment
export JAVA_HOME=/usr/java/jdk1.6.0_17
export JAVA_BIN=/usr/java/jdk1.6.0_17/bin
export JAVA_OPTS="$JAVA_OPTS -Xmx512M -Dcom.sun.management.jmxremote"
export PATH=$JAVA_HOME/bin:$PATH
#export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
export CATALINA_HOME=/var/lib/tomcat6
#export CLASSPATH=$CATALINA_HOME/common/lib/servlet.jar
export CLASSPATH=./:${JAVA_HOME}/lib:${JAVA_HOME}/jre/lib/ext:${CATALINA_HOME}/common/lib
退出後再重新登入,使用新path,由於一個系統可以使用多個版本的java,所以RHEL5內建的"java"是1.4.2的gij,
  如果export PATH=$JAVA_HOME/bin:$PATH的順序相反可能會抓到1.4.2
  

  還有就是一定記得要加$CATALINA_BASE,和$CATALINA_HOME一樣的值.然後在bin目錄里用catalina.sh start/stop起動和停止.

  

# java -version
java version "1.4.2"
gij (GNU libgcj) version 4.1.1 20070105 (Red Hat 4.1.1-52)
正常應該看到我們新裝的1.6.0_17
$ java -version
java version "1.6.0_17"
Java(TM) SE Runtime Environment (build 1.6.0_17-b04)
Java HotSpot(TM) Client VM (build 14.3-b01, mixed mode, sharing)
2.安裝Apache Tomcat 6
目前最新版本是6.0.20,請在官方網站下載
{xtypo_download}http://apache.freelamp.com/tomcat/tomcat-6/v6.0.20/bin/apache-tomcat-6.0.20.tar.gz{/xtypo_download}
先將舊的tomcat5移除掉
#rpm -qa|grep tomcat
# rpm -qa|grep tomcat
tomcat5-servlet-2.4-api-5.5.17-8jpp.2
tomcat5-jsp-2.0-api-5.5.17-8jpp.2
tomcat5-jasper-5.5.17-8jpp.2
tomcat5-server-lib-5.5.17-8jpp.2
tomcat5-admin-webapps-5.5.17-8jpp.2
tomcat5-webapps-5.5.17-8jpp.2
tomcat5-common-lib-5.5.17-8jpp.2
tomcat5-5.5.17-8jpp.2
rpm -e tomcat5
rpm -e tomcat5-server-lib
rpm -e tomcat5-admin-webapps
rpm -e tomcat5-webapps
rpm -e tomcat5-common-lib
rpm -e tomcat5-jasper
解壓縮tomcat6,並移到 /var/lib/tomcat6
#tar zxvf apache-tomcat-6.0.20.tar.gz
# mv apache-tomcat-6.0.20 /var/lib/tomcat6
--------------------------------------
由於Tomcat從 5.5版本後增加了APR技術(Apache Portable Runtime),這是一個用C語言寫成的runtime lib,目的在於提高Tomcat的性能,使得Tomcat將不僅僅擔任一個容器的功能,且成為一個一般的web服務器(general purpose webserver),
但官方原始並未放進去這些,所以我們必須抓The Apache Tomcat Native Connector回來補進去
Tomcat在原apache-tomcat-6.0.20.tar.gz的bin裡面有附tomcat-native.tar.gz, 這是tomcat-native-1.1.16-src,但tomcat-6.0.20需要1.1.18,可以在此下載:
http://tomcat.apache.org/native-doc/
# wget http://www.apache.org/dist/tomcat/tomcat-connectors/native/1.1.18/source/tomcat-native-1.1.18-src.tar.gz
# tar zxvf tomcat-native-1.1.18-src.tar.gz
需要apr-devel ,openssl-devel兩個套件,openssl-devel已有,apr-devel在此下載:
#  wget http://ftp://ftp.rediris.es/volumes/vol1/centos.org/5.3/os/x86_64/CentOS/apr-devel-1.2.7-11.i386.rpm
# rpm -ivh apr-devel-1.2.7-11.i386.rpm
# cd tomcat-native-1.1.18-src/jni/native
#    ./configure --with-apr=/usr/bin/apr-1-config \
                --with-java-home=/usr/java/jdk1.6.0_17 \
                --with-ssl=yes \
                --prefix=$CATALINA_HOME
# make && make install
compile好的lib會在$CATALINA_HOME/lib
在startup.sh加上以下兩行:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CATALINA_HOME/lib
export LD_LIBRARY_PATH

或是直接丟到/jre/lib/i386
# cd /var/lib/tomcat6/lib
# mv lib* /usr/java/jdk1.6.0_17/jre/lib/i386
有個已經compile好的lib--Tomcat-native-i686-whatever-linux2.tar.gz是1.1.12,tomcat-6.0.20需要1.1.18,所以不支援
--------------------------------------
修改權限
#chown -R tomcat.tomcat /var/lib/tomcat6   
啟動tomcat6
# cd /var/lib/tomcat6/bin
#./startup.sh
可以在logs/catalina.out裡看到APR有被啟動
2009/12/5 下午 05:39:27 org.apache.catalina.core.AprLifecycleListener init
資訊: Loaded APR based Apache Tomcat Native library 1.1.18.
2009/12/5 下午 05:39:27 org.apache.catalina.core.AprLifecycleListener init
資訊: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
然後打開瀏覽器,http://your.ip:8080
即可看到Tomcat
Tomcat的帳號設定在/var/lib/tomcat6/conf/tomcat-users.xml
點Administration的Status/Tomcat Manager卻一直無法進入,原因是未拿掉,加入admin帳號及manager的role
{xtypo_code}

  
  
  
  
  
  
  
  

{/xtypo_code}
Tomcat6開機啟動
這個有兩種方式,主要須避開以root啟動
(1)官方文件以jsvc來啟動,須compile jsvc
# cd $CATALINA_HOME/bin
# tar xvfz jsvc.tar.gz
# cd jsvc-src
# autoconf
# chmod 755 configure
# ./configure
# make
# cp jsvc ..
# cd ..
# cd $CATALINA_HOME
# ./bin/jsvc -cp ./bin/bootstrap.jar \
    -outfile ./logs/catalina.out -errfile ./logs/catalina.err \
    org.apache.catalina.startup.Bootstrap
然後把Tomcat5.sh修改完放到/etc/rc.d/init.d/去
cp $CATALINA_HOME/bin/jsvc-src/native/Tomcat5.sh /etc/rc.d/init.d/tomcat
以下請參考修改(附檔tomcat及tomcat6):
-----------------------------------------------------------------------------
echo "Tomcat 6 auto start/stop"
JAVA_HOME=/usr/java/jdk1.6.0_17
CATALINA_HOME=/var/lib/tomcat6
DAEMON_HOME=/var/lib/tomcat6/bin
TOMCAT_USER=tomcat
# for multi instances adapt those lines.
TMP_DIR=/var/lib/tomcat6/temp
PID_FILE=/var/run/tomcat6.pid
CATALINA_BASE=/var/lib/tomcat6
CATALINA_OPTS=
CLASSPATH=\
$JAVA_HOME/lib/tools.jar:\
$CATALINA_HOME/bin/commons-daemon.jar:\
$CATALINA_HOME/bin/bootstrap.jar
case "$1" in
  'start')
    #
    # Start Tomcat
    #
    echo -n "Starting Tomcat6: "
    $DAEMON_HOME/jsvc \
    -user $TOMCAT_USER \
    -home $JAVA_HOME \
    -Dcatalina.home=$CATALINA_HOME \
    -Dcatalina.base=$CATALINA_BASE \
    -Djava.io.tmpdir=$TMP_DIR \
    -wait 10 \
    -pidfile $PID_FILE \
    -outfile $CATALINA_HOME/logs/catalina.out \
    -errfile '&1' \
    $CATALINA_OPTS \
    -cp $CLASSPATH \
    org.apache.catalina.startup.Bootstrap
    #
    # To get a verbose JVM
    #-verbose \
    # To get a debug of jsvc.
    #-debug \
    exit $?
    echo
    ;;
  'stop')
    #
    # Stop Tomcat
    #
    echo -n "Shutting Tomcat6: "
    $DAEMON_HOME/jsvc -stop -pidfile $PID_FILE org.apache.catalina.startup.Bootstrap
    exit $?
    echo
    ;;

  'status')
    #
    # Tomcat Status
    #
    echo -n "Restarting Tomcat6: "
    ps ax --width=1000 | grep "
rg.apache.catalina.startup.Bootstrap" | awk '{printf $1 " "}' | wc | awk '{print $2}' >/tmp/tomcat_process_count.txt
    read line < /tmp/tomcat_process_count.txt
    if [ $line -gt 0 ]; then
      echo -n "Tomcat ( pid "
      ps ax --width=1000 | grep "
rg.apache.catalina.startup.Bootstrap" | awk '{printf $1 " "}'
      echo ") is running..."
    else
      echo "Tomcat is stopped"
    fi
    echo
    ;;
   
  *)
  echo "Usage tomcat {start | stop | status}"
  exit 1;;
esac
exit 0
-----------------------------------------------------------------------------
(2)我個人的方式--直接以tomcat用戶呼叫startup.sh/shutdown.sh
-----------------------------------------------------------------------------
#!/bin/sh
#
# Startup script for Tomcat 6.0, the Apache Servlet Engine
#
# chkconfig: - 80 20
#
echo "Tomcat 6.0 auto start/stop"
JAVA_HOME=/usr/java/jdk1.6.0_17
JAVA_BIN=/usr/java/jdk1.6.0_17/bin
CATALINA_HOME=/var/lib/tomcat6
DAEMON_HOME=/var/lib/tomcat6/bin
TOMCAT_USER=tomcat
case "$1" in
   'start')
echo -n "Starting Tomcat 6: "
su - $TOMCAT_USER -c $CATALINA_HOME/bin/startup.sh
touch /var/lock/subsys/tomcat6
echo
;;
'stop')
echo -n "Shutting Tomcat 6: "
su - $TOMCAT_USER -c $CATALINA_HOME/bin/shutdown.sh
rm -f /var/lock/subsys/tomcat6
echo
;;
*)
echo "Usage: tomcat6 {start | stop }"
exit 1
esac
exit 0
-----------------------------------------------------------------------------
以上請擇一設定,
#chkconfig --add tomcat
安裝Lambdaprobe,這是個滿好用的tomcat管理系統
http://www.lambdaprobe.org/downloads/1.7/probe.1.7b.zip
Lambda Probe(以前稱為Tomcat Probe)是一款即時監控和管理的Apache Tomcat的基本工具, 以AJAX開發而成,可以用來即時管理一個單獨的host.
LambdaProbe擁有幾乎所有Tomcat Manager的功能,可以說是一個增強版本的 Tomcat Manager,除此之外,LambdaProbe 還擁有很多讓開發者和系統管理者更方便的性能, 使得Tomcat對開發者和管理者更加透明. 包括應用程式,資料來源,發佈, 日誌, 進程, 集群, 系統訊息, 狀態, 連接器狀態這些功能. 搭配 JDK 1.5 甚至可以即時的畫出 Server 的詳細記憶體佔用狀態.
用 Tomcat manager 安裝 Probe: 下載 Lambda Probe 的 .war 檔,啟動Tomcat,進入 Manager url(例如:http://localhost:8080/manager/html),使用&#8220;WAR file to deploy&#8221;選項載入 probe.war。
簡繁中文語言包安裝--將其中的 messages_zh_CN.properties和messages_zh_CN.properties 放到 $CATALINA_HOME/webapps/probe/WEB-INF下即可
# mv messages_zh_CN.properties messages_zh_TW.properties $CATALINA_HOME/webapps/probe/WEB-INF

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-96254-1-1.html 上篇帖子: eclipse-tomcat配置问题 下篇帖子: 转载:让Tomcat支持中文
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表