安装JDK(配置java环境): 环境:CentOS6.5_x86-64bit 一、先安装JVM 1.使用7版本的jdk(到官网下载相应的软件包到本地http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jre-7u9-oth-JPR)

[root@localhost ~]# rpm -ivh jdk-7u9-linux-x64.rpm
Preparing… ########################################### [100%]
1:jdk ########################################### [100%]
Unpacking JAR files…
rt.jar…
Error: Could not open input file: /usr/java/jdk1.7.0_09/jre/lib/rt.pack
jsse.jar..
Error: Could not open input file: /usr/java/jdk1.7.0_09/jre/lib/jsse.pack
charsets.jar…
Error: Could not open input file: /usr/java/jdk1.7.0_09/jre/lib/charsets.pack
tools.jar…
Error: Could not open input file: /usr/java/jdk1.7.0_09/lib/tools.pack
localedata.jar…
Error: Could not open input file: /usr/java/jdk1.7.0_09/jre/lib/ext/localedata.pack

#->以上那些错误可以忽略,不影响jdk到安装和使用

2.安装后生成的文件:

[root@localhost ~]# cd /usr/java/
[root@localhost java]# ll
total 4
lrwxrwxrwx 1 root root 16 May 6 10:58 default -> /usr/java/latest
drwxr-xr-x 10 root root 4096 May 6 10:58 jdk1.7.0_09
lrwxrwxrwx 1 root root 21 May 6 10:58 latest -> /usr/java/jdk1.7.0_09

3.修改java环境变量:

[root@localhost ~]# vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/latest
export PATH=$JAVA_HOME/bin:$PATH
[root@localhost ~]# . /etc/profile.d/java.sh

4.测试java环境是否可用.

[root@localhost java]# java -version
java version “1.7.0_09”
Java(TM) SE Runtime Environment (build 1. 7.0_09-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)
[root@localhost java]#

此时只是部署好了java环境,而并非运行任何的JAVA程序,而Tomcat就是运行在这个环境上面的JAVA程序 二、安装配置tomcat 1.获取软件包并解压安装:

[root@localhost ~]# wget http://apache.fayea.com/apache-mirror/tomcat/tomcat-7/v7.0.55/bin/apache-tomcat-7.0.55.tar.gz
[root@localhost ~]# tar -xf apache-tomcat-7.0.55.tar.gz -C /usr/local/
[root@localhost ~]# cd /usr/local/
[root@localhost local]# ln -sv apache-tomcat-7.0.5 tomcat
`tomcat’ -> `apache-tomcat-7.0.55’
[root@localhost local]# cd tomcat/
[root@localhost tomcat]#

2.更改tomcat环境变量:

[root@localhost ~]# vim /etc/profile.d/tomcat.sh
export CATALINA_HOME=/usr/local/tomcat
export PATH=$CATALINA_HOME/bin/:$PATH
[root@localhost ~]# . /etc/profile.d/tomcat

3.启动tomcat

[root@localhost tomcat]# catalina.sh start

4.验证是否启动

[root@localhost tomcat]# ss -tunlp | grep java
tcp LISTEN 0 100 :::8080 ::: users:((“java”,25953,42))
tcp LISTEN 0 1 ::ffff:127.0.0.1:8005 :::
users:((“java”,25953,46))
tcp LISTEN 0 100 :::8009 :::* users:((“java”,25953,43))

#—>注意三个端口,每一个单独的java程序都是由一个jvm来运行的.
[root@localhost tomcat]# jps
25953 Bootstrap #—>这个进程是tomcat启动时为了实现其加速的一个程序.有这个进程则表示启动成功.
25995 Jps
[root@localhost tomcat]#

5.网页访问测试:http://IP:8080 现在tomcat已经启动了,注意上图中的三个按钮,后续说. [

wpid-d698a595a631e5b1f4c10780198b6dc9_c8b5d927-ed11-4825-ac80-c5f047b7c4a0.jpg](https://qcloud.coding.net/u/guomaoqiu/p/guomaoqiu/git/raw/master/uploads/2014/08/wpid-d698a595a631e5b1f4c10780198b6dc9_c8b5d927-ed11-4825-ac80-c5f047b7c4a0-600x348.jpg)
wpid-d698a595a631e5b1f4c10780198b6dc9_c8b5d927-ed11-4825-ac80-c5f047b7c4a0.jpg](https://qcloud.coding.net/u/guomaoqiu/p/guomaoqiu/git/raw/master/uploads/2014/08/wpid-d698a595a631e5b1f4c10780198b6dc9_c8b5d927-ed11-4825-ac80-c5f047b7c4a0-600x348.jpg)
6.为了方便管理tomcat,为其提供SysV管理脚本.

[root@localhost ~]# vim /etc/rc.d/init.d/tomcat

#!/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
. /etc/init.d/functions

case $1 in
start)
$CATALINA_HOME/bin/catalina.sh start &>/dev/null;;
stop)
$CATALINA_HOME/bin/catalina.sh stop &>/dev/null;;
restart)
$CATALINA_HOME/bin/catalina.sh stop &>/dev/null
sleep 2
$CATALINA_HOME/bin/catalina.sh start &>/dev/null;;
*)
echo “Usage:`basename $0` {start|stop|restart}”
exit 1
;;
esac
[root@localhost ~]# chmod +X /etc/rc.d/init.d/tomcat
[root@localhost ~]# chkconfig –add tomcat

#->通过上面这个服务控制脚本就可以控制tomcat的启动、关闭等操作了;

7.Tomcat 配置文件配置层次: Tomcat是一个基于组件的服务器,它的构成组件都是可配置的,其中最外层的给件是CATALINA SERVLET容器,其他的组件按照一定的格式要求配置在这个顶层容器中。Tomcat的各个组件是server.xml文件中配置的,Tomcat服务器默认情况下对各种组件都有默认的实现,下面通过分析server.xml文件来理解Tomcat的各个组件是如何组织的。

#—>顶层组件,代表一个服务器
#—>顶层组件,是Connector的集合,将连接器关联至engine;因此一个service内部可以有多个connector,但只能有一个engine
#—>连接器类组件,代表通信接口
#—>容器类组件,为特定的Service组件处理所有客户请求,可包含多个Host
#—>为特定的虚拟主机处理所有客户请求
#—>为特定的WEB应用处理所有客户请求






详述这些组件: 顶级组件:位于整个配置的顶层; 容器类:可以包含其它组件的组件;
engine: 核心容器,catalina引擎,负责通过connector接收用户请求,在一个engin内部可以有多个host
host: 类似于httpd中的虚拟主机;支持基于FQDN的虚拟主机
context: 最内层的容器类组件,一个context代表一个web应用程序;配置context的主要目的,指定对应的webapp的根目录;还能为webapp指定额外的属性,如部署方式等; 连接器组件:连接用户请求至tomcat; 两类连接器: 1.基于HTTP 协议 2.基于AJP 二进制协议,使用httpd反向代理用户请求至tomcat时,在httpd和tomcat之间使用.被嵌套类的组件:位于一个容器当中,不能包含其它组件; 被嵌套类的组件:位于一个容器当中,不能包含其它组件; valve: 拦截请求并在将其转至对应的webapp之前进行某种处理操作;可以用于任何容器中;
access log valve:
remote address filter value: 基于IP做访问控制
logger: 日志记录器,用于记录组件 内部的状态信息(可用于除context之外的任何容器中)
realm: 可以用于任何容器类的组件中,关联一个用户认证库,实现认证和授权;
UserDatabaseRealm: 使用JNDI自定义的用户认证库;
MemoryRealm: tomcat-users.xml中
JDBCRealm: 基于JDBC连接至数据库中查找用户; 部署:使用类加载器,为webapp准备好其依赖所有类. 8.服务端口说明: 在我们启动之后有3个端口:8005,8009,8080 8005 ==>位于server顶级组件当中,它监听于本地<127.0.0.1> 通过这个port我们可以直接在本地关闭tomcat应用程序,以及java进程. 如下: (1)在本机安装telnet ;

[root@localhost ~]# yum install -y telnet

(2)连接本机8005port,发送”SHUTDOWN”指令

[root@localhost ~]# telnet localhost 8005 #–>telnet本地8005port
Trying ::1…
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]‘.
SHUTDOWN #–>发送”SHUTDOWN”指令!
Connection closed by foreign host.
[root@node1 ~]# ss -tunlp | grep java #–>此时再去检查端口,显示没有,说明我们通过telnet已经发送指令将其关闭成功啦,危险系数较高,配置服务安全性时需注意!
[root@node1 ~]# service tomcat start #–>再次启动,检查端口正常否.
[root@node1 ~]# ss -tunlp | grep java
tcp LISTEN 0 100 :::8080 ::: users:((“java”,6430,42))
tcp LISTEN 0 1 ::ffff:127.0.0.1:8005 :::
users:((“java”,6430,46))
tcp LISTEN 0 100 :::8009 :::* users:((“java”,6430,43))
[root@node1 ~]#

8009,8080 ==>前面已说到了在连接器组件当中有个,他们在这个组件当中分别对应了两种协议. 8009 基于AJD协议 8080 基于http协议,当然在中可以添加各种参数,例如”address”等,默认配置文件中没有指定ip地址,默认就是监听所有.这个端口一般修改为80. 三、虚拟主机定义: (1)创建网页目录:

[root@node1 ~]# mkdir /www/webapps/ROOT

(2)创建网页测试文件:

[root@localhost ~]# vim /www/webapps/ROOT/index.jsp
<%@ page language=”java” %>
<%@ page import=”java.util.*” %>



JSP test page.


<% out.println(“Hello,world!”); %>

(3)修改配置文件如下:

[root@node1 ~]# vim /usr/local/tomcat/conf/server.xml
……
……

…..
…..



日志保存格式
prefix=”www.aaa.www_log." suffix=”.txt”
pattern=”%h %l %u %t "%r" %s %b” />

……
……

(4)重启服务测试:

[root@localhost ~]# service tomcat restart

[

tomcat](https://qcloud.coding.net/u/guomaoqiu/p/guomaoqiu/git/raw/master/uploads/2014/08/tomcat.png)
注意:此处我已经对该服务器做了解析.
虚拟主机的别名机制:

[root@node1 ~]# vim /usr/local/tomcat/conf/server.xml
……
……

…..
…..



#—>在原有虚拟主机中添加一个Context
日志保存格式
prefix=”www.aaa.www_log." suffix=”.txt”
pattern=”%h %l %u %t "%r" %s %b” />

……

#—>创建目录bbsapp
[root@localhost ~]# mkdir /www/webapps/bbsapp

#—>创建测试文件
[root@localhost ~]# cp /www/webapps/ROOT/index.jsp /www/webapps/bbsapp/index.jsp

#—>编辑测试文件,与上面的不同即可
[root@localhost ~]# vim /www/webapps/bbsapp/index.jsp

#—>重启服务测试
[root@localhost ~]# service tomcat restart
[root@localhost ~]#
……

tomcat 四、服务状态信息&Dashboard: 在最前面的那种图片当中我们看到了tomcat服务的默认界面有三个按钮: tomcat 当我们点击”Server Status”时,需要身份验证: tomcat 点击”取消”,网页会提示我们如何去修改,并能够登录查看状态等信息. tomcat 那就去修改这个配置文件吧:

[root@localhost ~]# vim /usr/local/tomcat/conf/tomcat-users.xml
……
……


……
……

#—>重启服务
[root@varnish ~]# service tomcat restart

#—>#测试:(这里只是状态界面,如果想看其他请看帮助信息)

[

tomcat](https://qcloud.coding.net/u/guomaoqiu/p/guomaoqiu/git/raw/master/uploads/2014/08/tomcat5.png)
tomcat](https://qcloud.coding.net/u/guomaoqiu/p/guomaoqiu/git/raw/master/uploads/2014/08/tomcat5.png)