nginx中http-sysguard模块
一、作用
防止因nginx并发访问量过高或者遭受攻击造成服务器宕机,可根据负载设置界面跳转。
二、安装配置
1.下载模块软件包
wget https://github.com/alibaba/nginx-http-sysguard/archive/master.zip unzip /opt/master.zip
2.给nginx打nginx_sysguard补丁
cd /nginx源文件目录 patch -p1 < nginx-http-sysguard-master/nginx_sysguard_1.3.9.patch
3.编译nginx添加模块
nginx -V查看nginx编译选项
[root@myhost nginx-1.14.0]# nginx -V 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_sub_module --with-stream --with-stream_ssl_module --with-openssl=/opt/hdlnmp/src/openssl-1.0.2o
重新编译,增加模块
./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=/crowded.html; #sysguard_load load=0.01 action=/error_page/index.html;
5.重启nginx
service nginx restart
crowded.html(放到项目根目录)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" /> <meta http-equiv="X-UA-Compatible" content="ie=edge" /> <title>国家海洋博物馆</title> <style type="text/css"> .box { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); /* IE 9 */ -webkit-transform: translate(-50%, -50%); /* Safari and Chrome */ -o-transform: translate(-50%, -50%); /* Opera */ -moz-transform: translate(-50%, -50%); /* Firefox */ } .box img { display: block; width: 3.85rem; } .box p { font-size: 0.28rem; color: #000; text-align: center; line-height: 1.5rem; } </style> </head> <body> <div class="box"> <img src="https://img-blog.csdnimg.cn/2022010617585034894.jpeg" /> <p>太热情了,请稍后再来吧</p> </div> <script type="text/javascript"> (function(doc, win) { var docEl = doc.documentElement, resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize', recalc = function() { var clientWidth = docEl.clientWidth; if(!clientWidth) return; if(clientWidth >= 750) { docEl.style.fontSize = '100px'; } else { docEl.style.fontSize = 100 * (clientWidth / 750) + 'px'; } }; if(!doc.addEventListener) return; win.addEventListener(resizeEvt, recalc, false); doc.addEventListener('DOMContentLoaded', recalc, false); })(document, window) </script> </body> </html>
到此这篇关于nginx中http-sysguard模块的文章就介绍到这了,更多相关nginx http-sysguard模块内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Mac使用Nginx设置代理并禁用自带Apache的问题记录
本文介绍如何在Mac上禁用自带的Apache服务并安装Nginx,首先需要关闭Apache并禁止其自启动,接着,通过Homebrew安装Nginx,并配置其文件和目录,最后,介绍了如何生成SSL/自签名证书,详细步骤包括修改Apache配置、安装Nginx、编辑Nginx配置文件以及验证和重启Nginx服务2024-09-09WordPress中开启多站点支持及Nginx的重写规则配置
这篇文章主要介绍了WordPress中开启多站点支持及Nginx的重写规则配置方法,在同一个WordPress软件中开启的多个站点如果需要绑定不同域名的话也可以使用WordPress MU Domain Mapping插件,需要的朋友可以参考下2016-03-03nginx调用php-fpm出错解决方法和nginx配置详解
这篇文章介绍了nginx调用php-fpm出错的解决方法,最后给出了nginx配置方法,需要的朋友可以参考下2014-03-03
最新评论