简介
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
[root@localhost ~]
# yum -y install libxslt-devel gd-devel lua-devel geoip-devel
[root@localhost ~]
# groupadd -r nginx
[root@localhost ~]
# useradd -r -g nginx nginx
[root@localhost ~]
# tar zxvf tengine-1.5.2.tar.gz
[root@localhost ~]
# cd tengine-1.5.2
[root@localhost 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
[root@localhost tengine-1.5.2]
# make && make install
[root@localhost ~]
# ls /usr/local/nginx/modules/ | grep sys
ngx_http_sysguard_module.so
[root@localhost ~]
# /usr/local/nginx/sbin/nginx -c /etc/nginx/nginx.conf
[root@localhost ~]
# 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 模块
1
2
3
4
5
6
|
[root@localhost ~]
# vi /etc/nginx/nginx.conf
http {
dso {
load ngx_http_sysguard_module.so;
}
}
|
3.在server段中配置过载保护:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
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
1
|
[root@localhost ~]
# /usr/local/nginx/sbin/nginx -s reload
|
5.验证过载保护功能
1
2
3
4
|
在测试机发起压力测试:
[root@node1 ~]
# ab -c 5000 -n 20000 http://192.168.30.117/index2.html
观察服务器负载:
[root@localhost ~]
# htop
|
继续访问页面发现403:
6.tengine过载保护功能生效
本文转自ljl_19880709 51CTO博客,原文链接:http://blog.51cto.com/luojianlong/1382463
,如需转载请自行联系原作者