#service 定义服务,这里定义的第一个服务就是Catalina,这个服务中定义了一个连接器,其端口为8080,所以他可以从8080端口接受用户的请求,其协议为HTTP/1.1
#而Catalina服务中的另一个连接器的端口为8009,所以也可以从8009端口接受用户的请求,但其协议为AJP/1.3(这是一种以二进制格式从前端Apache传输用户请求至8009端口的协议,比用http协议效率要高)
--------------------------------------分割线 --------------------------------------
更多Tomcat相关教程见以下内容:
CentOS 6.6下安装配置Tomcat环境
RedHat Linux 5.5安装JDK+Tomcat并部署Java项目
Linux下使用Xshell查看Tomcat实时日志中文乱码解决方案
CentOS 64-bit下安装JDK和Tomcat并设置Tomcat开机启动操作步骤
--------------------------------------分割线 --------------------------------------
<Engine defaultHost="localhost">
#定义了一个叫做Catalina的引擎,其默认主机为本机
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host appBase="webapps"
unpackWARs="true" autoDeploy="true">
#定义了一个Realm(领域)用于用户的认证和授权,但默认为允许所有用户访问
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
#定义了有个Value(阀门),用来记录客户端请求、客户端IP地址和服务器等信息,说明日志放在logs目录下(安装目录),其中每个日志都以localhost_access_log.开头中间为日期,以.txt结尾,pattern定义了日志的格式
</Host>
</Engine>
</Service>
</Server>
输出环境变量,明确说明Catalina���什么位置(即Tomcat实例运行所在的目录),用来定义你的Catalina工作的路径。需要注意的是在同一个物理服务器上可以同时启用多个Tomcat实例(但需要使用不同的端口)
[root@node1 tomcat]# vim /etc/profile.d/tomcat.sh
export CATALINA_HOME=/usr/local/tomcat
export PATH=$PATH:$CATALINA_HOME/bin
source(读)一下这个文件
[root@node1 tomcat]# . /etc/profile.d/tomcat.sh
测试一下,为Catalina传递一个参数version,其实就是执行了/usr/locar/tomcat/bin/version.sh脚本
[root@node1 tomcat]# catalina.sh version
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/java/jdk1.8.0_111/jre #你安装的jre目录(jdk装后生成的)
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Server version: Apache Tomcat/7.0.73
Server built: Nov 7 2016 21:27:23 UTC
Server number: 7.0.73.0
OS Name: Linux
OS Version: 2.6.32-573.el6.x86_64 #Linux内核版本
Architecture: amd64
JVM Version: 1.8.0_111-b14 #JVM的版本
JVM Vendor: Oracle Corporation
启动Tomcat
[root@node1 tomcat]# catalina.sh start
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/java/jdk1.8.0_111/jre
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@node1 tomcat]# jps
2118 Jps
1927 Bootstrap
其中8080端口为http,8009为ajp
[root@node1 ~]# netstat -tnlp |grep java
tcp 0 0 ::ffff:127.0.0.1:8005 :::* LISTEN 1927/java
tcp 0 0 :::8009 :::* LISTEN 1927/java
tcp 0 0 :::8080 :::* LISTEN 1927/java
tomcat的库文件,有一大堆的jar文件。如jasper.jar、servlet-api.jar、jsp-api.jar等。是Tomcat实现许多重要功能必须依赖的类库
[root@node1 tomcat]# ls lib/
annotations-api.jar ecj-4.4.2.jar servlet-api.jar tomcat-i18n-es.jar
catalina-ant.jar el-api.jar tomcat7-websocket.jar tomcat-i18n-fr.jar
catalina-ha.jar jasper-el.jar tomcat-api.jar tomcat-i18n-ja.jar
catalina.jar jasper.jar tomcat-coyote.jar tomcat-jdbc.jar
catalina-tribes.jar jsp-api.jar tomcat-dbcp.jar tomcat-util.jar
[root@node1 tomcat]# ll logs/
1 23:32 catalina.2017-01-01.log
2 11:16 catalina.out #启动时Catalina自己输出的日志
1 23:25 host-manager.2017-01-01.log #主机管理日志
1 23:32 localhost.2017-01-01.log #主机的日志文件
1 23:25 localhost_access_log.2017-01-01.txt #主机的访问日志文件
2 11:15 localhost_access_log.2017-01-02.txt #一般日志每天滚动一次
1 23:25 manager.2017-01-01.log
[root@node1 tomcat]# ll
1 23:23 temp #临时文件的目录
2 11:54 webapps #应用程序目录如:docs、examples、ROOT等