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进程锁的实现
Jun 14 Servers
Linux中Nginx的防盗链和优化的实现代码
Jun 20 Servers
nginx服务器的下载安装与使用详解
Aug 02 Servers
关于Nginx中虚拟主机的一些冷门知识小结
Mar 03 Servers
nginx刷新页面出现404解决方案(亲测有效)
Mar 18 Servers
Nginx虚拟主机的配置步骤过程全解
Mar 31 Servers
Nginx流量拷贝ngx_http_mirror_module模块使用方法详解
Apr 07 Servers
nginx容器方式反向代理实战
Apr 18 Servers
Apache Hudi 加速传统的批处理模式
Apr 24 Servers
ubuntu如何搭建vsftpd服务器
Dec 24 Servers
阿里云Nginx配置https实现域名访问项目(图文教程)
详解Nginx 工作原理
fastdfs+nginx集群搭建的实现
Nginx域名转发https访问的实现
Mar 31 #Servers
Nginx本地目录映射实现代码实例
Mar 31 #Servers
nginx 防盗链防爬虫配置详解
Mar 31 #Servers
Nginx服务器如何设置url链接
You might like
新的一年,新的期待:DC在2020年的四部动画电影
2020/01/01 欧美动漫
PHP连接SQLServer2005的实现方法(附ntwdblib.dll下载)
2012/07/02 PHP
PHP使用GIFEncoder类生成gif动态滚动字幕
2014/07/01 PHP
搜索附近的人PHP实现代码
2018/02/11 PHP
php查询内存信息操作示例
2019/05/09 PHP
prototype 1.5 & scriptaculous 1.6.1 学习笔记
2006/09/07 Javascript
非常不错的功能强大代码简单的管理菜单美化版
2008/07/09 Javascript
javascript 事件处理、鼠标拖动效果实现方法详解
2012/05/11 Javascript
基于JavaScript实现网页倒计时自动跳转代码
2015/12/28 Javascript
详解Javascript继承的实现
2016/03/25 Javascript
Vue.js中用webpack合并打包多个组件并实现按需加载
2017/02/17 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(2)
2017/02/20 Javascript
vue父子组件的数据传递示例
2017/03/07 Javascript
详解AngularJS2 Http服务
2017/06/26 Javascript
关于页面刷新vuex数据消失问题解决方案
2017/07/03 Javascript
微信小程序scroll-view仿拼多多横向滑动滚动条
2020/04/21 Javascript
VUE的history模式下除了index外其他路由404报错解决办法
2019/08/21 Javascript
详解element-ui表格中勾选checkbox,高亮当前行
2019/09/02 Javascript
Vue 实现创建全局组件,并且使用Vue.use() 载入方式
2020/08/11 Javascript
el-form 多层级表单的实现示例
2020/09/10 Javascript
基于vue实现微博三方登录流程解析
2020/11/04 Javascript
[04:38]完美世界携手游戏风云打造 卡尔工作室饰品系统篇
2013/04/25 DOTA
Fabric 应用案例
2016/08/28 Python
Python中elasticsearch插入和更新数据的实现方法
2018/04/01 Python
Python实现合并同一个文件夹下所有PDF文件的方法示例
2018/04/28 Python
使用python PIL库实现简单验证码的去噪方法步骤
2019/05/10 Python
python实发邮件实例详解
2019/11/11 Python
使用 Python 遍历目录树的方法
2020/02/29 Python
python 实现简单的计算器(gui界面)
2020/11/11 Python
Spartoo芬兰:欧洲最大的网上鞋店
2016/08/28 全球购物
大学生优秀自荐信范文
2014/02/25 职场文书
中介公司区域经理岗位职责范本
2014/03/02 职场文书
学校教研活动总结
2014/07/02 职场文书
二年级语文下册复习计划
2015/01/19 职场文书
书法社团活动总结
2015/05/07 职场文书
母亲节感言
2015/08/03 职场文书