使用 Nginx + Tomcat 搭建负载均衡
负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
1、环境规划
计划是采用三台机器进行部署,其中一台作为ngix服务器,另外两台作为tomcat服务器(以下仅作示例说明,具体环境规划请以实际情况而定)。
2、Tomcat集群架构说明
多个客户端发送请求访问系统,由nginx对请求进行分发,由不同的tomcat服务器进行处理,最终实现负载均衡,减轻服务器压力,提高服务性能和工作效率。
3、环境安装配置说明
3.1 Nginx安装简介
3.1.1 环境准备(因为ngix需要编译安装,所以需要先准备以下环境)
安装make:
yum -y install gcc automake autoconf libtool make
安装g++:
yum install gcc gcc-c++
安装pcre和pcre-devel:
yum install -y pcre pcre-devel
安装zlib zlib提供了很多压缩和解方式,nginx需要zlib对http进行gzip:
yum install -y zlib zlib-devel
安装openssl openssl是一个安全套接字层密码库,nginx要支持https,需要使用openssl:
yum install -y openssl openssl-devel
3.1.2下载 nginx
(1)方式一:通过访问ngix官网直接下载
nginx下载地址:http://nginx.org/en/download.html
nginx官网提供了三个类型的版本
a. Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以说是开发版
b.Stable version:最新稳定版,生产环境上建议使用的版本
c. Legacy versions:遗留的老版本的稳定版
此处为了稳妥起见,我下载的是nginx-1.14.2?
(2)方式二:如果服务器上可以联网,直接下载,如下所示(下载路径:/usr/soft/nginx-1.14.2):
wget http://nginx.org/download/nginx-1.14.2.tar.gz
3.1.3 安装 nginx1.14.2
#解压 nginx1.14.2
tar zxf nginx-1.14.2.tar.gz
#cd到文件路径
cd nginx-1.14.2
#编译
./configure?--prefix=/usr/soft/nginx-1.14.2 --conf-path=/usr/local/nginx/nginx.conf ?
#安装
make && make install
3.1.4对外开放 80 端口
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload
3.1.5启动nginx
cd /usr/soft/nginx-1.14.2
sudo ./sbin/nginx
其它命令
sudo ./sbin/nginx -s stop : 停止 nginx;
sudo ./sbin/nginx -s reload: 配置文件修改,重新加载配置文件;
sudo ./sbin/nginx -t: 查看nginx是否启动成功;
sudo ./sbin/nginx -v: 查看nginx版本;
3.1.6 Nginx访问
浏览器访问:http://192.168.7.231:80/,出现nginx首页表示安装启动成功
3.2tomcat 安装、配置简介
3.2.1 tomcat下载
到tomcat官网下载apache-tomcat-8.5.37
3.2.2 拷贝安装包
将安装包拷贝到221服务器上,解压 tomcat?至相应的目录(本人目录:/usr/soft/apache-tomcat-8.5.37);
3.2.3配置tomcat
修改 tomcat 端口为 18080 的 server.xml 文件(目录:apache-tomcat-8.5.37/conf)为以下内容,为避免启动程序出现错误,共修改了三处位置:
(1)修改8005为18005
(2)修改8080为18080
(3)修改8009为18009
(4)区别tomcat
为了区别两个 tomcat 的差别,切换到apache-tomcat-8.5.37/webapps/ROOT 目录下,修改 index.jsp ,<body>标签中添加内容?<h1>Tomcat 221:18080</h1>,启动 tomcat 服务输入 http://192.168.7.221:18080,如果成功则出现以下页面:
(5)配置另外一台tomcat服务器
将安装包拷贝到222服务器上解压安装,修改 tomcat 端口为28005、 28080、28009 的 server.xml 文件,和index.jsp文件;
4、配置 nginx 来实现负载均衡,
4.1配置nginx服务器
打开目录?/usr/soft/nginx-1.14.2找到 nginx.conf 文件并进行如下修改:
(1)修改nginx.conf 前建议先备份文件
cp nginx.conf nginx.conf.bak
(2)修改nginx.conf文件
如果为域名访问则需要修改server_name后面的值为当前服务域名,如下所示:
(3)重新加载nginx服务器
sudo ./sbin/nginx -s reload
4.2测试通过nginx代理访问
(1)启动两个Tomcat实例
(2)使用浏览器进行访问,验证nginx的负载均衡是否已成功生效
在第一台客户机上访问http://192.168.7.231:80,效果如下所示:
在另外一台客户机上访问http://192.168.7.231:80,效果如下所示:
至此实现负载均衡,验证成功!
同时也欢迎各位看官关注本人公众号,在公众号上面本人将相关学习资料上传到上面,供大家一起学习讨论: