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个被限制
原文地址:https://blog.51cto.com/13858002/2433749