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