美文网首页
Nginx 负载均衡Demo

Nginx 负载均衡Demo

作者: Stilwell | 来源:发表于2019-10-19 21:00 被阅读0次

前言:
=

  • 在一些生产环境当中经常会出现,一些服务器日志为502的情况,后来分析日志发现是因为网站有直播课程突发的情况下用户链接短时间内激增造成php-fpm占满。大家都知道nginx设计在linux内核2.6之后采用epoll这可以让nginx从容的处理更大的并发。白话就是.现在的瓶颈在于php-fpm的worker process不够用了,所以我们需要添加一台性能稍微差点的服务器专门来跑我们的php-fpm进程。来减轻现在的主服务器的压力。
  • 我这里的nginx.conf主配置文件中将我的虚拟主机的配置文件指定到了一个目录下面,我的站点目录vhost/easy.demo.com.conf设置如下:
vim /usr/local/nginx/conf/nginx.conf
http{
    #####此处省略n行代码
    include vhost/*.conf
}

vim /usr/local/nginx/conf/vhost/easy.demo.com.conf
upstream easy {  #注意upstream 后面指定的名称一定要在 下面的proxy_pass http://easy;中指定相同
        #server 127.0.0.1:9501 down;    down将该条下架  weight是权重占比默认是1
        ip_hash;  #负载均衡模式  默认:round-robin轮询模式
        server 127.0.0.1:9501 weight=3; #这条是权重 默认每条server的weight=1 例如现在的情况顺序应该是9501 服务3次 9503服务1次 9504服务1次 然后在循环,当然我们上面使用了ip_hash后nginx会根据用户访问的ip地址在一段时间内固定分配。现在的轮询规则的权重就限制就在于用户个数了。9501服务3个用户然后在轮到9503来服务1个用户一次类推然后在循环。
        server 127.0.0.1:9502 down;  #这条是down掉的暂时不在负载当中
        server 127.0.0.1:9503;
        server 127.0.0.1:9504;   #当然还有一个backup备用服务,但他不支持在ip_hash模式下设置。就是当所有服务主机宕机或者繁忙的时候使用该backup备用服务。所以他的压力是比较小的。
}
server
    {
        listen 80;
        #listen [::]:80;
        server_name easy.demo.com;   
        index index.php index.html index.htm default.html default.htm default.php;
        #root  /wwwroot/easy;  #由于我把所有能力都交给了负载均衡所以我讲这里指定除去了因为php-fpm可以独立服务。

        include rewrite/none.conf;
        #error_page   404   /404.html;

        # Deny access to PHP files in specific directory
        #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

        #include enable-php-pathinfo.conf;
        location ~* /
        {
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header Host $host;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_http_version 1.1;
           proxy_set_header Connection "keep-alive";

           if (!-f $request_filename){
                proxy_pass http://easy;
           }
        }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /.well-known {
            allow all;
        }

        location ~ /\.
        {
            deny all;
        }

        access_log  /home/wwwlogs/easy.demo.com.log;
        error_log /home/wwwlogs/error.easy.demo.com.log 
    }

相关文章

  • Nginx负载均衡小知识

    Nginx 负载均衡配置Nginx 重试次数限制Nginx 超时重试 Nginx 负载均衡 负载均衡策略 roun...

  • Nginx-进阶学习

    目录: Nginx集群和负载均衡 一、Nginx集群和负载均衡 1、集群 2、负载均衡-权重(1)负载均衡-轮训:...

  • Nginx 负载均衡Demo

    前言:=在一些生产环境当中经常会出现,一些服务器日志为502的情况,后来分析日志发现是因为网站有直播课程突发的情况...

  • Nginx (4)

    Nginx之负载均衡 Nginx 通过Upstream 模块进行负载均衡。 upstream 支持的负载均衡算法N...

  • Linux学习笔记-Nginx配置参数详细中文说明

    Nginx多台服务器实现负载均衡: 1.Nginx负载均衡服务器: Nginx负载均衡服务器的nginx.conf...

  • Nginx负载均衡配置

    基于轮询(Round Robin)的负载均衡配置 Nginx的负载均衡策略默认就是轮询。 Nginx负载均衡策略支...

  • linux学习--week17--nginx-lnmp

    负载均衡2.1 负载均衡与反向代理区别2.2nginx 7层负载2.3 nginx 7层负载2.4 nginx 4...

  • 负载均衡

    Nginx代理中的负载均衡 提到Nginx的反向代理,不得不提的就是Nginx的负载均衡,Nginx支持丰富的负载...

  • 实现Nginx负载均衡、Session共享、Redis集群(三)

    已搭建好redis集群、哨兵模式,Session共享,现在开始搭建nginx负载均衡 了解负载均衡 nginx负载...

  • 10.Nginx负载均衡配置

    Nginx负载均衡 1.Nginx负载均衡概述 提升吞吐率, 提升请求性能, 提⾼容灾 负载均衡按范围划分:GSL...

网友评论

      本文标题:Nginx 负载均衡Demo

      本文链接:https://www.haomeiwen.com/subject/kllnmctx.html