介绍
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为9.0。
单台Tomcat服务器一般最大并发为800左右,对单个JVM做优化最大并发可达到2000
安装
Tomcat需要JDK的支持,所以安装Tomcat前先安装JDK。
预先下载
环境:CentOS 6.5
JDK:jdk-7u65-linux-x64.gz 下载地址:https://tomcat.apache.org/
Tomcat:apache-tomcat-7.0.54.tar.gz 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
1. 安装JDK
如果Linux中已经安装了JDK(版本较低)可以直接使用,也可以进行升级JDK
JDK不需要编译,因为JDK软件包内就是编译好的二进制文件
tar xvf jdk-7u65-linux-x64.gz -C /usr/src/ #解压JDK软件包
mv /usr/src/jdk1..0_65/ /usr/local/java #因为JDK不需要编译,直接将JDK移动到/usr/local/下
ln -s /usr/local/java/bin/* /usr/bin/ #为JDK创建软链接
**可以将创建软链接的方式换成声明环境变量
创建 java.sh 文件
#vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/local/java #设置JAVA根目录
export PATH=$PATH:$JAVA_HOME/bin #在PATH环境变量中添加JAVA根目录下的bin/子目录
执行java.sh文件,使其立即生效
source /etc/profile.d/java.sh
执行java -versicon验证JDK程序是否安装成功
java -version
***升级JDK和安装JDK方式相同,但是需要先删除旧的java程序***
rm -rf /usr/bin/java*
2.安装Tomcat
Tomcat程序也不需要编译
tar zxvf apache-tomcat-7.0..tar.gz -C /usr/src/ #解包
mv /usr/src/apache-tomcat-7.0./ /usr/local/tomcat #移动tomcat程序到/usr/local/下
/usr/local/tomcat/bin/startup.sh #启动tomcat服务
netstat -anpt | grep 8080 #验证tomcat是否启动成功
# netstat -anpt | grep
tcp ::: :::* LISTEN /java
验证:使用浏览器访问Tomcat站点
停止Tomcat服务
/usr/local/tomcat/bin/shutdown.sh
Tomcat配置相关说明
(1)主要目录
.bin/:存放Windows或Linux平台上启动和关闭Tomcat的脚本文件;
.conf/:存放Tomcat服务器的的各种全局配置文件,其中最重要的是server.xml和web.xml;
.lib/:存放Tomcat运行需要的库文件;
.logs/:存放Tomcat执行时的的LOG文件;
.webapps/:Tomcat的主要Web发布目录(包括应用程序实例);
.work/:存放jsp编译后产生的class文件
.temp:存放Tomcat的临时文件,这个目录下的东西可以在停止Tomcat后删除;
.LICENSE:许可证;
.NOTICE:说明文件;
目录说明
(2)配置文件说明( conf/下 )
catalina.policy:权限控制配置文件;
catalina.properties:Tomcat属性配置文件;
context.xml:上下文配置文件;
logging.properties:日志log相关配置文件;
server.xml:主配置文件;
tomcat-users.xml:manager-gui管理用户配置文件(Tomcat安装后提供一个manager-gui的管理界面,通过该配置文件可以开启访问);
web.xml:Tomcat的servlet、servlet-mapping、filter、MIME等配置文件;
配置文件说明
(3)Tomcat主配置文件说明
server.xml为Tomcat的主要配置文件,通过配置该文件,可以修改Tomcat的启动端口、网站目录、虚拟主机、开启https等重要功能。
整个server.xml有一下结构构成:<Server>、<Service>、<Connector/>、<Engine>、<Host>、<Context>、</Contest>、</Host>、</Engine>、</Service0>、</Server>
以下是默认安装后server.xml文件的部分内容,其中那个<!-- -->内的内容是注释信息
<?xml version='1.0' encoding='utf-8'?>
...... //省略部分内容
<Server port="" shutdown="SHUTDOWN">
//Tomcat关闭端口,默认只对本机地址开放,可以在本机本机telnet 127.0.0.0 8005 该端口,对Tomcat进行关闭操作 ...... //省略部分内容
<Connector port="" protocol="HTTP/1.1"
connectionTimeout=""
redirectPort="" />
//Tomcat启动AJP 1.3连接器时默认的端口号,可以根据需要进行修改 ...... //省略部分内容 //以下部分为Tomcat定义虚拟主机时的配置及日至配置
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"> <!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
--> <!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" --> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" /> </Host>
</Engine>
</Service>
</Server>
server.xml
(4)各部分详解
建立java的web站点
1.创建一个web目录
mkdir /www
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title> JSP TEST page </title>
</head>
<body>
<% out.println("Welcome to test site");%>
</body>
</html>
index.jsp
#vim /usr/local/tomcat/conf/server.xml
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"> ...... //部分内容省略
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
//以下context为增加内容
<Context docBase="/www" path="" reloadable="false"></Context> </Host>
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh