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复制内容会用到。

二.自定义一个主机,如www.laoguang.me

2.1 建立一目录,用来存放文档

 
 
 
  1. mkdir -pv /web/apps/WEB-INF 

2.2 建立一个测试页面

 
 
 
  1. vi /web/apps/index.jsp 
  2.  
  3. <%@ page language="java" %> 
  4. <%@ page import="java.util.*" %> 
  5. <html> 
  6.   <head> 
  7.     <title>JSP test page.</title> 
  8.   </head> 
  9.   <body> 
  10.     <% out.println("Hello,world!"); %> 
  11.   </body> 
  12. </html> 

 2.3 编辑tomcat的配置文件 /usr/local/tomcat/conf/server.xml 定义虚拟主机,在默认Host上添加如下(不要添加到另外的host中哦)

 
 
 
  1. <Host name="www.laoguang.me"  appBase="/web/apps" 
  2.             unpackWARs="true" autoDeploy="true"> 
  3.     <Context path="" docBase="/web/apps" reloadable="true" /> 
  4. </Host> 

2.4 下面简单说说server.xml中一些标签的意思,注意:server.xml区分大小写的

 
 
 
  1. <Server port="8005" shutdown="SHUTDOWN">    ##最大的容器server,端口号8005可用来管理Server 
  2. <Service name="Catalina">   ##service开始定义,名字Catalina 
  3. <Connector 
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值