人间蒸发的gravatar头像
人间蒸发 2019-10-28 22:08:12
centos7下安装fastDFS(图片管理服务)

 

首先介绍一下这个fastDFS,各位牛牛可以百度一下,我简单查了一下,图片管理为什么使用FastDFS,在伊成的建议下我开始了对这个东西的摸索。

此博客为伊成忘记了最代码的密码,此博客属于伊成原创,我替他分享给大家,大家也可拜访他搭建的博客

这里声明一下,改天我会再写一篇docker上安装fastDFS,这就是我的原创了。

那么接下来进入主题。

1.下载fastDFS

wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz

wget http://jaist.dl.sourceforge.net/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz
wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz

下载完成之后修改tar包名称,更改完成如下图

centos7下安装fastDFS(图片管理服务)

2.下载nginx

wget http://nginx.org/en/download.html

3.安装libevent

yum -y install libeven

centos7下安装fastDFS(图片管理服务)

找到 fastDFS 目录下的 libfastcomm-1.0.7.tar.gz 对其解压

tar -zxvf libfastcommon-1.0.7.tar.gz
cd libfastcommon-1.0.7/  //进入文件


centos7下安装fastDFS(图片管理服务)

./make.sh  
install //编译并且安装

安装完成后切换到usr/lib64下

cd /usr/lib64/
ll libfast*

centos7下安装fastDFS(图片管理服务)
 

libfastcommon.so文件复制到usr/lib

cp libfastcommon.so /usr/lib/

安装 tracker

切换到 fastdfs-5.05.tar.gz 所在的目录
centos7下安装fastDFS(图片管理服务)

tar -zxvf fastdfs-5.05.tar.gz  //解压
./make.sh //编译
./make.sh install //安装

安装完成之后,有一部分的配置文件会在 /usr/bin/ 目录下,接着切换到 /usr/bin/ 目录进行查看

centos7下安装fastDFS(图片管理服务)

还有一部分配置文件存在于 /etc/fdfs/

centos7下安装fastDFS(图片管理服务)

接着切换到 fastdfs-5.05/conf/ 目录

 

cd /home/tar/fastDFS/fastdfs-5.05/conf/

 

需要把里面的配置文件复制到/etc/fdfs/ 目录
centos7下安装fastDFS(图片管理服务)
切换到 /etc/fdfs/ 进行查看
centos7下安装fastDFS(图片管理服务)

修改配置文件 tracker.conf


 
vim tracker.conf

centos7下安装fastDFS(图片管理服务)

修改了 base_path,然后退出保存。

退出之后,在根目录下创建刚刚修改的base_path 里面定义的目录,命令如下

 
mkdir /fastdfs/tracker -p

 

centos7下安装fastDFS(图片管理服务)
查看是否创建成功
centos7下安装fastDFS(图片管理服务)
在 fastdfs 下继续创建两个文件夹,后续会使用到的

 
mkdir storage
mkdir client

centos7下安装fastDFS(图片管理服务)

做完这一步操作之后,回到 /usr/bin/ 目录
centos7下安装fastDFS(图片管理服务)

在这里找到fdfs_trackerd文件,而这个文件就是用来启动tracker的文件。
执行启动命令

1
fdfs_trackerd /etc/fdfs/tracker.conf

假如你的tracker.conf 配置文件发生了变化,那么至需要在这个命令后面加一个restart 即可

 
fdfs_trackerd /etc/fdfs/tracker.conf restart

到此为止,fastDFS中的 tracker服务 已经OK了。

安装storage

切换目录到 /etc/fdfs/ 上面我们已经修改了tracker.conf,接着找到storage.conf文件
centos7下安装fastDFS(图片管理服务)


 
group_name=group1 // 组织名,改成你想要的即可
store_path0=/home/yuqing/fastdfs//图片存储路径
tracker_server=192.168.209.121:22122//IP配置为你当前的服务器ip,端口是默认的可不做修改
base_path=/fastdfs/storage // 这个目录路径在前面已经创建过的,在这里就直接写这个即可

这个文件就需要该这几个配置项,改为就直接保存退出。
切换到 /usr/bin/目录可以用来启动 storage 服务
centos7下安装fastDFS(图片管理服务)

找到 fdfs_storaged
执行命令


 
fdfs_storaged /etc/fdfs/storage.conf

 

如果storage.conf 有改动,可以重启storage服务就直接在上面的命令后面加一个 restart


 
fdfs_storaged /etc/fdfs/storage.conf restart

启动完成之后可以查看一下


 
ps aux | grep storage

centos7下安装fastDFS(图片管理服务)

到此为止,fastDFS中的 storage服务也已经OK了。

以上 storage服务和tracker服务都启动了,接着做个小测试。
在做这测之前,还需要几件事

配置client

首先切换到 /etc/fdfs/ 目录
centos7下安装fastDFS(图片管理服务)

修改 client.conf 配置文件


 
base_path=/fastdfs/client //这个目录也是之前已经创建好了的
tracker_server=192.168.1.10:22122 // IP修改为你的服务器IP 端口默认的可不做修改

 

修改完成之后,退出保存

测试

下面就可以做测试了。
首先还是要切换目录到 /usr/bin/
centos7下安装fastDFS(图片管理服务)

找到 fdfs_test 这个服务就可以做相应的测试,记得事先准备一张测试图片。
我这里事先准备了一张图片在根目录下
切换到 home 目录查看
centos7下安装fastDFS(图片管理服务)

执行命令


 
/usr/bin/fdfs_test /etc/fdfs/client.conf upload zhu.png

 

看见如下就代表上传成功了
centos7下安装fastDFS(图片管理服务)

说明:
上图可以看见我们曾配置的 组织名 group_name
还有文件名,以及访问图片的URL。

到这一步虽然有了这个图片的url 但是我们还是访问不到这个图片的,因为我们并没有配置对应的web服务器,接下来会配置nginx 。

思考一个问题,由上面的图片已经上传成功了,那这图片到底存储在哪里了呢?
这个取决于你的配置文件里面的配置,我这里是在这个路径下


 
/fastdfs/storage/data/00/00

centos7下安装fastDFS(图片管理服务)

异常情况
如果上传失败一般都是你的配置文件修改的有误,这里附上一个常见的错误场景
centos7下安装fastDFS(图片管理服务)

解决方法,参考这个链接
https://blog.csdn.net/egbertasd/article/details/90762478

修改完配置文件,记得重启对应的服务!

配置nginx

切换到目录 /home/tar/fastDFS/
找到对应的 fastdfs-nginx-module_v1.16.tar.gz
对其解压


 
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz

解压完成之后 进入到 fastdfs-nginx-module
在进入到 里面的 src
修改 config 文件
centos7下安装fastDFS(图片管理服务)

删掉标红的三个 local ,因为和我们配置的路径不一致。

修改完成之后,保存退出。
操作完以上步骤之后,切换目录到 nginx 的tar包下
centos7下安装fastDFS(图片管理服务)

在安装nginx 之前要先安装必要的一些库


 
1. yum install gcc-c++
2. yum install pcre prce-devel
3. yum install zlib zili-devel
4. yum install openssl openssl-devel

 

接着解压 nginx


 
tar -zxvf nginx-1.12.2.tar.gz

进入 nginx
centos7下安装fastDFS(图片管理服务)

接下来需要运行一段配置文件

 
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--add-module=(这里填写你的fastdfs-ngix-module的路径)

 

复制在 nginx 下回车就可以运行
centos7下安装fastDFS(图片管理服务)

接着make 编译一下


 
make

编译完成之后,执行安装命令


 
make install

centos7下安装fastDFS(图片管理服务)

安装完成之后,在 /usr/local/ 目录下就会存在一个nginx文件夹
centos7下安装fastDFS(图片管理服务)

做到这一步,还需要一个fast和nginx的 “桥梁配置文件” 切换目录到


 
cd /home/tar/fastDFS/fastdfs-nginx-module/src

centos7下安装fastDFS(图片管理服务)

找到 mod_fastdfs.conf 文件
把它复制到 /etc/fdfs/


 
cp mod_fastdfs.conf /etc/fdfs/

进入 /etc/fdfs/ 目录进行查看并且使用 vim 修改这个文件

1
2
# the base path to store log files
base_path=/fastdfs/tmp

修改完成保存,然后在 fastdfs 下面创建 tmp 文件夹
centos7下安装fastDFS(图片管理服务)

在此 进入到 /etc/fdfs/ 目录
继续修改 mod_fastdfs.conf 文件


 
tracker_server=192.168.1.10:22122 //配置你的服务器ip
group_name=yicheng  // 和之前配置的组织名要一致
url_have_group_name = true // 默认为关闭的 这里修改为true

修改完成之后保存退出。

接着到 /usr/local/nginx/conf 目录
修改nginx.conf文件
添加以下内容在 nginx.conf 文件


 
server{
       listen      88;
       server_name 192.168.1.10;

       location /yicheng/M00 {
           ngx_fastdfs_module;
       }

   }

 

接着可以进入sbin目录进行nginx的启动了
执行命令先检查一下


 
./nginx -t

在这里提示 /var/temp/nginx/ 目录不存在
执行以下命令


 
mkdir /var/temp/nginx -p

再次执行 ./nginx -t
centos7下安装fastDFS(图片管理服务)

发现没问题了,就可以直接启动nginx 了,执行命令

1
./nginx

centos7下安装fastDFS(图片管理服务)

打开浏览器输入IP访问试试
centos7下安装fastDFS(图片管理服务)
说明 nginx 已经成功启动了!!!

接着找一下开始上传成功的那个图片路径,复制到浏览器中访问一下。
centos7下安装fastDFS(图片管理服务)
突然发现还是访问不了这张图片,因为现在我们使用的是nginx 的服务器,上文中有一个fastDFS和nginx 的桥梁配置文件,里面没有配置存放路径。
进入 /etc/fdfs/ 目录,找到 mod_fastdfs.conf 文件,修改它


 
store_path0=/fastdfs/storage

 

保存退出。

接着重启 tracker , storage
centos7下安装fastDFS(图片管理服务)
重启 nginx
centos7下安装fastDFS(图片管理服务)

在浏览器刷新刚刚的url 进行查看!
centos7下安装fastDFS(图片管理服务)

到此,全文结束!


打赏
最近浏览
Anxglee  LV7 2021年5月25日
lslands  LV1 2020年12月30日
cainiao1hao  LV3 2020年11月14日
teslamask  LV1 2020年7月11日
PalyBoy  LV9 2020年5月25日
lelelada  LV8 2020年1月17日
故事_sun  LV26 2020年1月9日
caobb90  LV8 2019年12月20日
Hey_Joy  LV8 2019年12月16日
李小二aa  LV8 2019年12月12日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友