阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Nginx负载均衡配置说明

139次阅读
没有评论

共计 2118 个字符,预计需要花费 6 分钟才能阅读完成。

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

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

废话少说,请看步骤:

1、Nginx 服务安装部署

请看上文《Nginx 服务介绍》http://www.linuxidc.com/Linux/2016-03/129423.htm

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 机器,可以用做故障转移。

更多 Nginx 相关教程见以下内容

CentOS 6.2 实战部署 Nginx+MySQL+PHP http://www.linuxidc.com/Linux/2013-09/90020.htm

使用 Nginx 搭建 WEB 服务器 http://www.linuxidc.com/Linux/2013-09/89768.htm

搭建基于 Linux6.3+Nginx1.2+PHP5+MySQL5.5 的 Web 服务器全过程 http://www.linuxidc.com/Linux/2013-09/89692.htm

CentOS 6.3 下 Nginx 性能调优 http://www.linuxidc.com/Linux/2013-09/89656.htm

CentOS 6.3 下配置 Nginx 加载 ngx_pagespeed 模块 http://www.linuxidc.com/Linux/2013-09/89657.htm

CentOS 6.4 安装配置 Nginx+Pcre+php-fpm http://www.linuxidc.com/Linux/2013-08/88984.htm

Nginx 安装配置使用详细笔记 http://www.linuxidc.com/Linux/2014-07/104499.htm

Nginx 日志过滤 使用 ngx_log_if 不记录特定日志 http://www.linuxidc.com/Linux/2014-07/104686.htm

Nginx 的详细介绍:请点这里
Nginx 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-03/129424.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2118字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中