Tomcat介绍
Tomcat最初由Sun的软件架构师詹姆斯.邓肯.戴维森开发的,后来帮助其改为开源项目,并有Sun贡献给Apache软件基金会。Tomcat的log是一个吉祥物公猫。
Tomcat一般应用在这种小型系统中应用非常广泛,是开发调试jsp的首先应用。Tomcat和其他web软甲一样具有解析HTML语言的功能,但是处理效率远不及Apacge和Nginx,所以Tomcat一般和nginx进行结合,将Tomcat单独放在后台运行。
二.案例环境
(前端部署一个nginx服务器解析html语言,在后端部署两台tomcat服务器实现这种负载均衡,我们使用upstream功能来实现)
三. tomcat安装配置
1. 准备java环境
(1)将jdk-7u65-linux-64.gz解压 (Tomcat之前必须先安装JDK)
[root@centos2 ~]# tar zxf jdk-7u65-linux-x64.gz
(2)将解压后生成的jdk1.7.0_65/文件夹 移动到 /usr/lcoal/目录下改名为java
[root@centos2 ~]# mv jdk1.7.0_65/ /usr/local/java
(3)修改profile环境变量以遍程序正常执行
vim /etc/profile
export JAVA_HOME=/usr/local/java //这是java根目录
export PATH=$PATH:$JAVA_HOME/bin //将java根目录下的bin目录添加为PATH环境变量的值
(4)刷新profile环境变量并查看结果
[root@centos2 ~]# . /etc/profile
[root@centos2 ~]# echo "$PATH"
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/java/bin
(5)运行java -version 或 javac -version查看java版本和之前安装的版本是否相同
[root@centos2 ~]# javac -version
javac 1.7.0_45
(java环境就部署好了)
2.安装配置Tomcat
(1)解压apache-tomcat-7.0.54.tar.gz软件包
[root@centos2 ~]# tar zxf apache-tomcat-7.0.54.tar.gz
(2)解压后生成apache-tomcat-7.0.54目录,将该目录移动到/usr/local/下并改名为tomcat7
[root@centos2 ~]# mv apache-tomcat-7.0.54 /usr/local/tomcat7
(3)启动tomcat
[root@centos2 ~]# /usr/local/tomcat7/bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcat7
Using CATALINA_HOME: /usr/local/tomcat7
Using CATALINA_TMPDIR: /usr/local/tomcat7/temp
Using JRE_HOME: /usr/local/java
[root@centos2 ~]# netstat -anpt | grep 8080 (查看端口监听状态)
(4)建立防火墙规则允许8080端口通过
[root@centos2 ~]# iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
(5)在客户端打开游览器进行测试输入http://ip:8080的方式访问,如果看到图2的界面则表示tomcat安装成功
3.建立java的web站点
(1)首先在根目录下建立一个web目录,并在里面建立一个webapp1目录,用于存放网站文件。
[root@centos2 tomcat7]# mkdir -p /web/webaap1
(2)在webapp1上建立一个index.jsp的测试页面
vim /web/webaap1
<%@ page language="java" import="java.util.*" pageEncodin
g="UTF-8"%>
<% out.println("wecome to test site,http://www.t
est1.com");%>
(3)修改Tomcat的server.xml文件
定义一个虚拟主机,并将网站文件路径指向已经建立的/web/webapp1 在host段增加context段
unpackWARs="true" autoDeploy="true">
<Context docBase="/web/webaap1" path="" reloa
dable="false">
Context>
(4)关闭并启动tomcat
[root@centos2 tomcat7]# bin/shutdown.sh
[root@centos2 tomcat7]# bin/startup.sh
4.部署nginx实现tomcat的负载均衡
1、安装相关软件并创建程序用户
[root@centos1 ~]# yum -y install pcre-devel
[root@centos1 ~]# useradd -M -s /sbin/nologin nginx
2、解压并安装nginx
[root@centos1 ~]# tar zxf nginx-1.6.2.tar.gz
[root@centos1 ~]# cd nginx-1.6.2
[root@centos1 nginx-1.6.2]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module --with-http_ssl_module --user=nginx --group=nginx --with-file-aio && make && make install
3、配置nginx
vim /usr/local/nginx/conf/nginx.conf
(1)在http{}中添加一下代码,设定负载均衡服务器列表,weight参数值表示权重,权重越大分配的请求越多。(建议在最后一个大括号前面添加)
upstream tomcat_server {
server 192.168.1.2:8080 weight=1;
server 192.168.1.3:8080 weight=1;
}
(upstream为字段名 tomcat_server为列表名,随便起,但是注意需要形象)
(2)在http{…}-server{…}-location / {…}中加入一行"proxy_pass http://tomcat_server;"
location / {
root html;
index index.html index.htm;
proxy_pass http://tomcat_server;
(3)启动nginx服务
[root@centos1 nginx-1.6.2]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
查看nginx的监听端口是否启动
[root@centos1 nginx-1.6.2]# netstat -anpt | grep 80
4、验证负载均衡 效果
这时访问http://192.168.1.1就能转发到tomcat服务器的另外一个,为了验证试验效果将tonmcat_2的测试页稍微调整一下