2019年12月11日 panlobal编写 第1版
有任何意见和建议,请反馈给我;我会继续优化该文章。
搭建成果展示
系统环境
本篇文章中系统环境:MacOS 10.14.4 ;有关CentOS下搭建可翻看作者 panlobal之前的文章;
整个安装过程中,遇到了3个坑,在文中也标出并给出的解决方案(大家若未遇到,请跳过)
安装包下载
地址:https://pan.baidu.com/s/16DfoMBZ49ywNn-TVQ_EEIg (若失效可私信联系我)
一、配置fastdfs
1.首先安装fastdfs依赖包
解压fastdfs-nginx打包.zip,进入文件夹fastdfs-nginx打包
cd libfastcommon-master
执行编译和安装命令:
./make.sh
sudo ./make.sh install
2.安装fastdfs
cd fastdfs-master
执行编译和安装命令:
./make.sh
sudo ./make.sh install
3.配置fastdfs
(1)创建文件夹存放数据
//建议在家目录创建
cd ~
mkdir fastdfs fastdfs/{storage,tracker}
(2)配置跟踪服务器tracker
进入/etc/fdfs文件夹
cd /etc/fdfs
拷贝tracker配置文件
cp tracker.conf.sample tracker.conf
打开tracker.conf文件
sudo vim tracker.conf
配置base_path
base_path=/Users/chenys/fastdfs/tracker
上面创建的tracker文件夹所在路径,chenys是我电脑中一个用户,你替换成你自己的。
(3)配置storage
拷贝tracker配置文件
cp storage.conf.sample storage.conf
打开storage.conf文件
sudo vim storage.conf
配置store_path0、base_path、tracker_server
store_path0=/Users/chenys/fastdfs/storage
base_path=/Users/chenys/fastdfs/storage
tracker_server=192.168.9.221:22122
(将mac设置成固定ip,192.168.9.221是我电脑的,你替换成你自己的哈)
(4)开启服务
tracker:
sudo fdfs_trackerd /etc/fdfs/tracker.conf
storage:
sudo fdfs_storaged /etc/fdfs/storage.conf
确认是否开启成功
ps aux|grep fdfs
(5)配置客户端
拷贝client配置文件
cp client.conf.sample client.conf
打开client.conf文件
sudo vim client.conf
配置base_path、tracker_server
base_path=/Users/chenys/fastdfs/tracker
tracker_server=192.168.9.221:22122
4.上传图片测试
执行上传图片命令:
sudo fdfs_upload_file /etc/fdfs/client.conf ./head.jpg
此处,我遇到的 坑1:
配置完fastdfs之后,上传文件测试时:Error:28,No space left on device报错
原因:返回错误码28,表示磁盘空间不足。注意FastDFS中有预留空间的概念,在tracker.conf中设置,配置项为:reserved_storage_space,缺省值为4GB,即预留4GB的空间。请酌情设置reserved_storage_space这个参数
解决方法:
进入/etc/fdfs 在tracker.conf中设置,
配置项为:
reserved_storage_space=5%
然后重启tracker、storage服务即可;
二.配置nginx
1.进入nginx-1.17.0
添加模块:
sudo ./configure --prefix=/usr/local/nginx/ --add-module=/Users/chenys/Downloads/fastdfs-nginx-module-master/src
此处,我遇到的 坑2:
sudo: ./configure: command not found
解决方式:
chmod 777 configure
解决了坑2,又遇到了坑3:
./configure: error: the HTTP rewrite module requires the PCRE library
原因:缺少pcre,安装 pcre
解决方案: 安装 pcre,下载地址:https://ftp.pcre.org/pub/pcre/
tar -xvzf pcre-8.13.tar.gz
cd pcre-8.13
./configure --prefix=/usr/local
make
sudo make install
编译并安装:
sudo make
sudo make install
编译完成后拷贝 fastdfs-nginx-module-master/src/mod_fastdfs.conf 到/etc/fdfs文件夹下
2.配置文件mod_fastdfs.conf
sudo vim /etc/fdfs/mod_fastdfs.conf
配置项设置:
connect_timeout=10
tracker_server=192.168.9.221:22122
url_have_group_name=true
store_path0=/Users/chenys/fastdfs/storage
进入fastdfs-master/conf,执行命令:
sudo cp http.conf /etc/fdfs
sudo cp mime.types /etc/fdfs
sudo vim /usr/local/nginx/conf/nginx.conf
在 nginx.conf添加
server{
listen 8888;
server_name localhost;
location ~/group[0-9]/{
ngx_fastdfs_module;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html{
root html;
}
}
3.启动nginx,并测试
cd /usr/local/nginx/sbin
sudo ./nginx
最终测试