1.FastDFS的Nginx模块
一般下载文件种静态资源,使用http协议,通过容易扩展的nginx来访问FastDFS可以让文件的上传和下载变得比较简单。
Nginx安装的FastDFS模块,主要安装在FastDFS的存储服务器(storage)上,目的是为输入诸如http://192.168.82.101/group1/M00/00/00/xxx.jpg 等访问资源时,可以通过Nginx的Web服务功能,直接返回图片。
2.在Nginx上部署FastDFS
在nginx的conf目录中执行./configure指令,加上编译参数
./configure --add-module=/home/NAME/fastdfs-nginx-module/src
make
sudo makeinstall
出现缺少头文件错误
在objs/Makefile中加上
-I /usr/include/fastdfs \
-I /usr/include/fastcommon
make可以通过
如果make步骤中会报如下错误
说明/objs/Makefile文件有语法错误
在编译安装完成之后,启动nginx,发现只有mastr节点而没有worker节点,查看错误日志文件可以发现
/etc/fdfs/mod_fastdfs.conf not exist
说明缺少配置文件
从fastDFS的源码安装包中的conf中,将http.conf拷贝到/etc/fdfs
从nginx的源码安装包中的conf中的mime.types拷贝到/etc/fdfs
3.配置nginx
添加location
location /group1/M00 {
root /home/NAME/fastDFS/storage/data;//实际存储路径
ngx_fast_module;//fastdfs模块的名字
}
重新加载nginx的配置文件
4.修改mod_fastfdfs.conf配置文件
//log日志目录
base_path = /home/NAME/fastDFS/storage
//追踪器的地址和fastfds中保持一致
tracker_server = 192.168.82.101:22122
//当前存储节点的端口
stroage_server_port=23000
//当前存储节点所属的组
group_name=group1
//浏览器访问,url是否包含组名
url_have_group_name=true
//当前存储节点存储路径的个数
store_path_count=1
当前存储节点的存储路径
store_path0=/home/NAME/fastDFS/storage
//如果存在多个配置路径,需要全部写到配置文件中
store_path1
store_path2
//整个的fastDFS文件系统一共有多少个组
group_count=1
每个组的信息
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path/home/NAME/fastDFS/storage
如果配置文件写的有错误可能会出现如下错误画面
错误1:
错误2:
如果配置成功,启动nginx,可以看到nginx master和nginx worker两个线程