一、作用
防止因nginx併發訪問量過高或者遭受攻擊造成服務器宕機,可根據負載設置界面跳轉。
二、安裝配置
1.下載模塊軟件包
wget https://github.com/alibaba/nginx-http-sysguard/archive/master.zip unzip /opt/master.zip
1 2 |
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
1 2 |
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
1 2 3 4 5 6 |
[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
1 2 |
./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/
1 2 |
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; }
1 2 3 4 5 6 7 8 9 |
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;
1 2 |
sysguard on; sysguard_load load=0.01 action=/error_page/index.html; |
5.重啓nginx
service nginx restart
1 |
service nginx restart |