Nginx+Tomcat负载均衡集群
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx+Tomcat负载均衡集群相关的知识,希望对你有一定的参考价值。
nginx+Tomcat负载均衡集群
- Tomcat服务器是一个免费的开房源代码的Web应用服务器,属于轻量级应用服务器;虽然Tomcat和Apache或者Nginx这些Web服务器一样,具有处理html页面的功能,但通常情况下,单个Tomcat站点由于可能出现单点故障而无法应付客户复杂多样的请求,所以需要结合Nginx强大的处理并发连接能力,将Nginx作为负载均衡器,用于调度Tomcat服务器,从而实现负载均衡群集。
Nginx+Tomcat网站拓补结构
案例环境
主机 | 操作系统 | IP地址 | 主要软件 |
---|---|---|---|
Nginx服务器 | CentOS 7.3 x86_64 | 192.168.27.128 | nginx-1.12.0.tar.gz |
Tomcat服务器1 | CentOS 7.3 x86_64 | 192.168.27.129 | ①jdk-8u102-linux-x64.rpm②apache-tomcat-8.5.11.tar.gz |
Tomcat服务器2 | CentOS 7.3 x86_64 | 192.168.27.130 | ①jdk-8u102-linux-x64.rpm②apache-tomcat-8.5.11.tar.gz |
Tomcat服务器配置
1、配置Java环境
tar zxvf jdk-8u91-linux-x64.gz -C /opt //解压jdk软件包
mv jdk1.8.0_91/ /usr/local/java //设置工作目录
cd /etc/profile.d/
vim java.sh //配置环境变量脚本
export JAVA_HOME=/usr/local/java //设置Java根目录//
export PATH=$PATH:$JAVA_HOME/bin //在PATH环境变量中添加Java根目录下的bin/子目录//
source java.sh //java.sh脚本导入到环境变量,使其生效//
java -version //查看版本//
2、配置Tomcat1
tar zxvf apache-tomcat-8.5.16.tar.gz -C /opt/ //解压Tomcat软件包
mv apache-tomcat-8.5.16/ /usr/local/tomcat8 //设置工作目录
创建测试首页:
mkdir -pv /web/webapp1 //创建web目录//
vim /web/webapp1/index.jsp //编辑测试首页内容
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP test1 page</title>
</head>
<body>
<% out.println("Welcome to test site,http://www.test1.com");%>
</body>
</html>
vim /usr/local/tomcat7/conf/server.xml //编辑主配置文件,添加首页站点
<Context docBase="/web/webapp1" path="" reloadable="false">
</Context>
//注解:docBase:web应用的文档基准目录
reloadable 设置监视“类”是否变化
path=""设置默认“类”
/usr/local/tomcat7/bin/startup.sh //启动tomcat//
netstat -ntap | grep 8080 //监听8080端口//
关闭防火墙与安全功能:
systemctl stop firewalld.service
setenforce 0
配置完成后访问其服务器进行验证:
3、配置Tomcat2
Tomcat2配置与Tomcat1配置相同,只需将测试首页内容中test1修改为test2,来区分两台Tomcat服务器:
Nginx服务器配置
安装环境:
yum install pcre-devel zlib-devel openssl-devel gcc gcc-c++ -y
解压并安装Nginx:
useradd -s /bin/false www 添加NGINX用户
tar zxvf nginx-1.6.0.tar.gz -C /opt
cd /opt/nginx-1.6.0/
./configure
--prefix=/usr/local/nginx //指定安装路径
--user=www //指定用户
--group=www //指定组
--with-file-aio //启用文件修改支持
--with-http_stub_status_module //启用状态统计
--with-http_gzip_static_module //启用gzip静态压缩
--with-http_flv_module //启用flv模块,提供寻求内存使用基于时间的偏移量文件
--with-http_ssl_module //启用SSL模块
make && make install //安装编译安装
编辑Nginx主配置文件,使其可调用Tomcat服务器;
vim /usr/local/nginx/conf/nginx.conf
#gzip on;
upstream tomcat_server { //添加Tomcat服务器地址池,
server 192.168.27.129:8080 weight=1;
server 192.168.27.130:8080 weight=1;
}
server {
listen 80;
(.....省略)
location / {
root html;
index index.html index.htm;
proxy_pass http://tomcat_server; //添加,调用前面服务器地址池
}
/usr/local/nginx/sbin/nginx -t //检测是否成功//
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ //创建软链接,以便管理员直接执行“Nginx”命令可直接调用Nginx主程序
nginx //启用nginx服务//
netstat -ntap | grep nginx //查看服务是否开启
关闭防火墙与安全功能:
systemctl stop firewalld.service
setenforce 0
测试负载均衡
- 客户端直接访问Nginx服务器,Nginx服务器会调用提供Web服务的Tomcat服务器,每次调用不同Tomcat服务器,从而实现负载均衡:
以上是关于Nginx+Tomcat负载均衡集群的主要内容,如果未能解决你的问题,请参考以下文章