
Nginx常用基础模块
建议在需要公开文件夹结构时使用,记得移除 匹配特定文件扩展名: 匹配多种文件类型:
发布日期:2021-05-08 03:57:38
浏览次数:14
分类:精选文章
本文共 2045 字,大约阅读时间需要 6 分钟。
Nginx配置指南
目录索引
Nginx支持通过autoindex
模块生成目录列表,适用于需要浏览服务器文件夹结构的场景。以下是常用配置方法:
配置示例
server { listen 80; server_name yourdomain.com; charset utf-8,gbk; # 解决乱码问题 location / { root /path/to/your/files; index index.html index.html; autoindex on; # 启用目录索引 autoindex_exact_size off; # 隐藏文件大小 }
注意事项
autoindex on
启用目录索引模块,默认情况下会生成/index.html
文件。autoindex_exact_size off
可选项,用于隐藏文件大小信息。index.html
文件以避免自动响应。状态监控
Nginx 提供stub_status
模块用于监控服务器状态,需先启用模块并配置:
启用模块
--with-http_stub_status_module
配置示例
server { listen 80; server_name yourdomain.com; charset utf-8,gbk; location / { root /path/to/your/files; index index.html; } location /nginx_status { stub_status; allow 127.0.0.1; # 只允许本地访问 deny all; # 禁止其他访问 }}
测试
访问http://yourdomain.com/nginx_status
可查看状态页面,内容包括:
- 当前活动连接数
- 已处理请求数
- 等待处理请求数
默认状态页面基于模块自动生成,无需手动修改。
访问控制
基于IP控制
使用access_module
限制访问:
location /nginx_status { stub_status; deny 192.168.15.7/24; # 拒绝特定IP访问 allow all; # 允许其他IP访问}
基于用户密码控制
使用auth_basic
模块:
auth_basic "please login"; # 验证信息auth_basic_user_file /path/to/htpasswd; # 密码文件路径
访问限制
连接限制
限制单IP同时连接数:
limit_conn_zone $binary_remote_addr:10m;server { limit_conn addr 1; # 同时连接数限制}
请求速率限制
限制请求速率:
limit_req_zone $binary_remote_addr:10m rate=1r/s;server { limit_req zone=req_zone burst=5 nodelay; # 每秒请求数限制 limit_req_status 412; # 超过限制返回412状态码 error_page 412 /error.html;}
错误页面显示
创建error.html
文件,内容可自定义,如:
你能慢一点吗,谁顶得住!
Location匹配
优先级规则
匹配符优先级:
^~
:精确匹配~
:区分大小写的正则~*
:不区分大小写的正则!~
:不匹配的正则!~*
:不匹配的不区分大小写的正则/
:通用匹配示例
location / { default_type text/html; return 200 "location /";}location = / { default_type text/html; return 200 "location =/";}location ~ / { default_type text/html; return 200 "location ~/";}
应用场景
location ~ \.php$ { root /path/to/php_files;}
location ~* \.(jpg|gif|png|js|css)$ { root /path/to/static_files;}
通过合理配置location
块,Nginx能更精确地控制请求路径,提升服务器性能。
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年04月12日 00时05分49秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
nodeName与tagName的区别
2019-03-05
(九)实现页面底部购物车的样式
2019-03-05
在vue中给对象扩展属性的方法
2019-03-05
Neo4j : 通过节点的 id属性 对节点进行查,改,删操作
2019-03-05
Linux标准错误和标准输出重定向到同一个文件
2019-03-05
HTTP Status 404 – Not Found
2019-03-05
【2021年新书推荐】ASP.NET Core 5 and Angular
2019-03-05
python-day3 for语句完整使用
2019-03-05
spring 程序开发步骤
2019-03-05
java基础知识:构造函数
2019-03-05
java基础知识:封装
2019-03-05
linux下安装tomcat服务器
2019-03-05
mysql 中的数据实现递归查询
2019-03-05
linux下远程上传命令scp
2019-03-05
(四)块设备文件
2019-03-05
可重入和不可重入函数
2019-03-05
(2.1)关系模型之关系结构和约束
2019-03-05
DBA 技能图谱1.0
2019-03-05