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