nginx和haproxy一样也可以做前端请求分发实现负载均衡效果,比如一个tomcat服务如果并发过高会导致处理很慢,新来的请求就会排队,到一定程度时请求就可能会返回错误或者拒绝服务,所以通过负载均衡使用多个后端服务器处理请求,是比较有效的提升性能的方法;另外当单机性能优化到一定瓶颈之后,一般也会用负载均衡做集群,配置也很简单,下面是配置过程:

  首先需要安装nginx服务器,我这里已经安装好了,比如这里有三个tomcat服务器,地址如下:

  192.168.1.23 8080

192.168.1.24 8080

192.168.1.25 8080

  其中nginx安装在192.168.1.23上面,如果只有一个服务器测试,也可以在一个服务器上运行多个tomcat开多个端口来实现,这样也能提升性能

  首先看nginx配置,在nginx.conf中http {}块内并且server {}块之外添加如下配置:

    upstream  my_service {server    127.0.0.1:8080  weight=2;server    192.168.1.24:8080  weight=1;server    192.168.1.25:8080  weight=1;  }

  上面的my_service是集群的名字,可以自己命名,server指定后端服务列表,weight是设置权重,权重越大,请求被分发过来的可能性就越大,这里本机权重设置了2,也就是说对到达的请求分配到本地上的会多一些

  配置这个之后,需要在server {}中添加location配置拦截请求并转发给后端的集群,最简单的配置如下:

location / {proxy_pass http://my_service;
    proxy_redirect default;
}

  这样配置之后保存并重新载入,然后对于所有的请求都会转发到这个集群指定的机器处理了,当然也可以设置拦截具体的请求比如.do或者.action都可以根据需要设置;另外location里面也可以设置更多的配置项,比如客户端body大小,buffer大小,超时时间等,配置参考如下:

location / {proxy_pass http://my_service;
    proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;client_max_body_size 10m;client_body_buffer_size 128k;proxy_connect_timeout 90;proxy_send_timeout 90;proxy_read_timeout 90;proxy_buffer_size 4k;proxy_buffers 4 32k;proxy_busy_buffers_size 64k;proxy_temp_file_write_size 64k;
}  

  上面的配置可以参考,根据具体业务需要配置即可,nginx负载均衡的配置基本上就是上面这些

转载于:https://www.cnblogs.com/freeweb/p/6513973.html

配置nginx到后端服务器负载均衡相关推荐

  1. 从0开始,在Linux中配置Nginx反向代理、负载均衡、session共享、动静分离

    写这篇文章花费了我近一周的时间,参考网上许多优秀的博客文章,我不敢说写的很好,至少很全很详细.本文先介绍原理部分,然后再进行实战操作,我认为这样才会有更深的理解,不过这也导致了文章篇幅很长.但是,如果 ...

  2. Nginx多台服务器负载均衡

    一 操作步骤: 1.服务器IP 45.114.124.215   //主服务器(安装Nginx) 45.114.124.99     //从服务器(安装Nginx或Apache都可以) 2.保证2台服 ...

  3. winds配置nginx反向代理和负载均衡

    1.首先去管网去下载nginx 下载地址:http://nginx.org/en/download.html 解压并打开截图如下(放的位置不要有中文要不然会启动出错): 2.启动一个tomcat服务器 ...

  4. 实现MySQL高可用群集配置_配置高可用性的MySQL服务器负载均衡群集

    mysql -u root -p USE mysqlclustertest; SELECT * FROM testtable; quit; SELECT查询出的结果应该依然是: mysql> S ...

  5. 【docker】利用docker配置Nginx集群实现负载均衡

    目录 1.启动docker服务 2.拉取Nginx.Tomcat 3.启动三个容器 4.配置 5.验证 1.启动docker服务 [root@mgr1 ~]# systemctl start dock ...

  6. 防火墙——服务器负载均衡

    目录 基本概念 技术出现背景 技术简介 相关术语 负载均衡算法类型 会话保持 适用场景 会话保持方式 源IP会话保持-老化时间默认180s SSL 会话ID会话保持-老化时间默认300s HTTP C ...

  7. Nginx反向代理以及负载均衡配置

    一 .nginx 的优缺点: nginx 相对 apache 的优点: 轻量级,同样起web 服务,比apache 占用更少的内存及资源 抗并发,nginx 处理请求是异步非阻塞的,而apache 则 ...

  8. nginx动静分离配置_Nginx 动静分离与负载均衡的实现

    一.前提 企业中,随着用户的增长,数据量也几乎成几何增长,数据越来越大,随之也就出现了各种应用的瓶颈问题. 问题出现了,我们就得想办法解决,一般网站环境,均会使用LAMP或者LNMP,而我们对于网站环 ...

  9. 【Nginx那些事】nginx配置实例(二)负载均衡

    [Nginx那些事]系列 [Nginx那些事]nginx 安装及常用指令 [Nginx那些事]Nginx 配置文件说明 [Nginx那些事]nginx原理解析 [Nginx那些事]nginx配置实例( ...

最新文章

  1. 收藏 |《动手学深度学习》中文版PDF
  2. spi flash 无法写入数据_非易失性Flash详解
  3. SAP Spartacus的自定义路由
  4. C++学习之路 | PTA乙级—— 1002 写出这个数 (20分)(精简)
  5. linux内核模块间通信
  6. css3中word-wrap与wrod-break的区别
  7. camvid数据集使用方法_github资源推荐:目标姿态检测数据集与渲染方法
  8. unix操作系统的特点
  9. 运动控制卡培训--运动控制卡疑问解答l
  10. JDY-24M主机使用手册
  11. fseek函数的用法
  12. Ubuntu CURL下载报错:curl: (77) error setting certificate verify locations:
  13. 苹果手机里的照片删了怎么恢复
  14. windows连接蓝牙失败
  15. S3C2440 SDRAM驱动配置编程
  16. JavaScript进阶 - 第9章 DOM对象,控制HTML元素
  17. 多分区装linux系统,Linux安装之多系统分区
  18. 在CMD中登陆MySQL
  19. 基于Java+Swing实现天气预报系统
  20. 信息学奥赛一本通:1064:奥运奖牌计数

热门文章

  1. plsql中文乱码问题(显示问号)
  2. 再次梳理css3动画部分知识
  3. centos6.5虚拟机安装后,没有iptables配置文件
  4. setsockopt、getsockopt详细介绍(转)
  5. Citrix桌面及应用虚拟化系列之三:活动目录架构准备
  6. ubuntu下google浏览器(chromium)flash插件安装
  7. 簡單編譯內核 linux kernel gnu
  8. HTML5 标签、事件句柄属性以及浏览器兼容情况速查手册
  9. 'SVN更新' has encountered a problem :An internal error occurred during: svn错误
  10. android list contain的使用