详解通过Nginx 实现Tomcat 负载均衡环境(图文并茂,超详细)
负载均衡,英文名称为Load Balance,其意思就是基于现有网络结构之上,将任务分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
1、环境规划
小司计划是采用三台机器进行部署,其中一台作为ngix服务器,另外两台作为tomcat服务器(以下仅作示例说明,具体环境规划请以实际情况而定)。
2、Tomcat集群架构说明
多个客户端发送请求访问系统,由nginx对请求进行分发,由不同的tomcat服务器进行处理,最终实现负载均衡,减轻服务器压力,提高服务性能和工作效率。
3、环境安装配置说明
3.1 Nginx安装简介
3.1.1 环境准备(因为ngix需要编译安装,所以需要先准备以下环境)
|
3.1.2下载 nginx
通过访问ngix官网直接下载
nginx官网提供了三个类型的版本:
a. Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以说是开发版
b.Stable version:最新稳定版,生产环境上建议使用的版本
c. Legacy versions:遗留的老版本的稳定版
此处为了稳妥起见,我下载的是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,效果如下所示:
至此实现负载均衡,验证成功!
扫描二维码
获取更多精彩
点个“在看”表示朕
已阅