微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

nginx如何防止高负载造成服务器崩溃

Nginx-http-sysguard模块

一、作用 防止因Nginx并发访问量过高或者遭受攻击造成服务器宕机,可根据负载设置界面跳转。   二、安装配置 1.下载模块软件包
wget https://github.com/alibaba/Nginx-http-sysguard/archive/master.zip
unzip /opt/master.zip
  2.给NginxNginx_sysguard补丁
cd /Nginx文件目录
patch -p1 < Nginx-http-sysguard-master/Nginx_sysguard_1.3.9.patch 
  3.编译Nginx添加模块   Nginx -V查看Nginx编译选项
Nginx version: Nginx/1.14.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) 
built with OpenSSL 1.0.2o  27 Mar 2018
TLS SNI support enabled
configure arguments: --user=www --group=www --prefix=/usr/local/Nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-http

  重新编译,增加模块

./configure --user=www --group=www --prefix=/usr/local/Nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-http_sub_module --with-stream --with-stream_ssl_module --with-openssl=/opt/hdlnmp/src/openssl-1.0.2o --add-module=Nginx-http-sysguard-master
make

  替换Nginx可执行程序

cp /usr/local/Nginx/sbin/Nginx /usr/local/Nginx/sbin/Nginx.bak
cp ./objs/Nginx /usr/local/Nginx/sbin/

  

4.配置Nginx文件          添加如下内容,可在http、server、location段配置,load值根据实际需求自行调节。
        sysguard on;
        sysguard_load load=0.01 action=/loadlimit;
        sysguard_mem swapratio=20% action=/swaplimit;
        location = /loadlimit {
            return 503;
        }
        location /swaplimit {
            return 503;
        }    

  可修改配置页面跳转

        sysguard on;
        sysguard_load load=0.01 action=/error_page/index.html;   

5.重启Nginx

service Nginx restart

  

   

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐