- 4.1 案例:将ace-master这个静态网站部署到Nginx服务器上
- 4.1.1 通过Xftp将ace-master到linux服务器/opt/static目录下,为了演示方便,将名字改为ace
- http://192.168.235.128:80/访问">4.1.2 通过http://192.168.235.128:80/访问
- http://192.168.235.128:80/ace/访问">4.1.3 通过http://192.168.235.128:80/ace/访问
- (1)修改nginx.conf配置文件
- (2)重启nginx服务器
- http://192.168.235.128:80/ace进行访问">(3)在浏览器中输入http://192.168.235.128:80/ace进行访问
- 4.2 location中配置路径讲解
Nginx是一个HTTP的web服务器,可以将服务器上的静态文件(如HTML、图片等 通过HTTP协议返回给浏览器客户端
4.1 案例:将ace-master这个静态网站部署到Nginx服务器上
4.1.1 通过Xftp将ace-master到linux服务器/opt/static目录下,为了演示方便,将名字改为ace
4.1.2 通过http://192.168.235.128:80/访问
(1)修改nginx.conf配置文件
在server中,通过location匹配访问的路径,然后转发给静态资源
注意要以分号结尾
(2)重启nginx服务器
(3)在浏览器中输入http://192.168.235.128:80/进行访问
4.1.3 通过http://192.168.235.128:80/ace/访问
(1)修改nginx.conf配置文件
在server中,通过location匹配访问的路径,然后转发给静态资源
(2)重启nginx服务器
(3)在浏览器中输入http://192.168.235.128:80/ace进行访问
4.2 location中配置路径讲解
初次接触:可能会遇到404找不到页面的错误,主要原因是配置路径问题;
规则:ip + port 等于 root,假设server的配置如下:
server {
listen 80; #端口号
location / {
root /opt/static /ace; #静态文件路径
}
}
替换:
http://192.168.92.128:80/ = root = /opt/static/ace
http://192.168.92.128:80/ace = root/ace = /opt/static/ace/ace
| location匹配顺序
在没有标识符的请求下,匹配规则如下:
1、nginx服务器首先在server块的多个location块中搜索是否有标准的uri和请求字符串匹配。如果有多个标准uri可以匹配,就匹配其中匹配度最高的一个location。
2、然后,nginx在使用location块中,正则uri和请求字符串,进行匹配。如果正则匹配成功,则结束匹配,并使用这个location处理请求;如果正则匹配失败,则使用标准uri中,匹配度最高的location。
备注:
1、如果有精确匹配,会先进行精确匹配,匹配成功,立刻返回结果。
2、普通匹配与顺序无关,因为按照匹配的长短来取匹配结果。
3、正则匹配与顺序有关,因为是从上往下匹配。(首先匹配,就结束解析过程)
4、在location中,有一种统配的location,所有的请求,都可以匹配,如下:
| location / {
# ``因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求
# ``但是正则和最长字符串会优先匹配
}
| |
| —- | —- |
结合标识符,匹配顺序如下:
(location =) > (location 完整路径) > (location ^~ 路径) > (location ~,~* 正则顺序) > (location 部分起始路径) > (location /)
即
(精确匹配)> (最长字符串匹配,但完全匹配) >(非正则匹配)>(正则匹配)>(最长字符串匹配,不完全匹配)>(location通配)
|
| —- |