Nginx的配置文件在/usr/local/nginx/conf里面有个默认的配置文件nginx.conf如下:

   server {
         listen       81;
         server_name  localhost;
         #charset koi8-r;
 ​
         #access_log  logs/host.access.log  main;
       location / {
         root   html;
         index  index.html index.htm;
     }

其中listen为监听端口号,location是匹配的访问路径,可使用正则表达,可以添加多个。访问路径默认是Nginx目录下的html文件夹。

image-20211214105319816

/表示所有访问都会进到这个里面,但是会:优先匹配表达式长的,我理解为优先匹配/多的

如下/pic/跟/pic/ps/,如果你访问:http:localhost:81/pic/ps/1.jpg,会优先匹配/pic/ps/。如果你没有设置location /pic/ps/ 才会匹配/pic/里面的

 location /pic/{
         alias picture/pic/;
     }
 location /pic/ps/{
         root picture;
     }

还有一点就是root跟alias的区别:我理解的是root就是在访问路径前加上root目录,alias则是直接替换掉。

比如你访问http:localhost:81/pic/ps/1.jpg,它匹配第二个,就是在/pic/ps/前加上/picture/。所以它实际的访问路径为:http:localhost:81/picture/pic/ps/1.jpg

如果你访问http:localhost:81/pic/1.jpg,它匹配第一个,就是将/pic/替换为/picture/pic/。所以它实际的访问路径为:http:localhost:81/picture/pic/1.jpg

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐