2019年12月11日 panlobal编写 第1版
有任何意见和建议,请反馈给我;我会继续优化该文章。

搭建成果展示

Nginx+FastDFS+MacOS图片服务器的搭建

系统环境

本篇文章中系统环境: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

Nginx+FastDFS+MacOS图片服务器的搭建


此处,我遇到的 坑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;
    }
}

Nginx+FastDFS+MacOS图片服务器的搭建

3.启动nginx,并测试

cd /usr/local/nginx/sbin
sudo ./nginx

最终测试
Nginx+FastDFS+MacOS图片服务器的搭建