我是靠谱客的博主 糊涂小刺猬,最近开发中收集的这篇文章主要介绍 fastdfs-服务器搭建1. 安装FastDFS2. 安装nginx与fastdfs-nginx-module,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文件的上传与下载功能在绝大多数项目中都要用到,如果自己去写一个上传与下载服务,是有点难过的,那就尝试一下别人的轮子,说实话,搭建一个这样的服务用了一整天的时间,网上充斥着各种各样的资料,残缺不全...,为了重新演示一下这个过程我装了一个虚拟机,操作系统为ubuntu16.04

摘抄一段别人的话:FastDFS是由淘宝的余庆先生所开发,是一个轻量级、高性能的开源分布式文件系统,用纯C语言开发,包括文件存储、文件同步、文件访问(上传、下载)、存取负载均衡、在线扩容、相同内容只存储一份等功能,适合有大容量存储需求的应用或系统。做分布式系统开发时,其中要解决的一个问题就是图片、音视频、文件共享的问题,分布式文件系统正好可以解决这个需求。同类的分布式文件系统有谷歌的GFS、HDFS(Hadoop)、TFS(淘宝)等。

原理暂时先不说,直接上操作。操作熟练之后再来考虑原理吧。

1. 安装FastDFS

1.1 安装libfastcommon

libfastcommon是FastDFS的一个公共库,在安装FastDFS之前要先安装这个库

  #下载并且解压
  $ wget https://github.com/happyfish100/libfastcommon/archive/master.zip
  $ unzip master.zip
  #编译
  $ ./make.sh
  #安装 
  $ ./make.sh install

clipboard.png

1.2 安装FastDFS

与安装libfastcommon过程类似

  #下载并且解压
  $ wget https://github.com/happyfish100/fastdfs/archive/V5.11.zip
  $ unzip V5.11.zip
  #编译
  $ ./make.sh
  #安装 
  $ ./make.sh install

clipboard.png

1.3 新建目录作为FastDFS文件存储目录

由于现在只有一个Storage所以只需要创建一个目录就可以了,为了方便,我将该目录创建在自己的家目录中

  $ cd /home/charles
  $ mkdir fastdfs

1.4 配置跟踪服务器

其实到1.2结束后FastDFS就已经安装好了,配置文件放置在/etc/fdfs目录下,可执行文件放置在/usr/bin下。配置文件默认是以.sample结尾的,我们需要将其去掉(用到哪个配置文件去掉哪个sample)

clipboard.png

  $ cd /etc/fdfs
  $ mv tracker.conf.sample tracker.conf
  $ vi tracker.conf

#注意:仅修改了如下数据
22: base_path=/home/charles/fastdfs

1.5 配置存储服务器

与1.4相同的方法执行修改操作

  $ cd /etc/fdfs
  $ mv storage.conf.sample storage.conf
  $ vi storage.conf

#注意:仅修改了如下数据
41: base_path=/home/charles/fastdfs
...
109: store_path0=/home/charles/fastdfs
...
#注意,这里的ip为tracker的id地址
118: tracker_server=192.168.15.132:22122

1.6 启动tracker与storage

找到对应的可执行文件执行启动操作即可

  $ cd /usr/bin
  $ ./fdfs_trackerd /etc/fdfs/tracker.conf restart
  $ ./fdfs_storaged /etc/fdfs/storage.conf restart

clipboard.png
启动成功后,如果查看/home/charles/fastdfs可以看到data,logs目录,在data目录中已经具有了文件存储目录结构

clipboard.png

1.7 测试上传

截止目前,fastdfs已经搭建好了,实际上很简单,无非就是linux系统下的软件安装与配置,这里提醒,学好linux是编程的第一步。

1.7.1 修改配置文件client.conf

该配置文件也位于/etc/fdfs目录下

$ mv client.conf.sample client.conf
$ vi client.conf

# 修改了如下数据
10: base_path=/home/charles/fastdfs
14: tracker_server=192.168.15.132:22122

1.7.2 调用fdfs_upload_file命令执行上传操作
同样,fdfs_upload_file命令位于/usr/bin目录下

$ cd /usr/bin
$ ./fdfs_upload_file /etc/fdfs/client.conf /home/briup/tutu.jpeg 

clipboard.png
返回值 group1/M00/00/00/wKgPhFuXVdaAbeLFAADJj3NnELQ56.jpeg表示该文件在fastDFS中的位置。

特别注意: 由于余老师在 V4.05 以后的版本就把内置 HTTP服务去掉了,所以我们测试上传成功了,但是却无法访问。推荐大家结合 Nginx 使用 fastdfs-nginx-module 模块,

2. 安装nginx与fastdfs-nginx-module

2.1 安装nginx依赖

在ubuntu系统中,必须安装zlib,pcre 才能安装nginx

$ sudo apt-get install libpcre3 libpcre3-dev
$ sudo apt-get install zlib1g-dev

2.2 下载fastdfs-nginx-module并且配置

这里我采用git直接从github中克隆下来

$ cd ~
$ git clone https://github.com/happyfish100/fastdfs-nginx-module.git
$ cd fastdfs-nginx-module/src
$ vi config

2.3 安装nginx

官网下载nginx,然后将其拷贝到服务器中

$ tar -xvf nginx-1.14.0.tar.gz
$ cd nginx-1.14.0
$ ./configure --prefix=/usr/local/nginx --add-module=/home/charles/fastdfs-nginx-module/src/
$ make
$ make install

nginx会被安装到/usr/local/nginx中

2.4配置nginx

由于服务器中的80端口被占用,所以修改nginx的端口号为8888

$ cd /usr/local/nginx
$ vi conf/nginx.conf

35: server {
36:         listen       8888;
37:         server_name  192.168.15.132;
38:         ...
            location ~/group([0-9])/M00 {
                ngx_fastdfs_module;
            }
# 修改完成后重新启动
$ ./sbin/nginx -s reload

这时候如果访问你会发现nginx没有响应。这是由于你没有加载插件配置的原因

将fastdfs-5.11/conf中的http.conf与mime.types拷贝到/etc/fdfs目录中以备fastdfs-nginx-module的配置文件调用。

$ cd /home/charles/fastdfs-5.11/conf 
$ cp http.conf /etc/fdfs/
$ cp mime.types /etc/fdfs/

将fastdfs-nginx-module/src中的mod_fastdfs.conf 也拷贝到/etc/fdfs目录中

$ cd /home/charles/fastdfs-nginx-module/src
$ cp mod_fastdfs.conf /etc/fdfs/

修改mod_fastdfs.conf

10  base_path=/home/charles/fastdfs
40  tracker_server=192.168.15.132:22122
52  url_have_group_name = true
61  store_path0=/home/charles/fastdfs

重启nginx即可。

clipboard.png

最后

以上就是糊涂小刺猬为你收集整理的 fastdfs-服务器搭建1. 安装FastDFS2. 安装nginx与fastdfs-nginx-module的全部内容,希望文章能够帮你解决 fastdfs-服务器搭建1. 安装FastDFS2. 安装nginx与fastdfs-nginx-module所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部