ubuntu1804搭建fastdfs

任务目标:搭建fastdfs

目标环境:ubuntu1804

 

安装环境

安装libfastcommon

#下载并且解压

$ wget https://github.com/happyfish100/libfastcommon/archive/master.zip

$ unzip master.zip

#编译

$ ./make.sh

#安装

$ ./make.sh install

建立软连接

# ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so

扫描二维码关注公众号,回复: 6478956 查看本文章

# ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so

# ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so

# ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

 

安装FastDFS

#下载并且解压

$ wget https://github.com/happyfish100/fastdfs/archive/V5.11.zip

$ unzip V5.11.zip

#编译

$ ./make.sh

#安装

$ ./make.sh install

建立软链接:

# ln -s /usr/bin/fdfs_trackerd   /usr/local/bin
# ln -s /usr/bin/fdfs_storaged   /usr/local/bin
# ln -s /usr/bin/stop.sh         /usr/local/bin
# ln -s /usr/bin/restart.sh      /usr/local/bin

 

配置服务

创建目录结构:

配置Tracker、Storage、Client、HTTP服务:

进入/etc/fdfs目录。会看到三个.sample后缀的文件,均是作者给我们的示例文件,我们需要将其中的tracker.conf.sample文件改为tracker.conf配置文件并修改它

cd /etc/fdfs

ls

cp tracker.conf.sample tracker.conf # 配置跟踪文件

vi tracker.conf # 进入conf文件

 

启动:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf

配置Storage服务

cd /etc/fdfs

cp storage.conf.sample storage.conf # 修改存储路径

vi storage.conf # 修改存储文件

启动服务,查看监听:

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

netstat -unltp|grep fdfs #查看服务

 

配置Client服务:

cd /etc/fdfs

cp client.conf.sample client.conf #修改客户端路径文件

vi client.conf

配置HTTP服务:

测试Tracker 和 Storage 服务通信:

/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

 

安装nginx

配置nginx

root@vm-ubuntu:/software/nginx-1.10.1# ls

auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  Makefile  man  objs  README  src

root@vm-ubuntu:/software/nginx-1.10.1# ./configure --add-module=/software/fastdfs-nginx-module-master/src

编译:

root@vm-ubuntu:/software/nginx-1.10.1# make

出错:

cc1: all warnings being treated as errors

objs/Makefile:467: recipe for target 'objs/src/core/ngx_murmurhash.o' failed

make[1]: *** [objs/src/core/ngx_murmurhash.o] Error 1

make[1]: Leaving directory '/software/nginx-1.10.1'

Makefile:8: recipe for target 'build' failed

make: *** [build] Error 2

解决:root@vm-ubuntu:/software/nginx-1.10.1# vi objs/Makefile

出错:

/usr/include/fastdfs/fdfs_define.h:15:27: fatal error: common_define.h: No such file or directory

解决:

root@vm-ubuntu:/software/nginx-1.10.1# vi ../fastdfs-nginx-module-master/src/config

编译成功:

安装:

root@vm-ubuntu:/software/nginx-1.10.1# make install

安装目录:

启动nginx:

查看nginx进程:

配置mod-fastdfs.conf,并拷贝到/etc/fdfs文件目录下:

以下是编辑内容:

把fastdfs-5.05下面的配置中还没有存在/etc/fdfs中的拷贝进去:

配置Nginx,编辑nginx.config

由于我们配置了group1/M00的访问,我们需要建立一个group1文件夹,并建立M00到data的软链接。

重启nginx:

测试上传图片及浏览器显示

 

 

 

补充修改(更换项目目录以及IP地址)

目录:

storage.conf

mod_fastdfs.conf

Nginx.conf

 

常用命令

启动:

$ sudo /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf

$ sudo /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

 

关闭fastdfs:

killall fdfs_trackered

killall fdfs_storaged

 

查看运行状态:$ sudo netstat -unltp|grep fdfs

监控状态:fdfs_monitor /etc/fdfs/storage.conf

上传文件:/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /opt/02.jpg

启动nginx:$ sudo /usr/local/nginx/sbin/nginx

测试上传:fdfs_test /etc/fdfs/client.conf upload test.txt

 

概念

什么是主从文件

主从文件是指文件ID有关联的文件,一个主文件可以对应多个从文件。

主文件ID = 主文件名 + 主文件扩展名

从文件ID = 主文件名 + 从文件后缀名 + 从文件扩展名

使用主从文件的一个典型例子:以图片为例,主文件为原始图片,从文件为该图片的一张或多张缩略图。

FastDFS中的主从文件只是在文件ID上有联系。FastDFS server端没有记录主从文件对应关系,因此删除主文件,FastDFS不会自动删除从文件。

删除主文件后,从文件的级联删除,需要由应用端来实现。

主文件及其从文件均存放到同一个group中。

主从文件的生成顺序:

1)先上传主文件(如原文件),得到主文件ID

2)然后上传从文件(如缩略图),指定主文件ID和从文件后缀名(当然还可以同时指定从文件扩展名),得到从文件ID

 

Python & fastdfs

安装(https://github.com/jefforeilly/fdfs_client-py

  1. $ git clone https://github.com/jefforeilly/fdfs_client-py.git
  2. $ sudo python3 setup.py install
  3. $ pip3 install mutagen
  4. 测试

1. import fdfs_client.client module

2. instantiate class Fdfs_client

3. call memeber functions

 

>>> from fdfs_client.client import *

>>> client = Fdfs_client('/etc/fdfs/client.conf')

>>> ret = client.upload_by_filename('test')

 

猜你喜欢

转载自blog.csdn.net/weixin_43279476/article/details/87789715