nginx中http-sysguard模块

 更新时间:2024年08月26日 11:41:58   作者:lvshuocool  
本文主要介绍了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模块内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • Nginx解决403 forbidden的完整步骤

    Nginx解决403 forbidden的完整步骤

    这篇文章主要给大家介绍了关于Nginx解决403 forbidden的完整步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 用Nginx反向代理Node.js的方法

    用Nginx反向代理Node.js的方法

    本篇文章主要介绍了用Nginx反向代理Node.js的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • django8.5 项目部署Nginx的操作步骤

    django8.5 项目部署Nginx的操作步骤

    nginx是一个开源的,支持高性能,高并发的www服务和代理服务软件。它是一个俄罗斯人lgor sysoev开发的,作者将源代码开源出来供全球使用,下面小编给大家带来了django8.5 项目部署Nginx的操作步骤,感兴趣的朋友一起看看吧
    2022-01-01
  • Mac使用Nginx设置代理并禁用自带Apache的问题记录

    Mac使用Nginx设置代理并禁用自带Apache的问题记录

    本文介绍如何在Mac上禁用自带的Apache服务并安装Nginx,首先需要关闭Apache并禁止其自启动,接着,通过Homebrew安装Nginx,并配置其文件和目录,最后,介绍了如何生成SSL/自签名证书,详细步骤包括修改Apache配置、安装Nginx、编辑Nginx配置文件以及验证和重启Nginx服务
    2024-09-09
  • WordPress中开启多站点支持及Nginx的重写规则配置

    WordPress中开启多站点支持及Nginx的重写规则配置

    这篇文章主要介绍了WordPress中开启多站点支持及Nginx的重写规则配置方法,在同一个WordPress软件中开启的多个站点如果需要绑定不同域名的话也可以使用WordPress MU Domain Mapping插件,需要的朋友可以参考下
    2016-03-03
  • Nginx在胖容器中的部署流程

    Nginx在胖容器中的部署流程

    胖容器(Fat Container)是一种容器技术的形态,它在传统的轻量级容器基础上进行了扩展和增强,Nginx是一款高性能的HTTP和反向代理web服务器,本文将给大家介绍Nginx在胖容器中的部署流程,需要的朋友可以参考下
    2024-04-04
  • nginx调用php-fpm出错解决方法和nginx配置详解

    nginx调用php-fpm出错解决方法和nginx配置详解

    这篇文章介绍了nginx调用php-fpm出错的解决方法,最后给出了nginx配置方法,需要的朋友可以参考下
    2014-03-03
  • Nginx 服务器重启关闭重新加载命令

    Nginx 服务器重启关闭重新加载命令

    这篇文章主要介绍了Nginx 服务器重启关闭重新加载命令,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-03-03
  • 修改Nginx源码实现worker进程隔离实现详解

    修改Nginx源码实现worker进程隔离实现详解

    这篇文章主要为大家介绍了修改Nginx源码实现worker进程隔离实现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • nginx配置反向代理时遇到的路径问题

    nginx配置反向代理时遇到的路径问题

    这篇文章主要介绍了nginx配置反向代理时遇到的路径问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01

最新评论