歡迎您光臨本站 註冊首頁

秀脫linux筆記之tomcat6實戰篇

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

秀脫linux筆記之tomcat6實戰篇

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
秀脫linux筆記之tomcat6實戰篇
   Q Q : 6541657
E_MAIL: xiutuo@gmail.com

詳情參見:

http://hi.baidu.com/xiutuo/blog/item/4222e119ad9a914743a9adbc.html

環境:
--------------------------------------------
操作系統:centos 4.5_x86
資料庫oracle 10.2.01_x86_32
jre:1.6:jdk-6u1-linux-i586-rpm.bin
tomcat6.0:編譯好的二進位軟體包apache-tomcat-6.0.13.tar.gz
tomcat6.0 安裝路徑:/usr/local/tomcat6
oracle jdbc:class12.jar
軟體包存放的路徑:/home/xiutuo/software/
java安裝路徑:/usr/java/jdk1.6.0_01
apr安裝路徑:/usr/local/apr/
apr的lib文件路徑:/usr/local/apr/lib
使用普通用戶:xiutuo來啟動tomcat6
tomcat6開機自動啟動腳本:/etc/init.d/tomcat
下載路徑:
http://java.sun.com/javase/downloads/index.jsp
下載apr提高執行效率
(其中tomcat-native-1.1.10-src.tar.gz在tomcat6軟體的bin目錄里,無需下載)
http://apache.mirror.phpchina.com/apr/apr-1.2.12.tar.gz
(Tomcat can use the Apache Portable Runtime to
provide superior scalability, performance,
and better integration with native server technologies)
不安裝apr會報錯:
INFO: The Apache Tomcat Native library which allows optimal performance
in production environments was not found on the java.library.path:
/usr/java/jdk1.6.0_01/jre/lib/i386/client:
/usr/java/jdk1.6.0_01/jre/lib/i386:
/usr/lib:/usr/local/lib
--------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
一:安裝jre
1.安裝jre軟體包,
# cd /home/xiutuo/software
進入軟體包存放目錄
# chmod a+x jdk-6u1-linux-i586-rpm.bin
使它有執行許可權
# ./jdk-6u1-linux-i586-rpm.bin
多敲幾個空格,然後看到的時候輸入yes,回車
然後在當前目錄下就生成了jdk-6u1-linux-i586-rpm
# rpm -ivh jdk-6u1-linux-i586-rpm
安裝jdk
如果之前有其他老版本的jdk,卸載掉,如:
rpm -e j2sdk-1.4.1-fcs
2.:設置環境變數     
      僅設置某個用戶而不是所有用戶可以修改~/.cshrc,~/.bash_profile文件,
追加下面一段,如果為所有用戶以及以後添加的用戶都加上環境變數的話,
追加/etc/profie文件.     
***主意不要在profile和~/.cshrc或~/.bash_profile中重複追加**
這裡:
# vi /etc/profile     
//java     
//如果你安裝的j2sdk的路徑不一樣,請自行修改
     
JAVA_HOME=/usr/java/jdk1.6.0_01   
export JAVA_HOME   
CLASSPATH=/usr/java/jdk1.6.0_01/lib:/usr/java/jdk1.6.0_01/jre/lib   
export CLASSPATH   
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin   
export PATH   
JRE=/usr/java/jdk1.6.0_01/jre   
export JRE
LD_LIBRARY_PATH=/usr/local/apr/lib
export LD_LIBRARY_PATH
3:立即生效     
//如果你修改的是/etc/profile     
# source /etc/profile     
//如果你修改的是~/.cshrc     
# source ~/.cshrc     
//如果你修改的是~/.bash_profile     
# source ~/.bash_profile     
   
4:測試成功否     
# java -version
出現
java version "1.4.2" //這裡比較怪,本來是jre是1.6這裡居然……
gcj (GCC) 3.4.6 20060404 (Red Hat 3.4.6-8)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.    There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************
解決這個問題的方法,
# cd /usr/java/
# ls -l
看看default和latest這倆個文件夾是不是jdk1.6.0_01的軟連接
如果是就不用修改了,否則刪除default和latest,
# rm -rf default
# rm -ff latest
然後
# ln -s jdk1.6.0_01 default
# ln -s jdk1.6.0_01 latest
刪除/usr/bin/目錄中的
java,javac,javaws
# cd /usr/bin
# rm -f java
# rm -f javac
# rm -f javaws
然後:
ln -s /usr/java/default/bin/java /usr/bin/java
ln -s /usr/java/default/bin/javac /usr/bin/javac
ln -s /usr/java/default/bin/javaws /usr/bin/javaws
最好再
//如果你修改的是/etc/profile     
# source /etc/profile     
//如果你修改的是~/.cshrc     
# source ~/.cshrc     
//如果你修改的是~/.bash_profile     
# source ~/.bash_profile     
**********************************************************
再執行
# java -version    //這回正常了
java version "1.6.0_01"
Java(TM) SE Runtime Environment (build 1.6.0_01-b06)
Java HotSpot(TM) Client VM (build 1.6.0_01-b06, mixed mode, sharing)

二:安裝tomcat6
1.安裝tomcat
# cd /home/xiutuo/software                     //進入軟體包存放目錄
# tar -zvxf apache-tomcat-6.0.13.tar.gz        //解壓
# mv apache-tomcat-6.0.13 /usr/local/tomcat6 //安裝
# cd /usr/local/tomcat6/bin/                  //進入安裝目錄
# tar -zvxf jsvc.tar.gz                        //解壓
# cd jsvc-src                                 //進入jsvc-src目錄
# autoconf
# ./configure --with-java=/usr/java/jdk1.6.0_01
# configure時切記加java的jdk路徑,否則無法使用普通用戶開機自動啟動tomcat
                                                                                             
# make                                        //編譯生成jsvc文件
# cp jsvc ..                                  //拷貝jsvc到上級目錄
# cd ..                                       //回到上級目錄
安裝apr
# cd /home/xiutuo/software
# tar -zvxf apr-1.2.12.tar.gz
# cd apr-1.2.12
# ./configure
# make
# make install
此時,apr安裝在/usr/local/apr目錄
# cd /usr/local/tomcat6/tomcat-native-1.1.10-src/jni/native/
# ./configure --with-apr=/usr/local/apr --with-java-home=/usr/java/jdk1.6.0_01/
# make
# make install
生成tomcat日誌文件
# cd /usr/local/tomcat6/
//運行下面的命令可以使tomcat以daemon方式運行
# ./bin/jsvc -cp ./bin/bootstrap.jar \      
     -outfile ./logs/catalina.out \
     -errfile ./logs/catalina.err \
     org.apache.catalina.startup.Bootstrap
2.配置oralce的jdbc
//拷貝oracle的jdbc到/usr/local/tomcat6/lib目錄下
# cp /home/software/class12.jar ./lib/
3.配置tomcat用戶
# cd /usr/local/tomcat6/conf
# vi tomcat-users.xml
內容如下:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
    <role rolename="tomcat"/>
    <role rolename="role1"/>
    <role rolename="manager"/>
    <role rolename="admin"/>
    <user username="tomcat" password="tomcat" roles="tomcat"/>
    <user username="role1" password="tomcat" roles="role1"/>
    <user username="both" password="tomcat" roles="tomcat,role1"/>
    <user username="admin" password="admin" roles="admin,manager"/>
</tomcat-users>
請修改tomcat里所有定義用戶的密碼:即修改password為自己想要的值。

4.啟動停止tomcat服務
# cd    /usr/local/tomcat6/bin
# ./start.sh      //啟動tomcat
# ./shutdown.sh //停止tomcat
查看tomcat的進程:
# ps -e | grep java
出現了java這個進程的話,說明你的tomcat差不多了。
5.讓tomcat開機運行:
# cd /usr/local/tomcat6/bin/jsvc-src/native/
# cp Tomcat.sh /etc/init.d/tomcat
# 這裡以tomcat4的自動運行腳本來做修改
# vi tomcat
修改後內容如下:
#××××××××××××××××××××××××××××××
# Linux下該腳本使用方法
#
# 1.configure時切記加java的jdk路徑,否則無法使用普通用戶開機自動啟動tomcat
# ./configure --with-java=/usr/java/jdk1.6.0_01
#
# 2.先為tomcat生成catalina.out,catalina.err日誌文件,存放在
# 路徑:/usr/local/tomcat6/logs,
# 方便查看腳本調試時候出現的錯誤信息
# cd /usr/local/tomcat6
# 先進入tomcat6的安裝目錄,再執行以下命令,生成日誌文件!
# ./bin/jsvc -cp ./bin/bootstrap.jar \
#        -outfile ./logs/catalina.out -errfile ./logs/catalina.err \
#        org.apache.catalina.startup.Bootstrap
#
# 3.更改tomcat安裝目錄許可權
# 切記:tomcat安裝目錄tomcat6文件許可權應該屬於運行tomcat的用戶
# 這裡更改整個tomcat6的文件夾及其下的文件為xiutuo用戶和xiutuo組!
# chown -R xiutuo:xiutuo /usr/local/tomcat6
# 不放心的話再執行一次
# chown -R xiutuo:xiutuo /usr/local/tomcat6/*
# chmod -R 755 /usr/local/tomcat6
#
# cd /usr/local/tomcat6/bin/jsvc-src/native/
# 4.自動啟動腳本編輯、賦權
# cp tomcat5.sh /etc/init.d/tomcat
# chown xiutuo:xiutuo tomcat
# chmod 711 tomcat
#
# 建立軟連接
#
# ln -s /etc/init.d/tomcat /etc/rc.d/rc3.d/K01tomcat
# ln -s /etc/init.d/tomcat /etc/rc.d/rc3.d/S99tomcat
# ln -s /etc/init.d/tomcat /etc/rc.d/rc5.d/K01tomcat
# ln -s /etc/init.d/tomcat /etc/rc.d/rc5.d/S99tomcat
#
#---------------------------------------------
# 5.如何查看該腳本已經工作了,方法如下:
# 啟動腳本:/etc/init.d/tomcat start
# a.通過web瀏覽器查看能不能訪問tomcat的管理頁面
# b.通過查看有沒有jsvc進程 ps -e | grep jsvc
#   如果看到倆個jsvc進程,恭喜,你成功啦!
#
# 6.腳本無法正常工作的解決方法:
# 啟動腳本:/etc/init.d/tomcat start
# 查看/usr/local/tomcat6/logs/目錄下的倆個日誌文件:
# catalina.out,catalina.err, 使用cat查看。
# a.錯誤
# Cannot find daemon loader org/apache/commons/daemon/support/DaemonLoader
# 解決:更改tomcat安裝目錄許可權為所有用戶可以讀,並屬於xiutuo用戶和xiutuo組
# 命令:chmod -R 755 /usr/locat/tomcat6
#        chown -R xiutuo:xiutuo /usr/locat/tomcat6
# b.錯誤
#   Cannot open PID file /var/run/jsvc.pid
# 解決:chown xiutuo:xiutuo /var/run/jsvc.pid
#        chown 744 /var/run/jsvc.pid
JAVA_HOME=/usr/java/jdk1.6.0_01
#改成你java安裝目錄
CATALINA_HOME=/usr/local/tomcat6/
#改成你tomcat安裝目錄
DAEMON_HOME=/usr/local/tomcat6/bin/jsvc-src/
#改成jsvc程序所在目錄
TOMCAT_USER=xiutuo
#改成啟動tomcat使用的普通用戶
JAVA_HOME=/usr/java/jdk1.6.0_01
#改成你java安裝目錄
CATALINA_HOME=/usr/local/tomcat6
#改成你tomcat安裝目錄
DAEMON_HOME=/usr/local/tomcat6/bin
#改成jsvc程序所在目錄,記住該進程是開機tomcat自動啟動進程
#測試該腳本時候,使用/etc/init.d/tomcat start
#如果順利啟動的話,通過ps -e可以看到倆個jsvc進程
TOMCAT_USER=xiutuo
#改成啟動tomcat使用的普通用戶
TMP_DIR=/var/tmp
CATALINA_OPTS=
#這個環境變數不管
CLASSPATH=\
$JAVA_HOME/lib/tools.jar:\
$DAEMON_HOME/commons-daemon.jar:\
$CATALINA_HOME/bin/bootstrap.jar
# classpath這個很重要,一定要確保這三個
# tools.jar、commons-daemon.jar、bootstrap.jar
# 的正確路徑。
case "$1" in
start)
    #
    # Start Tomcat
    #
    $DAEMON_HOME/jsvc \
    -user $TOMCAT_USER \
    -home $JAVA_HOME \
    -Dcatalina.home=$CATALINA_HOME \
    -Djava.io.tmpdir=$TMP_DIR \
    -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 \
    ;;
stop)
    #
    # Stop Tomcat
    #
    PID=`cat /var/run/jsvc.pid`
    kill $PID
    ;;
*)
    echo "Usage tomcat.sh start/stop"
    exit 1;;
esac
#
#
#×××××××××××××××××××××××××××××
-----------------------------------------------------------
註釋引用官方自動啟動說明:
Tomcat can be run as a daemon using the jsvc tool from the
commons-daemon project. Source tarballs for jsvc are
included with the Tomcat binaries, and need to be compiled.
Before running the script, the JAVA_HOME environment
variable should be set to the base path of the JDK.
Alternately, when calling the ./configure script,
the path of the JDK may be specified using the --with-java parameter,
such as ./configure --with-java=/usr/java.

Tomcat can then be run as a daemon using the following commands.
cd $CATALINA_HOME
    ./bin/jsvc -cp ./bin/bootstrap.jar \
    -outfile ./logs/catalina.out -errfile ./logs/catalina.err \
          org.apache.catalina.startup.Bootstrap

The file $CATALINA_HOME/bin/jsvc/native/tomcat.sh can be used
as a template for starting Tomcat automatically at boot time
from /etc/init.d. The file is currently setup for running
Tomcat 4.1.x, so it is necessary to edit it and change
the classname from BootstrapService to Bootstrap.
Note that the Commons-Daemon JAR file must be on your runtime
classpath to run Tomcat in this manner. The Commons-Daemon JAR file
is in the Class-Path entry of the bootstrap.jar manifest, but if you
get a ClassNotFoundException or a NoClassDefFoundError for
a Commons-Daemon class, add the Commons-Daemon JAR to
the -cp argument when launching jsvc.
------------------------------------------------------------
三:配置tomcat應用實列
瀏覽器輸入:http://localhost:8080/
點擊manager:輸入剛才配置的tomcat用戶:用戶admin和密碼admin
配置虛擬目錄test,並通過 http://localhost:8080/test/來訪問
1.手動配置
在 /usr/local/tomcat6/webapps目錄下,
建立testdir目錄,把相關jsp原代碼放入該目錄。
新建test.xml,並配置context和連接池
# cd /usr/local/tomcat6/webapps/
# vi test.xml
內容如下:
<Context path="/test" docBase="/usr/local/tomcat6/webapps/testdir"
          debug="5" reloadable="true" crossC>
<Resource name="jdbc/myoracle" auth="Container"
     type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
     url="jdbc:oracle:thin:@192.168.1.159:1521:db01"
     username="oracele_db_user" password="db_owner_password" maxActive="20"
     maxIdle="10" maxWait="-1"/>
</Context>
其中:
context path="/test"----就是http://localhost:8080/test/里的test虛擬目錄
<Resource name="jdbc/myoracle"
---- myoracle連接池名
url="jdbc:oracle:thin:@192.168.1.159:1521:db01"
--192.168.1.159:1521:db01是資料庫ip:埠:SID,
username="oracele_db_owner_user" password="db_owner_password"
---分別是資料庫用戶和用戶密碼
打開http://localhost:8080/,點擊manager,進入后,
在Deploy 這一欄里
Deploy directory or WAR file located on server
Context Path (optional): /test
XML Configuration file URL: /usr/local/tomcat6/testdir/test.xml   
WAR or Directory URL: 留空即可
點擊deploy按鈕。即配置了一個web應用
《解決方案》

回復 #1 xiutuo 的帖子

使用jsvc作為啟動腳步,不錯
《解決方案》

謝謝,很高興跟大家一起分享
《解決方案》

下周CentOS5.3快出來了.

[火星人 ] 秀脫linux筆記之tomcat6實戰篇已經有592次圍觀

http://coctec.com/docs/service/show-post-23650.html