1、Tomcat简介:
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。
2、Tomcat-Server的组成部分:
1)、Server:一个代表着整个Catalina容器的服务器元素;
2)、Service:它由一个或者多个Connector组成,以及一个Engine,负责处理所有Connector所获得的客户请求;
3)、Connector:一个Connector将在某个指定端口上侦听客户请求,并将获得的请求交给Engine来处理,从Engine处获得回应并返回客户。
TOMCAT有两个典型的Connector:
Coyote Http/1.1 Connector 在端口8080处侦听来自客户browser的http请求;
Coyote JK2 Connector 在端口8009处侦听来自其它WebServer(Apache)的servlet/jsp代理请求;
4)、Engine:Engine下可以配置多个虚拟主机Virtual Host,每个虚拟主机都有一个域名,当Engine获得一个请求时,它把该请求匹配到某个Host上,然后把该请求交给该Host来处理,Engine有一个默认虚拟主机,当请求无法匹配到任何一个Host上的时候,将交给该默认Host来处理;
5)、Host:代表一个Virtual Host,即虚拟主机,每个虚拟主机和某个网络域名Domain Name相匹配,每个虚拟主机下都可以部署(deploy)一个或者多个Web App,每个Web App对应于一个Context,有一个Context path,当Host获得一个请求时,将把该请求匹配到某个Context上,然后把该请求交给该Context来处理,匹配的方法是“最长匹配”,所以一个path==""的Context将成为该Host的默认Context
所有无法和其它Context的路径名匹配的请求都将最终和该默认Context匹配;
6)、Context:一个Context对应于一个Web Application,一个Web Application由一个或者多个Servlet组成,Context在创建的时候将根据配置文件$CATALINA_HOME/conf/web.xml
$WEBAPP_HOME/WEB-INF/web.xml载入Servlet类,当Context获得请求时,将在自己的映射表(mapping table)中寻找相匹配的Servlet类,如果找到,则执行该类,获得请求的回应,并返回。
3、实验环境:
操作系统:CentOS-6.5-i386
软件版本:jdk-7u45-linux-i586.rpm------Java的编译环境
apache-tomcat-7.0.42.tar.gz----这里使用tomcat的绿色软件包
JavaCenter_Home_GBK.zip------基于jsp的论坛源代码
4、实验过程:
1)、安装java的运行环境JDK:
[root@fcy ~]# yum localinstall jdk-7u45-linux-i586.rpm -y ----可以使用这种方式自动解决依赖关系
2)、安装完成后,查询JDK的安装目录和bin目录,将路径添加到系统变量中:
编辑/etc/profile,添加路径
配置完成后,查看Java环境的版本
[root@fcy ~]# java -version java version "1.7.0_45" Java(TM) SE Runtime Environment (build 1.7.0_45-b18) Java HotSpot(TM) Client VM (build 24.45-b08, mixed mode, sharing)
3)、拆解tomcat的源码包至/usr/local/src/:
[root@fcy ~]# tar -zxvf apache-tomcat-7.0.42.tar.gz -C /usr/local/src/
进入/usr/local/src/下,将tomcat的源码包移动到/usr/local/下,并重命名为tomcat:
[root@fcy src]# pwd /usr/local/src [root@fcy src]# mv apache-tomcat-7.0.42/ /usr/local/tomcat
4)、Tomcat的工作目录
/usr/local/tomcat
|---bin Tomcat:存放启动和关闭tomcat脚本;
|---conf:存放不同的配置文件(server.xml和web.xml);
|---lib:存放Tomcat运行需要的库文件(JARS);
|---logs:存放Tomcat执行时的LOG文件;
|---webapps:Tomcat的主要Web发布目录(包括应用程序示例);
|---work:存放jsp编译后产生的class文件;
5)、进入/usr/local/tomcat/bin目录下,执行启动脚本,并查看端口:
[root@fcy bin]# ./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 Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
访问测试(主站点IP地址:192.168.47.100)
第一次执行时速度较慢,因为tomcat要将请求的页面解释为Java语言,以后再请求该页面,速度就会正常,通过查看可以发现解释后的.class文件
6)、进入/usr/local/conf目录下,找到server.xml文件,该文件即为tomcat的主配置文件:
打开配置文件,可以看到tomcat有一个本地管理端口8005,只允许本地登录,并且可以执行SHUTDOWN指令关闭tomcat服务:
使用telnet登录本地管理,执行SHUTDOWN并查看端口:
7)、创建虚拟目录/test,实现tomcat的虚拟目录访问
在tets目录下创建主页index.jsp
启动tomcat并访问测试效果:
查看work目录下,可以发现虚拟目录test
8)、创建物理目录,实现tomcat的物理目录访问
[root@fcy tomcat]# mkdir /phy_test/ [root@fcy tomcat]# mv /usr/local/tomcat/webapps/test/ /phy_test/test
修改配置文件,指定物理目录位置:
测试语法,并重启tomcat:
访问测试:
5、综合应用-----JCenter论坛的搭建
从光盘安装mysql
[root@fcy ~]# yum install mysql mysql-server -y
启动mysql,并配置管理登录密码:
创建数据库JCenter:
拆解JCenter的压缩包,上传目录到tomcat的主站点下
[root@fcy ~]# unzip JavaCenter_Home_GBK.zip [root@fcy ~]# cd JavaCenter_Home_2.0_GBK/ [root@fcy JavaCenter_Home_2.0_GBK]# mv upload/ /usr/local/tomcat/webapps/jcenter
通过浏览器执行JCenter的安装程序:
填写数据库及相关信息,开始安装
安装完成
进入后台管理
--------JCenter安装完成----------------