nginx配置静态资源服务器

最近要用nginx配置一个静态资源服务器,用来访问上传的文件,但是一直就是404错误,采坑了好久,原因就是不了解nginx路径的匹配机制,现在理解了,顺便记录一下,也为后续的小伙伴一个参考

配置静态资源有两种方式
  1. root 方式
  2. alias 方式
  1. 先说第一种配置,配置静态网站、反向代理的时候最常见 摘取server部分配置
server {
     listen 8080;
    # 如果就是外网ip,则可以为空或者不配置
     server_name ""; 
     location /images/ {
          root /home/www;
         # 防止中文乱码
          charset utf-8;
          #autoindex on;
     }
}

这种配置配置好之后,如果我们去访问,访问地址localhost:8080/images/a.jpg,我相信大多数小伙伴跟我想的一样,nginx应该会去/home/www内去查找资源,但是实际nginx会去/home/www/images/目录下面查找,是不是明白为什么会404了?
那我们刚刚想到的方式不对吗?必须要加上配置的URI路径吗?答案肯定是否定的

  1. 第二种方式就是我们想要的方式啦,上配置
server {
     listen 8080;
    # 如果就是外网ip,则可以为空或者不配置
     server_name ""; 
     location /images/ {
          alias /home/www;
         # 防止中文乱码
          charset utf-8;
          #autoindex on;
     }
}

就是单纯的把root改为了alias,就实现了我们想要的方式。nice~

你可能感兴趣的:(nginx配置静态资源服务器)