前言:FastDFS官方不支持浏览器访问文件,要想访问文件,有两种办法:1、Java客户端,用户自己编写程序实现;2、通过nginx插件
下面说下nginx插件访问FastDFS的原理:很容易知道nginx-FastDFS插件的原理是实现了FastDFS客户端,然后开启一个http服务,这样用户就可以通过http协议访问
步骤:
- 安装tengine,添加nginx-FastDFS插件。安装成功之后nginx知道了nginx-FastDFS插件的存在,这是前提
./configure --prefix=/usr/local/tengine
--add-module=/root/fastdfs-nginx-module/src/
make && make install
2.nginx-FastDFS插件怎么找到FastDFS服务器?那肯定有配置文件阿。/usr/local/目录是FastDFS插件所在目录
vi /usr/local/fastdfs/fastdfs-nginx-module/src/config
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
cp /root/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
//插件需要知道FastDFS在哪
tracker_server=192.168.2.109:22122
url_have_group_name = true
store_path0=/var/data/fastdfs-storage/store
3.最后配置
复制FastDFS安装包中的两个配置文件(http.conf和mime.types)到/etc/fdfs目录中
/usr/local/fastdfs/FastDFS/conf
ln -s /var/data/fastdfs-storage/store/data/ /var/data/fastdfs-storage/store/data/M00
软连接的目的是插件用的是虚拟目录
location ~ /group([0-9])/M00 {
ngx_fastdfs_module;
}
总结:
nginx-FastDFS插件安装流程显得有点复杂,本想是插件先配置FastDFS的ip和端口号,然后加载到nginx就行,却还要弄那么多配置。这里疑惑两点:1、`CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
2、cp /root/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/;
复制FastDFS安装包中的两个配置文件(http.conf和mime.types)到/etc/fdfs目录中。
第1点是插件是作为FastDFS的客户端,为什么需要这些目录呢,这些目录是FastDFS的官方目录阿;第二点是插件的配置文件要放在/etc/fdfs/下,这也是FastDFS的配置文件目录阿,多了http.conf mime.types mod_fastdfs.conf 这3个文件出来,后面看了下/usr/local/fastdfs/fastdfs-nginx-module/fastdfs-nginx-module/src/config这个插件的配置文件,原来是需要用到这个目录
总体来说插件做得有点多余