您的位置:首页 > 运维架构 > Tomcat

Tomcat服务安装配置

2017-11-22 13:17 232 查看
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 服务安装