在linux環境下部署tomcat應用+配置最佳化

來源:互聯網
上載者:User
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'

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.