Nginx负载均衡配置说明

  WEB服务做负载均衡的方法有很多种,但使用Nginx做负载均衡部署毫无疑问是非常高效也是非常流行的一种。

  本人大多数做.NET开发,但部署负载却一直用Nginx对其他的负载方式研究不多,只测试过一次使用Server Farm做负载部署没有在实际项目中实战,最近见同事使用Server Farm做负载配置,但对其性能等不甚了解,望知之者留言讨论。

  废话少说,请看步骤:

1、Nginx服务安装部署

  请看上文《Nginx服务介绍

2、配置文件编写

  在Nginx安装目录下下打开Vhost目录(该目录已经在Nginx.conf中被包含,如果只是针对某站点的某个目录负载,可以将包含路径修改一下即可),新建负载配置文件testfz.conf,内容如下:

upstream backend
{
   server 192.168.1.106:8001  weight=1;
   server 192.168.1.107:8001  weight=2;
   #ip_hash;
}

server
{
    listen       80;
    server_name  www.test.com;
    location ~ ^/*
    {
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_buffering off;
      proxy_pass http://wwwbackend;
    }
}

3、测试

./nginx –t
返回如下信息表示参数配置无误
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

4、重新加载配置文件

/etc/init.d/nginx reload

如果重启报PID错误,在安装路径下-C重新加载一下配置文件即可。

5、关于Nginx配置的参数说明

  a、轮询 每个请求根据Nginx配置文件中的顺序,依次分发到不同的后端服务器,服务器如果down掉会自动识别并剔除;
  b、weight Nginx根据weight配置把请求更多地分发到高配置的后端服务器上,把相对较少的请求分发到低配服务器。
  c、ip_hash 每个请求按访问ip的hash结果分配,保证连接到固定的负载服务器上,这种方式可以解决session问题;
  d、最少连接 可以将Web请求会被转发到连接数最少的服务器上。只要加least_conn节就可以。

  另外这每个负载服务器上还可以做如下的配置:
  a、down : 当前的服务器暂时不参与负载;
  b、max_fails: 允许请求失败的次数默认为1,当超过最大次数时,返回proxy_next_upstream模块定义的错误;
  c、fail_timeout : max_fails次失败后,暂停的时间;
  d、backup: 其它所有非backup机器down或者忙时候,才开始请求backup机器,可以用做故障转移。

时间: 2024-10-05 12:35:25

Nginx负载均衡配置说明的相关文章

使用Nginx负载均衡搭建高性能.NETweb应用程序二

在文章<使用Nginx负载均衡搭建高性能.NETweb应用程序一>中,让我们对Nginx有了一个初步认识,下面我们将在windows平台下面使用Nginx演示集群部署我们的web应用. 一.下载Nginx部署包 到Nginx官网去下载一个windows平台下面的Nginx部署包,目前我下载的是一个nginx-1.6.2版本的. 二.命令启动服务 启动:start nginx.exe 停止:nginx -s stop 重新加载: nginx -s reload 三.实例搭建 首 选:我们要在我们

Nginx负载均衡组件模块

Nginx负载均衡组件模块 实现Nginx负载均衡的组件主要有两个: n  ngx_http_proxy_module proxy代理模块,用于把请求后抛给服务器节点或upstream服务器池 n  ngx_http_upstream_module 负载均衡模块,可以实现网站的负载均衡功能及节点的健康检查 1.upstream模块 upstream模块允许Nginx定义一组或多组节点服务器组,使用时可以通过proxy_pass代理方式把网站的请求发送到事先定义好的对应upstream组的名字上,

nginx 负载均衡的配置

服务器集群是我们那种大型百万级IP运维人员会操作的,今天小的也来给大家过一把nginx负载均衡配置集群方法,网上找了几篇文章,发现也不难呀. nginx负载均衡一, 1. 安装时不要安装在源代码同一个目录下,make时会报错的.  代码如下 复制代码 ./configure --prefix=/opt/nginx make && make install 2. 修改配置文件/opt/nginx/conf/nginx.conf 在server元素前增加:(假设两个tomcat的端口都是808

nginx负载均衡和mysql主主被动模式基础架构综合部署

1.结构思路 准备用5个虚机,一个虚机安装nginx来配置负载均衡,两个虚机做web服务器,另外两个虚机,安装mysql,做主主被动配置,每次web只读取一个mysql服务. 2.具体实施步骤 用vmware最小化安装5个虚机,我用的是centos7,可以克隆. 配置两个虚机web服务,我这里用wordpress.架构可以用lamp,也可以用lnmp,我这里用lnmp.注意web连接的mysql不是在本地,启用的是另外一个虚机的mysql. 配置虚机的nginx负载均衡. 配置两个虚机的mysq

nginx负载均衡+keepalive心跳检测

环境标准: 一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一 内核:2.6.32-642.el6.x86_64 系统:CentOS release 6.8 (Final) ip: web01:10.0.0.8 nginx 解析手机端 均做了nginx的负载均衡但是只均衡一台机器可以后续往里填 web02:10.0.0.200 nginx 解析电脑端 均做了nginx的负载均衡但是只均衡一台机器可以后续往里填 lb01

12.17 Nginx负载均衡;12.18 ssl原理;12.19 生产ssl密钥对;12.20 Nginx配置ssl

扩展: 针对请求的uri来代理 http://ask.apelearn.com/question/1049 根据访问的目录来区分后端web http://ask.apelearn.com/question/920 12.17 Nginx负载均衡 1. 安装dig命令: [[email protected] ~]# yum install -y bind-utils 2. 用dig获取qq.com的ip地址: [[email protected] ~]# dig qq.com 3. 创建ld.co

Linux CentOS搭建JDK+Mysql+Tomcat+Nginx负载均衡环境 &nbsp; &nbsp; &nbsp;

本文使用了Tomcat+Nginx环境,主要起到负载均衡的作用,使用Tomcat处理jsp后台程序,使用Nginx处理静态页面. 准备工作(下载软件版本,请自行百度下载) 安装包放至:/usr/local/src 安装地址:/usr/local/软件名 1.apache-tomcat-6.0.48 2.mysql-5.5.54 3.nginx-1.6.3 4.cmake-2.8.8 5.pcre-8.40 6.jdk-8u11-linux-x64 7.openssl-1.1.0d(https使用

nginx负载均衡

nginx负载均衡 Nginx负载均衡的理解 Nginx是一个轻量级的.高性能的WebServer,他主要可以干下面两件事: 作为http服务器(和apache的效果一样) 作为反向代理服务器实现负载均衡 现在Nginx到处都可以见到,经常会看到宕机后的网页会显示nginx的字样,这也说明Nginx由于高性能.使用配置简.开源单这些特点被越来越多的用户所接受,所使用. 其中第一种作为http服务器,结合php-fpm进程,对发来的请求进行处理,nginx本身并不会解析php,他只是作为一个服务器

lvs、haproxy、nginx 负载均衡的比较分析

lvs.haproxy.nginx 负载均衡的比较分析 对软件实现负载均衡的几个软件,小D详细看了一下,从性能和稳定上还是LVS最牛,基本达到了F5硬件设备的60%性能,其他几个10%都有点困难. 不过就因为LVS忒牛了,配置也最麻烦了,而且健康检测需要另外配置Ldirector,其他HAPROXY和NGINX自己就用,而且配置超级简单. 所以小D建议,如果网站访问量不是门户级别的用HAPROXY或者NGINX就OK了,到了门户级别在用LVS+Idirector吧 哈哈 lvs和nginx都可以