Windows下使用Nginx+Tomcat做负载均衡的完整步骤


Posted in Servers onMarch 31, 2021

前言

今天,王子与大家闲谈一下如何在Windows下使用Nginx+Tomcat做负载均衡的完整步骤,小伙伴们可以试着自己动手实践一下哦。

另外说明一点,本篇文章是纯实操文章,不涉及太多原理的解读,后期可能单独开一个专栏来深入讨论Nginx的原理。

好了那我们直接开始。

下载Nginx

首先我们去官网下载一个Windows稳定版本的Nginx,官网地址:http://nginx.org/en/download.html

Windows下使用Nginx+Tomcat做负载均衡的完整步骤

下载后解压到想要的位置,小伙伴们要注意了,千万不要把它解压到带有中文的文件夹下,会导致不能启动的。

Window上的启动非常简单,我们只要进入文件夹,双击nginx.exe就可以直接启动了

nginx的默认端口是80端口,由于王子电脑上的80端口被ISS占用,所以我们修改一下端口,改成81端口。

修改端口也很容易,直接进入conf文件夹,打开nginx.conf文件,修改如下位置即可:

Windows下使用Nginx+Tomcat做负载均衡的完整步骤

修改后,我们直接双击就可以启动Nginx服务了,你会看到一个一闪而过的命令窗口,不用在意,其实已经启动成功了,我们在浏览器输入http://localhost:81/,就可以看到Nginx的启动页面了。

Windows下使用Nginx+Tomcat做负载均衡的完整步骤

这样我们的Nginx环境就部署好了。

配置文件介绍

现在我们有了Nginx的环境,接下来我们的目标是通过Nginx将用户的请求反向代理到Tomcat上,那么我们首先启动一台Tomcat服务器,默认配置即可。

然后我们打开nginx.conf文件,王子给大家简单介绍一下里面的一些配置的含义。

listen    81;
    server_name localhost;

listen:刚才我们已经改过了,它就是代表Nginx的监听端口,这个没什么可说的

server_name:表示监听到之后请求转到哪里,默认直接转到本地。

location / {
      root  html;
      index index.html index.htm;
    }

location:表示匹配的路径,这时配置了/表示所有请求都被匹配到这里

root:里面配置了root这时表示当匹配这个请求的路径时,将会在html这个文件夹内寻找相应的文件。

index:当没有指定主页时,默认会选择这个指定的文件,它可以有多个,并按顺序来加载,如果第一个不存在,则找第二个,依此类推。

除了这些配置,我们再补充一个配置

proxy_pass,它表示代理路径,相当于转发,而不像之前说的root必须指定一个文件夹。

那么现在我们修改一下配置文件,如下:

location / { 
  proxy_pass http://localhost:8080;
}

然后我们让Nginx重新加载配置文件,回到Nginx根目录执行nginx -s reload命令就可以了。

然后我们再重新打开Nginx的页面,小伙伴们,是不是发现它已经打开了Tomcat页面呢。

实现负载均衡的配置

刚刚我们已经实现了请求的反向代理,从Nginx转发到了Tomcat上,那么如何配置可以实现一个Tomcat的负载均衡集群呢,其实也是很容易的。

配置如下:

upstream localtomcat { 
  server localhost:8080; 
} 
 
server{ 
    location / { 
      proxy_pass http://localtomcat; 
    } 
    #......其他省略 
}

小伙伴们,划重点了,这里一定要注意。upstream后的名字一定不要带下划线,Nginx是不认下划线的,会导致转发异常。

那么如何添加新的tomcat实现负载均衡呢?

我们修改端口,新打开一个tomcat服务器,端口为8081,然后增加配置如下:

upstream localtomcat { 
  server localhost:8080; 
  server localhost:8081; 
}

再重新加载Nginx的配置文件,你会发现,负载均衡已经实现了,现在会向两台tomcat转发请求了。

而且我们可以设置weight=数字来指定每个tomcat的权重,数字越大,表明请求到的机会越大。

配置如下:

upstream localtomcat { 
  server localhost:8080 weight=1; 
  server localhost:8081 weight=5; 
}

总结

好了,到这里我们已经在Windows下搭建好了Nginx+Tomcat的负载均衡集群。

王子今天的分享就到这里了,欢迎小伙伴们继续关注后续文章。

以上就是Windows下使用Nginx+Tomcat做负载均衡的完整步骤的详细内容,更多关于Nginx+Tomcat做负载均衡的资料请关注三水点靠木其它相关文章!

Servers 相关文章推荐
Nginx服务器如何设置url链接
Mar 31 Servers
利用Nginx代理如何解决前端跨域问题详析
Apr 02 Servers
Nginx反向代理配置的全过程记录
Jun 22 Servers
关于nginx 实现jira反向代理的问题
Sep 25 Servers
nginx从安装到配置详细说明(安装,安全配置,防盗链,动静分离,配置 HTTPS,性能优化)
Feb 12 Servers
阿里云 Windows server 2019 配置FTP
Apr 28 Servers
Nginx 安装SSL证书完成HTTPS部署
Apr 28 Servers
利用nginx搭建RTMP视频点播、直播、HLS服务器
May 25 Servers
Linux服务器离线安装 nginx的详细步骤
Jun 16 Servers
服务器SVN搭建图文安装过程
Jun 21 Servers
Nginx如何配置多个服务域名解析共用80端口详解
Sep 23 Servers
windows server2012 R2下安装PaddleOCR服务的的详细步骤
Sep 23 Servers
阿里云Nginx配置https实现域名访问项目(图文教程)
详解Nginx 工作原理
fastdfs+nginx集群搭建的实现
Nginx域名转发https访问的实现
Mar 31 #Servers
Nginx本地目录映射实现代码实例
Mar 31 #Servers
nginx 防盗链防爬虫配置详解
Mar 31 #Servers
Nginx服务器如何设置url链接
You might like
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
HTTP头隐藏PHP版本号实现过程解析
2020/12/09 PHP
为JavaScript添加重载函数的辅助方法
2010/07/04 Javascript
让你的博客飘雪花超出屏幕依然看得见
2013/01/04 Javascript
jquery实现控制表格行高亮实例
2013/06/05 Javascript
利用ajaxfileupload插件实现文件上传无刷新的具体方法
2013/06/08 Javascript
JS可以控制样式的名称写法一览
2014/01/16 Javascript
编写高效jQuery代码的4个原则和5个技巧
2014/04/24 Javascript
JS实现左右拖动改变内容显示区域大小的方法
2015/10/13 Javascript
基于jquery实现简单的手风琴特效
2015/11/24 Javascript
jquery.form.js框架实现文件上传功能案例解析(springmvc)
2016/05/26 Javascript
jquery输入数字随机抽奖特效的简单实现代码
2016/06/10 Javascript
js基于cookie记录来宾姓名的方法
2016/07/19 Javascript
关于jquery中动态增加select,事件无效的快速解决方法
2016/08/29 Javascript
深入理解JavaScript定时机制
2016/10/27 Javascript
js初始化验证实例详解
2016/11/26 Javascript
微信小程序 less文件编译成wxss文件实现办法
2016/12/05 Javascript
vue+SSM实现验证码功能
2018/12/07 Javascript
js指定日期增加指定月份的实现方法
2018/12/19 Javascript
简单的通用表达式求10乘阶示例
2014/03/03 Python
python实现从字典中删除元素的方法
2015/05/04 Python
Python中使用items()方法返回字典元素对的教程
2015/05/21 Python
Python实现豆瓣图片下载的方法
2015/05/25 Python
Python 获得13位unix时间戳的方法
2017/10/20 Python
解决Django的request.POST获取不到内容的问题
2018/05/28 Python
使用python对excle和json互相转换的示例
2018/10/23 Python
分享8个非常流行的 Python 可视化工具包
2019/06/05 Python
CSS3教程(10):CSS3 HSL声明设置颜色
2009/04/02 HTML / CSS
浅谈关于html5中图片抛物线运动的一些心得
2018/01/09 HTML / CSS
纽约香氛品牌:NEST Fragrance
2018/10/15 全球购物
台湾租车首选品牌:IWS艾维士租车
2019/05/03 全球购物
白酒市场营销方案
2014/02/25 职场文书
合伙协议书范本
2014/04/21 职场文书
“5.12”护士节主持词
2015/07/04 职场文书
财务人员廉洁自律心得体会
2016/01/13 职场文书
导游词之井冈山
2019/11/20 职场文书