22,Nginx常用功能模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了22,Nginx常用功能模块相关的知识,希望对你有一定的参考价值。

1,Nginx常用模块(日志切割)
1)我们可以在虚拟主机配置定义不同网站日志放到以自己名字命名的日志文件里
技术图片
2)systemctl reload nginx
cd /var/log/nginx && ll
技术图片

4)切割日志,让日志按照每天日期去命名
技术图片
5,logrotate -f /etc/logrotate.d/nginx 切割
技术图片
2,查看Nginx状态模块
1)cd /etc/nginx/conf.d
技术图片
2)systemctl restart nginx
3)curl www.oldzhang.com
技术图片
requests:http请求数
handled:连接成功数
accepts:总的连接数
3,目录索引模块
像这样的目录索引场景:
技术图片
技术图片
charset utf-8,gbk;
默认中文目录乱码,添加上解决乱码
autoindex on | off;
default: autoindex off;
context: http, server, location
autoindex_localtime on;
默认为 off,显示的文件时间为 GMT 时间。
autoindex 常用参数
autoindex_exact_size off;
默认为 on, 显示出文件的确切大小,单位是 bytes。
修改为 off,显示出文件的大概大小,单位是 kB 或者 MB 或者 GB。

4,Nginx访问控制模块
技术图片

5,Nginx网页访问登录模块
1)安装httpd密码工具
yum install httpd-tools -y
2)生成密码配置文件
htpasswd -b -c /etc/nginx/auth_conf oldzhang oldzhang
创建新的密码文件, -c 创建新文件 -b 允许命令行输入密码
3)修改配置文件
技术图片
6,请求限制(http请求)
还有一种连接限制(tcp连接)这种限制的弊端就是只要一次tcp连接请求成功后面就可以有无数http请求,所以现在tcp连接意义不大
1)定义请求限制域

http 
          limit_req_zone $binary_remote_addr zone=www_zone:10m rate=1r/s;
                

zone=www_zone 域名
10m 容量10M
rate=1r/s 单位秒运行最大请求数
2)引用限制域

server                     
         limit_req zone=www_zone burst=3 nodelay;                   
                   

zone=www_zone 域名
burst 运行最大延迟数
nodelay 没有该字符所有请求都排队卡死
3)测试
ab -n 20 -c 1 http://www.oldzhang.com/ 模拟20个并发,1秒最大运行1个
grep "2019/08/24" error.log|wc -l 在错误日志里可以看到,允许一个请求,3个延迟在等待,16个被限制
技术图片

以上是关于22,Nginx常用功能模块的主要内容,如果未能解决你的问题,请参考以下文章

百晓生详解nginx(上)功能概述,常用功能模块的简介,在centos7上的安装及常用优化

Nginx 常用模块

前端开发掌握nginx常用功能之rewrite

Nginx常用模块

nginx常用模块

Nginx常用HTTP模块配置解析