在nginx的config中由以下5块组成:
main | 主要控制 Nginx 子进程所属的用户和用户组、派生子进程数、错误日志位置与级别、 pid 位置、子进程优先级、进程对应 CPU、进程能够打开的文件描述符数目等 |
events | 控制 Nginx 处理连接的方式 |
http | Nginx 处理 http 请求的主要配置块,大多数配置都在这里面进行 |
server | Nginx 中主机的配置块,可用于配置多个虚拟主机 |
location | server 中对应目录级别的控制块 ,可以有多个 |
location用于实现访问控制的前缀:可提供静态目录来进行静态数据的存储
~ 波浪线表示执行一个正则匹配,区分大小写
~* 表示执行一个正则匹配,不区分大小写
^~ ^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录
= 进行普通字符精确匹配
讲个例子:
位置= / { [配置A]}
位置 / {[配置B]}
位置/ documents / { [配置C]}
位置^〜/ images / {[配置D]}
位置〜* \。(gif | jpg | jpeg)$ {[配置E]}
来一段代码对应下
location / {==第二个 /后天是目录 没有就是默认 有的话就是ip+/路径==ip+root路径;反向代理
root html; 根目录
index index.html index.htm;
}
“ /”请求将与配置A匹配, “ /index.html”请求将与配置B匹配, “ /documents/document.html”请求将与配置C匹配,
“ /images/1.gif”请求将与配置D匹配, 而“ /documents/1.jpg”请求将与配置E匹配。