Tomcat是一个开源的Java EE服务器,想弄明白其中原理还有很长路要走,但是对于有Apache,Nginx经验的我们来说部署它还是没有问题的,下面我们来一步步的构建这些基本的功能吧。
实验环境:rhel 5.8,SElinux已经关闭
一.构建一个基本的Tomcat服务器
不需要额外服务器配合,自己可以直接响应请求。
规划:
22 .cat.laoguang.me
1.1 下载安装jdk
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7u9-downloads-1859576.html选择适合你的平台
rpm -ivh jdk-7u9-linux-irpm ##默认安装在/usr/java中
1.2 声明JAVA_HOME变量,并为了使用方便将生成的命令加入PATH中
vi /etc/profile.d/java.sh JAVA_HOME=/usr/java/latest PATH=$PATH:/usr/java/lastest/bin export JAVA_HOME PATH source /etc/profile.d/java.sh ##加载刚才的配置java -version ##显示版本号代表成功
1.3 下载安装tomcat
下载地址:http://tomcat.apache.org
tar xvf apache-tomcat-tar.gz -C /usr/local/ cd /usr/local/ ln -sv apache-tomcat-33/ tomcat ##创建软链接
1.4 声明CATALINA_HOME环境变量,为方便使用生成的命令加入到PATH中
vi /etc/profile.d/tomcat.sh CATALINA_HOME=/usr/local/tomcat/ PATH=$PATH:/usr/local/tomcat/bin export CATALINA_HOME PATH source /etc/profile.d/tomcat.sh ##加载刚才配置 测试是否生效 catalina.sh version ##如果显示版本号则成功
1.5 查看tomcat的下的文件与目录
bin ##命令目录 conf ##配置文件目录 lib ##类库logs ##日志 webapps ##事例网站所在目录 work ##编译时用到的工作目录 配置文件最需要注意的有:server.xml ##tomcat 主配置文件 tomcat-users.xml ##认证文件,过会会讲到web.xml ##每个站点部署都需用到web.xml,如果站点有用站点的,没有则用这个默认的
1.6 查看示例站点下的文件与目录
cd /usr/local/tomcat ls webapps/examples/ index.html jsp servlets WEB-INF websocket 其它是自定义的,唯有WEB-INF是私有资源的目录,部署时用到的目录,通常是不允许他人访问的,查看下面的目录文件 ls webapps/examples/WEB-INF/ classes jsp jsp2 lib tags web.xml 需要请注意的有: classes ##包含所有服务器端类及当前应用程序相关的其它第三方类等 lib ##包含JSP所用到的JAR文件; web.xml ##包含当前webapp的deploy描述符,定义时部署时用到的私有资源
1.7 启动comcat,查看默认站点
catalina.sh configtest ##配置文件检测有没有语法错误 catalina.sh start ##启动
1.8 访问测试,默认监听的是8080,这个是在server.xml中定义的
http://22:8080/ 如果能看到那只公猫,就成功了
1.9 添加认证用户,使用页面中的Server Status ,Manager Apps与Host Manager这些管理工具
vi /usr/local/tomcat/conf/tomcat-users.xml 添加如下 <role rolename="manager-gui"/> ##这个组是tomcat规定可以访问manager的组<role rolename="admin-gui"/> ##这个是访问Host Manager的组<user username="tomcat" password="tomcat" roles="manager-gui,admin-gui"/> ##你懂得
点击Server Status ,Manager Apps与Host Manager 输入账号tomcat密码tomcat查看后台的管理信息,具体表示找Google吧,其中Manager中有个session,这个里面存的是个个站点的session id,一会儿讲session复制内容会用到。
二.自定义一个主机,如www.laoguang.me
2.1 建立一目录,用来存放文档
mkdir -pv /web/apps/WEB-INF
2.2 建立一个测试页面
vi /web/apps/index.jsp <%@ page language="java" %> <%@ page import="java.util.*" %> <html> <head> <title>JSP test page.</title> </head> <body> <% out.println("Hello,world!"); %> </body> </html>
2.3 编辑tomcat的配置文件 /usr/local/tomcat/conf/server.xml 定义虚拟主机,在默认Host上添加如下(不要添加到另外的host中哦)
<Context path="" docBase="/web/apps" r 因害怕失败而不敢放手一搏,永远不会成功