FastDFS nginx 配置(解决带正则表达式指定文件缓存时的异常)

使用 fastdfs 的 nginx 模块的时候发现总是找不到文件, 经过检查发现是加了缓存的文件都访问不到, 其他的则正常, 分析发现是因为 nginx location 使用正则表达式时的匹配顺序导致的

nginx 的 location 使用正则表达式时按顺序匹配, 找到第一个匹配的就停止搜索, 所以根据文件后缀指定缓存的同时要加上 fastdfs 模块

配置如下:

server
{
    listen 80;
    server_name xxoo.com;
    
    location ~* /group1/M00/.*\.(gif|jpg|jpeg|png|bmp|swf|ico)$ {
        alias /path/to/fastdfs/data/;
        ngx_fastdfs_module;
        expires 30d;
    }

    location /group1/M00 {
        alias /path/to/fastdfs/data/;
        ngx_fastdfs_module;
    }

    # ...
}

参考链接:
* http://www.php100.com/html/program/nginx/2013/0905/5543.html
* http://bbs.chinaunix.net/thread-4062496-1-1.html

2014-03-17 17:33 169 fastdfs nginx location regex