本篇主要介绍Nginx的常用官方模块
一、目录索引-autoindex
1.1 使用方法1
按此方法设置后,访问网页http://module.test.com将显示文件目录
实际目录位于: /module
a.准备配置文件
b.准备对应的目录,并往目录中添加文件
c.检查语法并重新加载nginx
1.2 使用方法2(推荐)
按此方法设置后,访问网页http://www.module.test.com/download将显示文件目录,主页可正常访问
实际目录位于:/module/download
二、 状态监控页面-stub_status
需要nginx附带–with-http_stub_status_module模块才能使用
2.1 使用方法
a.设置配置文件
b.重启Nginx服务
c.网页访问测试
d.通过选项关闭长连接
e.再次测试网页访问
2.2 监控页面内容解释
参数项 |
作用 |
Active connections |
当前活动客户端连接数,包括Waiting等待连接数 |
accepts |
已接受总的TCP连接数 |
handled |
已处理总的TCP连接数 |
requests |
客户端总的http请求数 |
Reading |
当前nginx读取请求头的连接数 |
Writing |
当前nginx将响应写回客户端的连接数 |
Waiting |
当前等待请求的空闲客户端连接数 |
三、基于IP的访问控制
某网页内的数据比较重要,怎么控制那些人可以访问,那些人不能访问呢?
可以来源的IP地址做限制,常用的三种控制方法:
四、基于密码的身份验证
重要数据网站,要实现需要用户名密码认证,怎么做呢?
生成一个密码文件,密码文件的格式 name:password(加密) (建议使用htpasswd) openssl password
配置Nginx,限制对应的资源
五、Nginx连接限制
网站请求数太多,不堪重负了,怎么保障部分用户能够正常访问
5.1 限制连接数
设置共享内存区域和给定键值的最大允许连接数。超过此限制时,服务器将返回错误以回复请求
编辑配置文件
使用ab工具进行压力测试
查看拦截日志
5.2 限制请求数(更精准)
设置共享内存区域和请求的最大突发大小。过多的请求被延迟,直到它们的数量超过最大突发大小,在这种情况下请求以错误终止。默认情况下,最大突发大小等于零。
六、Nginx匹配符和优先级
Location语法示例
匹配优先级
6.1 匹配案例
参考网站:https://blog.csdn.net/qq_41980405/article/details/111402208
通用匹配,任何请求都会匹配到
严格区分大小写,匹配以.php结尾的都走这个location
严格区分大小写,匹配以.jsp结尾的都走这个location
不区分大小写匹配,只要用户访问.jpg,gif,png,js,css 都走这条location
不区分大小写匹配