专栏首页开源项目nginx+tomcat 配置负载均衡集群

nginx+tomcat 配置负载均衡集群

Hello world

前期环境准备

1、准备两个解压版tomcat,如何同时启动两个tomcat,请看我的另一篇文章《一台机器同时启动多个tomcat》。

2、nginx官网下载解压版nginx。

3、创建一个简单的web项目。为了直观的区分访问的哪个tomcat,在页面写上标记8081、8082。

4、分别部署到对应的tomcat下。如图:

配置nginx

进入nginx-1.10.1\conf路径,修改配置文件nginx.conf。

1、配置服务器组,在http{}节点之间添加upstream配置。(注意不要写localhost,不然访问速度会很慢)

2、修改nginx监听的端口号80,改为8080。

3、在location\{}中,利用proxy_pass配置反向代理地址;此处“http://”不能少,后面的地址要和第一步upstream定义的名称保持一致。

如下图:

启动nginx和tomcat,访问

我是Windows系统,所以直接在nginx-1.10.1目录下双击nginx.exe即可。

可在任务管理器中查看:

最后在浏览器输入地址:http://localhost:8080/nginxDemo/index.jsp,每次访问就会轮流访问tomcat了(如果F5刷新不管用,建议试试鼠标指针放到地址栏,点击Enter键)。

到这里,一个非常简单的负载均衡就配置完成了,是不是很简单呢,O(∩_∩)O哈哈~

nginx负载均衡策略

轮询(默认)

每个web请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

最少链接

web请求会被转发到连接数最少的服务器上。

weight 权重

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况,weight默认是1。

ip_hash

每个请求按访问ip的hash值分配,这样同一客户端连续的Web请求都会被分发到同一服务器进行处理,可以解决session的问题。当后台服务器宕机时,会自动跳转到其它服务器。

基于weight的负载均衡和基于ip_hash的负载均衡可以组合在一起使用。

url_hash(第三方)

url_hash是nginx的第三方模块,nginx本身不支持,需要打补丁。

nginx按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存服务器、文件服务器、静态服务器时比较有效。缺点是当后端服务器宕机的时候,url_hash不会自动跳转的其他缓存服务器,而是返回给用户一个503错误。

fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配。

本文分享自微信公众号 - 码云Gitee(mayunOSC),作者:努力白十一

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-04-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • C++ 网络编程初学者的开源项目 | 码云周刊第 41 期

    码云项目推荐 互联网的兴起,让网络程序有了长足的发展,让我们可以通过网络编程在程序中实现计算机的通信。举个例子,当你使用浏览器访问码云时,你的计算机就和码云...

    码云Gitee
  • 精选国产 IntelliJ IDEA 优秀插件 | 码云周刊第 50 期

    IntelliJ IDEA 在业界被公认为最好的 Java 开发平台之一,在智能代码助手、代码自动提示、J2EE 支持、Ant、JUnit、代码审查等方面都有不...

    码云Gitee
  • Unity 开发?看这些就够了!| 码云周刊第 42 期

    码云项目推荐 目前 Unity 已成为最受欢迎的移动游戏引擎,在国内也有很多采用 Unity 开发的客户端游戏以及网页游戏,比如成都九众的《将魂》,《老友记...

    码云Gitee
  • CentOS7下Nginx服务器安装与使用教程

    Nginx服务器简介 Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。其特点是占用内存少,...

    互扯程序
  • day108&day109部分-Linux安装和配置nginx

    少年包青菜
  • 部署Nginx网站服务实现访问状态统计以及访问控制功能

    Nginx专为性能优化而开发,最知名的优点是它的稳定性和低系统资源消耗,以及对HTTP并发连接的高处理能力,单个物理服务器可支持30000-50000个并发请求...

    奋斗蒙
  • 死磕nginx,不过得先学会怎么安装部署吧?

    维基百科上这样解释:是一个异步框架的 Web服务器,也可以用作反向代理,负载平衡器 和 HTTP缓存。关于这句话的介绍,我想我之前发的这篇文章能帮到你,这里不重...

    java思维导图
  • CentOS7搭建FastDFS V5.11分布式文件系统-第三篇

    程序员同行者
  • 浅谈新版CTFd的安装以及后期运维

    我感觉用Docker安装更加方便一些,所以此次用docker-compose up的方式进行安装的。

    天钧
  • docker-compose部署django+nginx+mysql项目

    一、项目结构 [root@mail docker-feiyu]# tree `-- dokcer-feiyu |-- docker-compos...

    菲宇

扫码关注云+社区

领取腾讯云代金券