nginx静态资源服务器配置

问题起源

在配置静态资源服务器的时候发现了一个问题,比如我想访问 www.xxx.com/hello.png 图片,配置如下

server {
  listen 9090;
  server_name 192.168.2.165;
  charset utf - 8;
  location / {
    root / assets / img / ;
    autoindex on;
  }
}

这样访问 192.168.2.168/hello.png 就可以访问到目录 /assets/img/ 下的图片

但是如果访问的js或者css,要把路径分开来容易识别,所以实际应该通过路径 192.168.2.168/img/hello.png访问所需的图片

root和alias指令

root和alias指令提供了nginx访问路径的方式,root指令会把root的值和当前访问的路径连接起来,举个栗子,如果想通过 192.168.2.165/static/ 来访问static目录下的资源

location /static/ {
  root /var/www/app/static/ ;
  autoindex off;
}

当访问路径 /static/ 的时候,nginx得到的路径为 /var/www/app/static/static/

所以需要这样配置

location /static/ {
    root /var/www/app/;
    autoindex off;
}

而aliax则不会把当前访问的路径给拼接起来,实现上面的功能代码如下

location /static/ {
  alias /var/www/app/static/ ;
  autoindex off;
}

 

标签: nginx

目录

评论

*
*

正在加载验证码......

最新评论

  • 无评论