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文件夹。
/表示所有访问都会进到这个里面,但是会:优先匹配表达式长的,我理解为优先匹配/多的
如下/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