http://blog.csdn.net/gaoligaoli/archive/2007/06/10/1646877.aspx
配置linux下的tomcat
一、jdk的安裝
1.以root身份等陸
2.開啟一個終端
3.輸入命令ls -l查看安裝的檔案的許可權
#cd /home
#cp jdk1.4.2.rpm.bin /usr/local
#cd /usr/local
給所有的使用者添加可執行檔許可權
#chmod a+x jdk1.4.2.rpm.bin
#./jdk1.4.2.rpm.bin
會組建檔案jdk1.4.2.rpm
同樣給所有的使用者添加可執行權
chmod a+x jdk1.4.2.rpm
安裝程式 rpm -ivh jdk1.4.2.rpm
接受協議,按enter即可
使用預設的安裝目錄,在 /usr/java/下
二、安裝tomcat
tar –xvzf jakarta-tomcat-5.5.9.tar.gz
mv jakarta-tomcat-5.5.9 tomcat5.9
完成後,會在/usr/tomcat出現tomcat5.9目錄,裡邊就是tomcat的檔案。
三、配置環境變數
vi .bash_profile
加入如下內容:
JAVA_HOME=/usr/java/jdk1.5.0_04
export JAVA_HOME
CATALINA_HOME=/yewu/tomcat/tomcat5.9
export CATALINA_HOME
CLASSPATH=.:$JAVA_HOME/lib:$CATALINA_HOME/common/lib
export CLASSPATH
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export PATH
儲存退出。
四、配置啟動tomcat
1、手動啟動,將這個檔案放在根/bin下,名稱為100class
#!/bin/sh
CATALINA_HOME=/usr/tomcat/tomcat-5.0.28
export CATALINA_HOME
$CATALINA_HOME/bin/startup.sh
#case "$1" in
#start)
# $CATALINA_HOME/bin/startup.sh
# ;;
#stop)
# $CATALINA_HOME/bin/shutdown.sh
# ;;
#esac
2、自動啟動,將這個檔案放在/etc/init.d下,名稱為100classServer
#!/bin/sh
case "$1" in
start)
CATALINA_HOME=/usr/tomcat/tomcat-5.0.28
export CATALINA_HOME
JAVA_HOME=/usr/java/jdk1.5.0_12
export JAVA_HOME
echo $JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
cd $CATALINA_HOME/bin
$CATALINA_HOME/bin/startup.sh
cd -
;;
stop)
CATALINA_HOME=/usr/tomcat/tomcat-5.0.28
export CATALINA_HOME
JAVA_HOME=/usr/java/jdk1.5.0_12
export JAVA_HOME
echo $JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
echo $PATH
$CATALINA_HOME/bin/shutdown.sh
;;
*)
echo "Usage: 100classServer {start|stop}"
exit 1
esac
exit 0
說明:要在etc/rc2.d等目錄,從rc1~6下加入S99100class的連結,系統在啟動時,自動載入tomcat服務
3、拷貝%JAVA_HOME%/lib/tools.jar拷貝到%CATALINA_HOME%/common/lib下,可選擇
4、在tomcat-users.xml下增加使用者名稱稱100class密碼100class,加入相應的角色
可通過如下方法解決:在tomcat安裝目錄的conf檔案夾裡找到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="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
<user username="admin" password="admin" roles="admin,manager"/>
</tomcat-users>5、修改tomcat的預設路徑在 <Host name="localhost" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">下面加入:<Context path="" docBase="baiying" debug="0" reloadable="true" />
5、調用htt://localhost:8080/manager,部署war檔案6、系統自動啟動Tomcat服務在Linux下,Tomcat可以作為一個守護進程來啟動以及停止,這個必須藉助於項目commons-daemon中的jsvc工具。Tomcat安裝完後就帶有這個工具的源碼{tomcat}/bin/jsvc.tar.gz。按照下列命令安裝這個工具:解壓: tar zxvf jsvc.tar.gz
配置: cd jsvc-src
chmod +x configure
./configure --with-java=/usr/jdk
編譯: make
檢驗: ./jsvc -helpjsvc工具本身帶了一個指令碼(在native目錄下)用來啟動和停止Tomcat守護進程,但是在實驗中發現該指令碼無法設定為自動啟動,顯示的錯誤資訊是:tomcat 服務不支援 chkconfig,因此修改了此指令碼
程式碼: #!/bin/sh
#
# Startup Script for Tomcat5
#
# chkconfig: 345 87 13
# description: Tomcat Daemon
# processname: jsvc
# pidfile: /var/run/jsvc.pid
# config:
#
# Source function library.
. /etc/rc.d/init.d/functions
#
prog=tomcat
#
# Small shell script to show how to start/stop Tomcat using jsvc
# If you want to have Tomcat running on port 80 please modify the server.xml
# file:
#
# <!-- Define a non-SSL HTTP/1.1 Connector on port 80 -->
# <Connector className="org.apache.catalina.connector.http.HttpConnector"
# port="80" minProcessors="5" maxProcessors="75"
# enableLookups="true" redirectPort="8443"
# acceptCount="10" debug="0" connectionTimeout="60000"/>
#
# You need a developement version of Tomcat (Apache Tomcat/4.1-dev)
#
# Adapt the following lines to your configuration JAVA_HOME=/usr/jdk1.5.0
CATALINA_HOME=/apache/tomcat
DAEMON_HOME=$CATALINA_HOME/bin/jsvc-src
TOMCAT_USER=root
TMP_DIR=/var/tmp
CATALINA_OPTS=
CLASSPATH=$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/bin/commons-daemon.jar:$CATALINA_HOME/bin/bootstrap.jarstart(){
echo -n $"Starting $prog: "
#
# 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 \
RETVAL=$?
[ $RETVAL = 0 ] && touch /var/lock/subsys/jsvc
[ $RETVAL = 0 ] && echo_success || echo_failure
echo
return $RETVAL
}
stop(){
echo -n $"Stopping $prog: "
#
# Stop Tomcat
#
PID=`cat /var/run/jsvc.pid`
kill $PID
RETVAL=$?
[ $RETVAL = 0 ] && rm /var/lock/subsys/jsvc
[ $RETVAL = 0 ] && echo_success || echo_failure
echo
return $RETVAL
} case "$1" in
start)
start
;; stop)
stop
;; restart|reload)
stop
start
;; *)
echo "Usage $0 start/stop"
exit 1;;
esac修改下載的指令碼裡面有關路徑的資訊以及要啟動Tomcat的使用者(使用者必須已存在)
拷貝指令碼到/etc/rc.d/init.d目錄下的tomcat檔案,給該指令碼賦予可執行許可權chmod +x tomcat
你可以使用命令/etc/rc.d/init.d/tomcat start|stop 來驗證守護進程是否可以正常啟動和停止。接下來就是把這個指令碼設定成系統啟動時自動執行,系統關閉時自動停止,使用如下命令:
chkconfig --add tomcat
重新啟動系統後可以啟動的過程中看到Starting Tomcat ..... [OK]的資訊,這樣就完成設定過程。
附:vi編輯器的操作
開啟檔案:vi 檔案名稱
從命令模式切換到輸入模式:a
輸入模式切換到命令模式:ESC
末行模式::
儲存::w
儲存退出::wq
不儲存強制退出::q!
儲存強制退出::wq!
游標移動到檔案首:[[
游標移動到檔案尾:]]
下翻頁:ctrl+f
上翻頁:ctrl+b
最佳化:Tomcat 5常用最佳化和配置
========================================================================
1、JDK記憶體最佳化:
Tomcat預設能夠使用的記憶體為128MB,Windows下,在文檔{tomcat_home}/bin/catalina.bat,Unix下,在文檔{tomcat_home}/bin/catalina.sh的前面,增加如下配置:
JAVA_OPTS='-Xms[初始化記憶體大小] -Xmx[能夠使用的最大記憶體]
一般說來,您應該使用實體記憶體的 80% 作為堆大小。
2、連接器最佳化:
在tomcat配置文檔server.xml中的配置中,和串連數相關的參數有:
maxThreads:
Tomcat使用線程來處理接收的每個請求。這個值表示Tomcat可建立的最大的線程數。預設值200。
acceptCount:
指定當任何能夠使用的處理請求的線程數都被使用時,能夠放到處理隊列中的請求數,超過這個數的請求將不予處理。預設值10。
minSpareThreads:
Tomcat初始化時建立的線程數。預設值4。
maxSpareThreads:
一旦建立的線程超過這個值,Tomcat就會關閉不再需要的socket線程。預設值50。
enableLookups:
是否反查網域名稱,預設值為true。為了提高處理能力,應配置為false
connnectionTimeout:
網路連接逾時,預設值60000,單位:毫秒。配置為0表示永不逾時,這樣配置有隱患的。通常可配置為30000毫秒。
maxKeepAliveRequests:
保持請求數量,預設值100。
bufferSize:
輸入資料流緩衝大小,預設值2048 bytes。
compression:
壓縮傳輸,取值on/off/force,預設值off。
其中和最大串連數相關的參數為maxThreads和acceptCount。假如要加大並發串連數,應同時加大這兩個參數。web server允許的最大串連數還受制於作業系統的核心參數配置,通常Windows是2000個左右,Linux是1000個左右。
3、tomcat中如何禁止和允許列目錄下的文檔
在{tomcat_home}/conf/web.xml中,把listings參數配置成false即可,如下:
<servlet>
...
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
...
</servlet>
4、tomcat中如何禁止和允許主機或IP地址訪問
<Host name="localhost" ...>
...
<Valve className="org.apache.catalina.valves.RemoteHostValve"
allow="*.mycompany.com,www.yourcompany.com"/>
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
deny="192.168.1.*"/>
...
</Host>
這是我們伺服器的配置,具體文檔不能給您,因為涉及到公司機密,所以那一行我給您,我拷貝下來了
JAVA_OPTS='-server -Xms512m -Xmx768m -XX:NewSize=128m -XX:MaxNewSize=192m -XX:SurvivorRatio=8'