nginx 静态文件目录配置

实际开发/测试/线上环境中,我们可能会经常遇到nginx的静态文件配置。

1. css,js,img等文件的静态文件目录配置

我们通常会需要配置(有可能是cdn回源,也有可能是直接访问),访问域名m.static以.css/gif/ico...等文件结尾的静态文件时,直接去服务器上/data/static 目录下面寻找。

server {
           listen 80;   
           server_name m.static.com;
           location ~* .(css|gif|ico|jpg|js|png|ttf|woff)$ {
               root /data/static;
           }
}

2.微信公众平台域名验证时的密钥文件验证

server {
           listen 80;   
           server_name m.static.com;
           location ~* .(txt)$ {
               root /data/static;
           }
}

 3.前端静态文件夹配置

我们可能会有这种需求,

3.1 访问m.static.com/static/ 下面所有的文件,都从服务器/data/front目录下面寻找。

server {
           listen 80;   
           server_name m.static.com;
           location /static/ {
               root /data/front;
           }
}

注意:服务器静态文件必须放在/data/front/static目录下,上述功能配置才生效。

3.2 当找不到文件时,跳转到index.html。

server {
           listen 80;   
           server_name m.static.com;
           location /static/ {
               #根目录/data/front下找不到文件,就返回index.html
               try_files $uri $uri/ /static/index.html
               root /data/front;
           }
}
经验分享 程序员 微信小程序 职场和发展