Tengine ngx_http_sysguard_module 过载保护模块使用
简介
Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。
运行环境:Centos 6.4 x86_64
软件版本:tengine-1.5.2
软件下载地址:wget http://tengine.taobao.org/download/tengine-1.5.2.tar.gz
1.编译安装tengine
[[email protected] ~]# yum -y install libxslt-devel gd-devel lua-devel geoip-devel [[email protected] ~]# groupadd -r nginx [[email protected] ~]# useradd -r -g nginx nginx [[email protected] ~]# tar zxvf tengine-1.5.2.tar.gz [[email protected] ~]# cd tengine-1.5.2 [[email protected] tengine-1.5.2]# ./configure \ > --prefix=/usr/local/nginx \ > --conf-path=/etc/nginx/nginx.conf \ > --error-log-path=/var/log/nginx/error.log \ > --http-log-path=/var/log/nginx/access.log \ > --pid-path=/var/run/nginx/nginx.pid \ > --lock-path=/var/lock/nginx.lock \ > --user=nginx \ > --group=nginx \ > --enable-mods-shared=all [[email protected] tengine-1.5.2]# make && make install [[email protected] ~]# ls /usr/local/nginx/modules/ | grep sys ngx_http_sysguard_module.so [[email protected] ~]# /usr/local/nginx/sbin/nginx -c /etc/nginx/nginx.conf [[email protected] ~]# ps aux | grep nginx root 25508 0.0 0.0 83684 1252 ? Ss 13:58 0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /etc/nginx/nginx.conf nginx 25509 0.0 0.0 84088 1780 ? S 13:58 0:00 nginx: worker process root 25547 0.0 0.0 103248 824 pts/0 S+ 14:02 0:00 grep nginx
2.编译/etc/nginx/nginx.conf 动态加载ngx_http_sysguard_module 模块
[[email protected] ~]# vi /etc/nginx/nginx.conf http { dso { load ngx_http_sysguard_module.so; } }
3.在server段中配置过载保护:
server { listen 80; server_name 192.168.30.117; sysguard on; sysguard_load load=0.1 action=/loadlimit; sysguard_mem swapratio=20% action=/swaplimit; sysguard_mem free=100M action=/freelimit; #charset koi8-r; #access_log logs/host.access.log main; root /var/www/html; index index.html index.htm; location / { } location /loadlimit { return 403; }
4.重启tengine
[[email protected] ~]# /usr/local/nginx/sbin/nginx -s reload
5.验证过载保护功能
在测试机发起压力测试: [[email protected] ~]# ab -c 5000 -n 20000 http://192.168.30.117/index2.html 观察服务器负载: [[email protected] ~]# htop
继续访问页面发现403:
6.tengine过载保护功能生效
转载于:https://blog.51cto.com/luojianlong/1382463