Tomcat反向代理+负载均衡的四种方法配置

2016-12-30 12:30

环境拓扑

Tomcat反向代理+负载均衡的四种方法配置0

环境说明:

IP地址 功能描述
nginx or httpd 172.16.4.100 代理服务器,将用户请求分发到后端的Tomcat服务器实现反向代理和负载均衡
Tomcat-01 172.16.4.101 后端实际提供服务的服务器
Tomcat-02 172.16.4.102 后端实际提供服务的服务器

系统环境都如下所示:

[root@nginx ~]# cat /etc/RedHat-release

CentOS release 6.6 (Final)

[root@bogon ~]# uname -rm

2.6.32-504.el6.x86_64 x86_64

此文章一共有四个实验:

1、        使用nginx服务器实现反向代理Tomcat并实现负载均衡;

2、        使用httpd的mod_proxy_http模块,实现Tomcat负载均衡;

3、        使用httpd的mod_proxy_ajp模块,实现Tomcat负载均衡;

4、        使用httpd的mod_jk模块,实现Tomcat的服务均衡。

后端Tomcat配置

四种反代+负载均衡都是使用此Tomcat部署。

Tomcat-01部署

安装jdk

[root@tomcat-1 ~]# rpm -ivh jdk-7u67-linux-x64.rpm

设置Java的环境变量

[root@tomcat-1 ~]# vim /etc/profile.d/java.sh

export JAVA_HOME=/usr/java/latest  #设置家目录

export PATH=$JAVA_HOME/bin:$PATH    #设置命令路径

[root@tomcat-1 ~]# . /etc/profile.d/java.sh

使用-version输出Java的版本号如果可以输出那么表示Java环境部署ok

[root@tomcat-1 ~]# java -version

java version "1.7.0_67"

Java(TM) SE Runtime Environment (build1.7.0_67-b01)

Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04,mixed mode)

安装tomcat,并添加一个应用程序实例

[root@tomcat-1 ~]#tar xf apache-tomcat-8.0.23.tar.gz -C /usr/local/

[root@tomcat-1 ~]#cd /usr/local/

[root@tomcat-1 local]# ln -s apache-tomcat-8.0.23/tomcat

[root@tomcat-1 local]# cd tomcat/

[root@tomcat-1 tomcat]# mkdir -p/usr/local/tomcat/webapps/testapp/{WEB-INF,classes,lib,META-INF}

[root@tomcat-1 tomcat]# vim/usr/local/tomcat/webapps/testapp/index.jsp

<%@ page language="java" %>

<html>

<head><title>TomcatA</title></head>

<body>

<h1><fontcolor="red">TomcatA.xmfb.com</font></h1>

<tablealign="centre" border="1">

<tr>

<td>Session ID</td>

<%session.setAttribute("xmfb.com","xmfb.com"); %>

<td><%= session.getId() %></td>

</tr>

<tr>

<td>Created on</td>

<td><%= session.getCreationTime() %></td>

</tr>

</table>

</body>

</html>

设置tomcat环境变量

[root@tomcat-1 tomcat]# vim /etc/profile.d/tomcat.sh

export CATALINA_HOME=/usr/local/tomcat

export PATH=$CATALINA_HOME/bin:$PATH

[root@tomcat-1 tomcat]# . /etc/profile.d/tomcat.sh

设置完成启动服务

[root@tomcat-1 tomcat]# catalina.sh start

访问testapp应用程序正常

Tomcat反向代理+负载均衡的四种方法配置1

Tomcat-02部署

除了提供的测试页面不同之外,其他设置过程都一样

[root@tomcat-2 tomcat]# vim/usr/local/tomcat/webapps/testapp/index.jsp

<%@ page language="java" %>

<html>

<head><title>TomcatB</title></head>

<body>

<h1><font color="blue">TomcatB.xmfb.com</font></h1>

<tablealign="centre" border="1">

<tr>

<td>Session ID</td>

<%session.setAttribute("xmfb.com","xmfb.com"); %>

<td><%= session.getId() %></td>

</tr>

<tr>

<td>Created on</td>

<td><%= session.getCreationTime() %></td>

</tr>

</table>

</body>

</html>

设置完成访问结果如下

Tomcat反向代理+负载均衡的四种方法配置2

Nginx反向代理+负载均衡Tomcat

安装nginx

[root@nginx ~]# yum -y install nginx

启动服务

[root@nginx ~]# service nginx start

访问nginx能否正常访问

Tomcat反向代理+负载均衡的四种方法配置3

在http字段定义upstream,设置后端Tomcat主机和端口,并设置健康状态检查

[root@nginx ~]# vim /etc/nginx/nginx.conf

upstreamupservers {

server172.16.4.101:8080 max_fails=2 fail_timeout=1;

server172.16.4.102:8080 max_fails=2 fail_timeout=1;

}

更多详情见请继续阅读下一页的精彩内容http://www.linuxidc.com/Linux/2016-12/138747p2.htm

更多 Tomcat 相关教程见以下内容

CentOS 6.6下安装配置Tomcat环境 http://www.linuxidc.com/Linux/2015-08/122234.htm

RedHat Linux 5.5安装JDK+Tomcat并部署Java项目 http://www.linuxidc.com/Linux/2015-02/113528.htm

Tomcat权威指南(第二版)(中英高清PDF版+带书签) http://www.linuxidc.com/Linux/2015-02/113062.htm

Tomcat 安全配置与性能优化 http://www.linuxidc.com/Linux/2015-02/113060.htm

Linux下使用Xshell查看Tomcat实时日志中文乱码解决方案 http://www.linuxidc.com/Linux/2015-01/112395.htm

CentOS 64-bit下安装JDK和Tomcat并设置Tomcat开机启动操作步骤 http://www.linuxidc.com/Linux/2015-01/111485.htm

CentOS 6.5下安装Tomcat http://www.linuxidc.com/Linux/2015-01/111415.htm

Tomcat中session的管理机制 http://www.linuxidc.com/Linux/2016-09/135072.htm