tomcat6_jdk1.6_自動運行—安裝配置

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

tomcat6_jdk1.6_自動運行—安裝配置

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
秀脫linux筆記之tomcat6實戰篇

由於前段時間一直在外頭出差,沒有完成tomcat
以普通用戶執行,開機自動運行的文章
現在整理好后,包括調試腳本時候出現的錯誤解決方法

   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
使用普通用戶:xiutuo來啟動tomcat6
tomcat6開機自動啟動腳本:/etc/init.d/tomcat
--------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
一:安裝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
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 xvfz 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 ..                                       //回到上級目錄

# 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應用
2.通過war文件來配置。
在WAR file to deploy這一欄里
Select WAR file to upload:通過瀏覽把war文件路徑添加上,
就可以架設應用事例了,可以參照官方文檔Sample應用實例
----------------------------------------------------
Sample Application
The example app has been packaged as a war file and can be
downloaded here (Note: make sure your browser doesn't
change file extension or append a new one).
The easiest way to run this application is simply to move the
war file to your CATALINA_HOME/webapps directory.
Tomcat will automatically expand and deploy the application for you.
You can view it with the following URL
(assuming that you're running tomcat on port 8080 as is the default):
http://localhost:8080/sample
If you just want to browse the code you can
unpack the war file with the jar command. jar -xvf sample.war
---------------------------------------------------
**************************************
補充:
當然可以把test.xml的內容放在
/usr/local/tomcat6/conf/server.xml中的<host>與</host>之間
然後這個應用的程序的文件夾里新建 WEB-INF/web.xml
內容如下:   
<resource-ref>
<description>Oracle Datasource example</description>
<res-ref-name>jdbc/myoracle</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
測試jdbc代碼:
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<sql:query var="rs" dataSource="jdbc/TestDB">
select id, foo, bar from testdata
</sql:query>
<html>
    <head>
      <title>DB Test</title>
    </head>
    <body>
    <h2>Results</h2>
  
<c:forEach var="row" items="${rs.rows}">
      Foo ${row.foo}<br/>
      Bar ${row.bar}<br/>
</c:forEach>
    </body>
</html>
***************************************
其他的數據源連接池子參照官方文檔,
基本上修改test.xml里的<Resource里的內容就好了
***************************************
最後更改整個tomcat6的文件夾及其下的文件為xiutuo用戶和xiutuo組!
# chown -R xiutuo:xiutuo /usr/local/tomcat6
不放心的話再執行一次
# chown -R xiutuo:xiutuo /usr/local/tomcat6/*
# chmod -R 755 /usr/local/tomcat6




[火星人 ] tomcat6_jdk1.6_自動運行—安裝配置已經有445次圍觀

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