nginx 常用命令
nginx -t #检查nginx配置文件是否配置正确 successful表示配置可用
nginx -s reload #重新加载配置文件使配置生效
nginx -s stop #停止nginx
nginx -V # 查看配置信息
service nginx stop # 停止nginx服务
service nginx start # 启动nginx服务
service nginx restart # 重启nginx服务
最简单的静态页面配置
server{
# 监听的端口
listen 8888;
# 解析的路径
root /home/sinmu/www/test;
# 域名
server_name 127.0.0.1;
# 在当前根目录下自动解析 index 和 test.html
location / {
index test.html;
}
}
使用 nginx 的默认配置的时候,它的日志文件一般在 /var/log/nginx/error.log
,可以通过 tail 命令来监控日志
限流配置
- 按连接数限速,并发数(ngx_http_limit_conn_module)
- 按请求速率限速,按照 IP 限制单位时间内的请求数(ngx_http_limit_req_module)
- 该ngx_http_limit_req_module模块用于限制每个定义键的请求处理速率,特别是来自单个 IP 地址的请求的处理速率。限制是使用“漏桶”方法完成的。
主要分为两步
- 创建规则,
limit_req_zone $binary_remote_addr zone=mylimit:10m rate=1r/s;
- 创建规则需要在 http 模块里创建
- 使用规则,
limit_req zone=mylimit burst=1 nodelay;
- 使用规则需要在 server 模块里面去使用
- burst=1 ,如果没有这句的时候,他会严格按照上
请求速率为1个请求每秒
来处理请求。 - 当你设置了之后,可以面对突发情况,可以有个缓存,缓存一个请求。
- 突发浏览的时候不会直接拒绝,而是保留一个缓存空间的。
# 创建规则限制请求速率 limit_req ,以某一个key限制这个请求速率为1个请求每秒,这个key就是当前用户的IP,申请的空间是10M,
limit_req_zone $binary_remote_addr zone=mylimit:10m rate=1r/s;
server{
# 监听的端口
listen 8888;
# 解析的路径
root /home/sinmu/www/test;
# 域名
server_name 127.0.0.1;
# 在当前根目录下自动解析 index 和 test.html
location / {
# limit_req zone=mylimit 应用这个规则,
limit_req zone=mylimit burst=1 nodelay;
index test.html;
}
}