- 安装必需的包:
[http://tengine.taobao.org/book/appendix_c.html#id1](http://tengine.taobao.org/book/appendix_c.html#id1)
yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel;
- 几个命令:
启动
cd /usr/local/nginx
./sbin/nginx
重启
nginx -s reload
nginx -s [reload | reopen | quit | stop]
其中quit会处理完当前请求,有称为优雅关闭
重启前检查一下配置
nginx -t
nginx -t -c /usr/local/nginx/conf/nginx.conf
关闭:
查询nginx主进程号
ps -ef | grep nginx
从容停止 kill -QUIT 主进程号
快速停止 kill -TERM 主进程号
强制停止 kill -9 nginx
若nginx.conf配置了pid文件路径,如果没有,则在logs目录下
kill -信号类型 '/usr/local/nginx/logs/nginx.pid'
nginx限制访问频次访问频率:vi nginx.conf
#获取高防后的真实ip Context: http
set_real_ip_from 117.78.0.0/18;
set_real_ip_from 49.4.0.0/17;
real_ip_header X-Forwarded-For;
real_ip_recursive on;
map $http_x_forwarded_for $clientRealIp {
"" $remote_addr;
~^(?P<firstAddr>\d+.\d+.\d+.\d+)? $firstAddr;
}
#设置限制访问的zone Context: http
limit_req_zone $clientRealIp $uri zone=two:10m rate=55r/s;
#限制访问白名单 Context: http
geo $clientRealIp $white_ip {
ranges;
default 0;
1xx.2xx.2xx.14x-1xx.2xx.2xx.15x 1;
}
#执行限制,通过匹配zone实现,白名单不进入zone, context:server
limit_req zone=two burst=5 nodelay forbid_action=@test1;
limit_req_whitelist geo_var_name=white_ip geo_var_value=1;