一、http
http 用于配置代理、缓存、日志、第三方模块,连接超时时间、单链接请求数等
http 内部可配置多个 server
二、server
server 用于配置虚拟主机
server 内部可配置多个 location
三、location
location 用于配置请求的路由,可以匹配路径片段,包括文件后缀
1. location 的几种匹配方式
location = / {.....} 匹配成功,则不再匹配其他
location ^~ / {.....} 匹配成功,则不再匹配其他
location / {.....} 一般匹配
location ~ / {.....} 正则匹配,区分大小写
location ~* / {.....} 正则匹配,不区分大小写
location !~ / {.....} 正则不匹配,不区分大小写
location !~* / {.....} 正则不匹配,不区分大小写
2. location 匹配的对象
- 匹配网站根目录 --- 定义网站入口
location = / {
root html/myblog/dist; #网页根目录(/usr/local/nginx/html/myblog/dist)
index index.html index.htm;
}
- 处理静态文件请求 --- 静态资源
匹配目录片段
location /image/ {
root static; #路径中匹配到 image 会映射到 /usr/local/nginx/static/image 目录下
autoindex on;
}
- 文件后缀匹配 --- 静态资源
location ~* \.(git|jpg|jpeg|png)$ {
root static/image/;
autoindex on;
}
- 转发后端服务 --- 反向代理
location /api/ {
proxy_pass http://182.92.150.105:9000;
proxy_set_header Host $host;
}
网友评论