Nginx模块简述
一、Nginx配置文件介绍
Nginx服务的默认全局配置文件路径为:/etc/nginx/nginx.conf;路径因人而异,不同的人使用不同的安装方式(编译安装、epel仓库、官方仓库),那么nginx的模块位置信息也会不一样,我们也可以使用命令:nginx -V 查看nginx具体模块信息:

1 | [root@nanxi ~]#egrep -nv '^$|^#' /etc/nginx/nginx.conf |
1 | #使用Server模块配置网站, 每个Server{}代表一个网站(简称虚拟主机); |
http{}层下允许有多个Server{}层,一个Server{}层下又允许有多个Location{}
http{} 标签主要用来解决用户的请求与响应。
server{} 标签主要用来响应具体的某一个网站。
location{}标签主要用于匹配网站具体URL路径。
使用 rpm -ql nginx 可查看nginx软件包的安装列表;( rpm -qa nginx 查看nginx软件是否存在),这里摘要几个最主要的文件必须了解:
| 路径 | 类型 | 作用 |
|---|---|---|
| /etc/nginx/nginx.conf | 配置文件 | nginx(全局)主配置文件 |
| /etc/nginx/conf.d/default.conf | 配置文件 | 默认网站配置文件 |
| /etc/logrotate.d/nginx | 配置文件 | Nginx默认的日志切割 |
| /var/log/nginx/access.log | 日志文件 | Nginx访问日志文件 |
| /var/log/nginx/error.log | 日志文件 | Nginx错误日志文件 |
1 | $remote_addr # 记录客户端IP地址 |
注意:配置文件配置完成后,如果是新增文件需要重启nginx服务,如果是修改配置文件那么只重载即可,记得检查配置文件配置是否有错误(可以使用 nginx -t 进行检查),如果有错重启时会报错,若配置错误后关闭nginx则无法再开启,直至配置文件修改正确为止。资源库的更改不需要重启服务。
1 | [root@nanxi ~]#nginx -t |
二、Nginx目录索引
目录索引模块实现的效果类似资源站的下载页面,如以下阿里云的镜像站:

1 | #配置方式: |
显示效果如下:(如显示乱码,则需要指定编码格式 charset utf-8,gbk;)

三、Nginx状态监控
1 | #配置方式: |
显示效果如下:

1 | #参数详解: |
四、Nginx 访问限制
1、IP访问限制
1 | #配置方式: |


2、连接限制
1 | # 配置方式 |
3、请求限制
1 | # 配置方式 |

在nginx请求限制的过程中,我们可以自定义一个返回值,也就是错误页面的状态码。默认情况下是503(500以后的状态码多为数据库错误,为了方便区分,我们可以自定义一个状态码,如:478);

五、Nginx用户登陆认证
1 | # 需要先安装httpd-tools,该包中携带了htpasswd命令,用来生成加密的密码 |

六、Location优先级
| 匹配符 | 匹配规则 | 优先级 |
|---|---|---|
| = | 精确匹配 | 1 |
| ^~ | 以某个字符串开头 | 2 |
| ~ | 区分大小写的正则匹配 | 3 |
| ~* | 不区分大小写的正则匹配 | 4 |
| / | 通用匹配,任何请求都会匹配到 | 5 |
1 | # 精准匹配,任何请求都会匹配到 |
屠刀砍进中国人的心脏,震惊了中国魂,我们立志誓死捍卫祖国!铭记历史,祭奠民族伤痛~
