Tomcat服務安裝配置
tomcatapache.org
一個tomcat的server裏都有一個service,service裏有Englne引擎,引擎裏有多個主機host,主機裏可以有多個Context,而每個裏面都可以定義日誌 訪問密碼 等。
其中相關屬性定義有:
1) className:相關的java實現的類名,相應於分別應該為org.apache.catalina.valves.RemoteHostValve或org.apache.catalina.valves.RemoteAddrValve;
2) allow:以逗號分開的允許訪問的IP地址列表,支持正則表達式,因此,點號“.”用於IP地址時需要轉義;僅定義allow項時,非明確allow的地址均被deny;
3) deny: 以逗號分開的禁止訪問的IP地址列表,支持正則表達式;使用方式同allow;
9、GlobalNamingResources
應用於整個服務器的JNDI映射,此可以避免每個Web應用程序都需要在各自的web.xml創建,這在web應用程序以WAR的形式存在時尤為有用。它通常可以包含三個子元素:
1) Environment;
2) Resource;
3) ResourceEnvRef;
10、WatchedResource
WatchedResource可以用於Context中監視指定的webapp程序文件的改變,並且能夠在監視到文件內容發生改變時重新裝載此文件。
11、Listener
Listener用於創建和配置LifecycleListener對象,而LifecycleListener通常被開發人員用來創建和刪除容器。
11、Loader
Java的動態裝載功能是其語言功能強大表現之一,Servlet容器使用此功能在運行時動態裝載servlet和它們所依賴的類。Loader可以用於Context中控制java類的加載。
12、Manager
Manger對象用於實現HTTP會話管理的功能,Tomcat6中有5種Manger的實現:
1) StandardManager
Tomcat6的默認會話管理器,用於非集群環境中對單個處於運行狀態的Tomcat實例會話進行管理。當Tomcat關閉時,這些會話相關的數據會被寫入磁盤上的一個名叫SESSION.ser的文件,並在Tomcat下次啟動時讀取此文件。
2) PersistentManager
當一個會話長時間處於空閑狀態時會被寫入到swap會話對象,這對於內存資源比較吃緊的應用環境來說比較有用。
3)DeltaManager
用於Tomcat集群的會話管理器,它通過將改變了會話數據同步給集群中的其它節點實現會話復制。這種實現會將所有會話的改變同步給集群中的每一個節點,也是在集群環境中用得最多的一種實現方式。
4) BackupManager
用於Tomcat集群的會話管理器,與DeltaManager不同的是,某節點會話的改變只會同步給集群中的另一個而非所有節點。
5)SimpleTcpReplicationManager
Tomcat4時用到的版本,過於老舊了。
13、Stores
PersistentManager必須包含一個Store元素以指定將會話數據存儲至何處。這通常有兩種實現方式:FileStore和JDBCStore。
14、Resources
經常用於實現在Context中指定需要裝載的但不在Tomcat本地磁盤上的應用資源,如Java類,HTML頁面,JSP文件等。
15、Cluster
專用於配置Tomcat集群的元素,可用於Engine和Host容器中。在用於Engine容器中時,Engine中的所有Host均支持集群功能。在Cluster元素中,需要直接定義一個Manager元素,這個Manager元素有一個其值為org.apache.catalina.ha.session.DeltaManager或org.apache.catalina.ha.session.BackupManager的className屬性。同時,Cluster中還需要分別定義一個Channel和ClusterListener元素。
15.1、Channel
用於Cluster中給集群中同一組中的節點定義通信“信道”。Channel中需要至少定義Membership、Receiver和Sender三個元素,此外還有一個可選元素Interceptor。
15.2、Membership
用於Channel中配置同一通信信道上節點集群組中的成員情況,即監控加入當前集群組中的節點並在各節點間傳遞心跳信息,而且可以在接收不到某成員的心跳信息時將其從集群節點中移除。Tomcat6中Membership的實現是org.apache.catalina.tribes.membership.McastService。
15.3、Sender
用於Channel中配置“復制信息”的發送器,實現發送需要同步給其它節點的數據至集群中的其它節點。發送器不需要屬性的定義,但可以在其內部定義一個Transport元素。
15.4 Transport
用於Sender內部,配置數據如何發送至集群中的其它節點。Tomcat6有兩種Transport的實現:
1) PooledMultiSender
基於Java阻塞式IO,可以將一次將多個信息並發發送至其它節點,但一次只能傳送給一個節點。
2)PooledParallelSener
基於Java非阻塞式IO,即NIO,可以一次發送多個信息至一個或多個節點。
15.5 Receiver
用於Channel定義某節點如何從其它節點的Sender接收復制數據,Tomcat6中實現的接收方式有兩種BioReceiver和NioReceiver。
安裝:
#tar xf apache-tomacat-7.0.33.tar.gz
#cd /usr/local/
#ln -sv apache-tomacat-7.0.33 tomacat
#cd tomacat
在servrt.xml裏
Server port="8005" shutdown="SHUTDOWN"定義telnet登錄進行管理的端口8005
pathname="conf/tomcat-users.xml"定義訪問控制
<Service name="Catalina"> 定義一個service
<Connector port="8080" proyocol="HTTP/1.1" 默認端口8080
connectionTimeout="2000"
redirectPort="8443" />
啟動tomcat
#vim /etc/profile.d/tomcat.sh
export CATALINE_HOME=/usr/local/tomcat
export PATH=$PATH:$CATALINE_HOME/bin
#./etc/profile.d/tomcat.sh
#ls bin/ 會有version.sh和catalina.sh等
#catalina.sh version 傳遞一個version參數給catalina腳本
#catalina.sh start啟動
#netstat -tnlp 查看8080和8009端口是否在監聽狀態
#ls logs裏
catalina.$TIME代表catalina自身啟動的日誌信息
catalina。out當前正在使用的文件
host-manager為host-manager提供的日誌
manager.$TIME為manager提供的日誌文件
localhost.$TIME默認主機的日誌文件
localhostaccess_log.$TIME主機的訪問日誌
temp臨時文件目錄
webapps 目錄文件
啟動腳本:
vim /etc/rc.d/init.d/tomcat.sh
#!/bin/sh
# Tomcat init script for Linux.
#
# chkconfig: 2345 96 14
# description: The Apache Tomcat servlet/JSP container.
JAVA_HOME=/usr/java/latest
CATALINA_HOME=/usr/local/tomcat
export JAVA_HOME CATALINA_HOME
exec $CATALINA_HOME/bin/catalina.sh $*
#chomd +x /etc/rc.d/init.d/tomcat
#chkconfig --add tomcat
語法測試,在tomcat停止後測試
#service tomcat configtest
本文出自 “運維成長路” 博客,謝絕轉載!
Tomcat服務安裝配置