fastdfs github地址: https://github.com/happyfish100/

1.FastDFS上传原理
 - storage定时向tracker上传状态信息
 - client上传连接请求到tracker
 - tracker查询可用的storage,并返回storage的ip和端口
 - 上传文件fIlecontent和meta data
 - 生成file_id,将上传的内容写入磁盘,并返回file_id路径和文件名

安装之前先安装所需要的插件

libevent

http://libevent.org/   下载 libevent-2.0.22-stable.tar

libfastcommon

https://github.com/happyfish100/libfastcommon.git   下载libfastcommon

fastdfs

https://sourceforge.net/projects/fastdfs/files/FastDFS%20Server%20Source%20Code/FastDFS%20Server%20with%20PHP%20Extension%20Source%20Code%20V5.08/   下载 fastdfs

一.安装libevent

  解压;tar  -zxvf  libevent-2.0.22-stable.tar.gz

进入目录;
  ./configure --prefix=/usr         配置目录
  make 
  make install
  验证   ls -al /usr/lib |grep libevent

二.安装libfastcommon

unzip libfastcommon-master.zip
  cd  libfastcommon-master 
  ./make.sh
  ./make.sh install

三.安装fastdfs
  解压 tar  -zxvf  FastDFS.tar.gz
  cd FastDFS
  ./make.sh
  ./make.sh install

四.配置 tracker.conf
  cd /etc/fdfs/
  cp tracker.conf.sample tracker.conf
  vi tracker.conf
  base_path=/data/fastdfs/tracker #设置 tracker 的数据文件和日志目录(需预先创建) mkdir -p      /home/fastdfs/tracker 
  store_group=group1   #修改组名

五. 配置 storage.conf
  cp storage.conf.sample storage.conf
  vi storage.conf
  group_name=group1                                          #组名,根据实际情况修改
  base_path=/home/fastdfs/storage          #设置 storage 的日志目录(需预先创建)mkdir -p  /home/fastdfs/storage 
  store_path_count=1                       #存储路径个数,需要和 store_path 个数匹配
  store_path0=/home/fastdfs/storage/datas          #存储路径(需预先创建)mkdir -p  /home/fastdfs/storage/datas
  tracker_server=10.10.10.81:22122                     #tracker 服务器的 IP 地址和端口号
六.配置 client.conf 
  cp client.conf.sample client.conf
  vi client.conf
  base_path=/data/fastdfs/fdfs_client        # 日志路径
  tracker_server=172.16.1.40:22122         # 追踪服务器的IP,有多个服务器可以另一行

启动

启动 fdfs_trackerd /etc/fdfs/tracker.conf
启动 fdfs_storaged /etc/fdfs/storage.conf

重启
[root@fedora15 user]#/usr/local/bin/restart.sh /usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf
[root@fedora15 user]#/usr/local/bin/restart.sh/usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf

停止
直接kill即可让server进程正常退出,可以使用killall命令,例如: 
killall fdfs_trackerd 
killall fdfs_storaged

测试上传
fdfs_upload_file /etc/fdfs/client.conf /etc/a.jpg

七:安装fastdfs-nginx-module(安装之前已经安装好nginx。地址:nginx源码安装

下载 fastdfs-nginx-module_v1.16.tar.gz

地址:https://sourceforge.net/projects/fastdfs/files/FastDFS%20Nginx%20Module%20Source%20Code/

解压   tar -zxvf  fastdfs-nginx-module_v1.16.tar.gz  
   1. 修改文件 xx/fastdfs-nginx-module_v1.16/src/config, 去除CORE_INCS 中的local , 因为fastdfs 和  fastcommon 在/usr/include
   2.  进入nginx 源码目录:cd  /home/mirror/software/java/nginx/nginx-1.11.2
   3. 执行命令:./configure --add-module=/home/mirror/software/java/nginx/fastdfs-nginx-module/src
   4. 执行命令:  make
   5. 执行命令:  make install
八. fastdfs里nginx配置文件
   cd /usr/local/src/fastdfs-nginx-module/src
   cp mod_fastdfs.conf /etc/fdfs
   cd /usr/local/src/FastDFS/conf/
   cp anti-steal.jpg http.conf mime.types /etc/fdfs

九. 配置mod_fastdfs.conf,配置文件加入
  cd /etc/fdfs/
  vim mod_fastdfs.conf
  base_path=/home/fastdfs/storage      #保存日志目录
  tracker_server=10.10.10.80:22122     #tracker 服务器的 IP 地址以及端口号
  storage_server_port=23000            #storage服务器的端口号
  group_name=group1                    #当前服务器的group名
  url_have_group_name = true           #文件url中是否有group 名
  store_path_count=1                   #存储路径个数,需要和store_path 个数匹配
  store_path0=/data/fastdfs/storage    #存储路径
  group_count = 1                      #设置组的个数
  #然后在末尾添加分组信息,目前只有一个分组,就只写一个
  [group1]
  group_name=G1
  storage_server_port=23000
  store_path_count=1
  store_path0=/data/fastdfs/storage

十.nginx配置文件加入

location ~ /group[1-3]/M00 {
                root /data2/;
                ngx_fastdfs_module;
      }

启动nginx  /usr/local/nginx/sbin/nginx

参考资料 :
      http://fredlong.iteye.com/blog/2288039    
      https://www.cnblogs.com/sunmmi/p/5798803.html
      http://www.cnblogs.com/sunmmi/articles/5799692.html

ubuntu16.04安装FastDFS-5.08的更多相关文章

  1. ubuntu16.04安装klee

    ubuntu16.04安装klee(基于llvm 3.8)教程 前言 查阅了很多资料,踩了不少的坑,总的来说,这个应该是比较完善的基于llvm3.8和ubuntu16.04的安装教程,至少我自己按照这 ...

  2. ubuntu16.04安装jdk,tomcat

    ubuntu16.04安装jdk,tomcat 最近装了一下tomcat,网上的教程很多,我也试了很多次,但是有一些教程关于tomcat配置是错误的,让我走上了歧途.差点重装系统,还好王总及时出手帮助 ...

  3. Ubuntu16.04 安装openjdk-7-jdk

    Ubuntu16.04 安装openjdk-7-jdk sudo apt-get install openjdk-7-jre 或者sudo apt-get install openjdk-7-jdk ...

  4. Ubuntu16.04安装GTK3主题:OSX-Arc

    Ubuntu16.04安装GTK3主题:OSX-Arc GTK3主题:OSX-Arc描述: 前几个月,Gnome3.20升3.22的时候,出现了大量主题崩溃的现象,其中包括Arc.Flatabulou ...

  5. Ubuntu16.04安装opencv for python/c++

    Ubuntu16.04安装opencv for python/c++ 网上关于opencv的安装已经有了不少资料,但是没有一篇资料能让我一次性安装成功,因此花费了大量时间去解决各种意外,希望这篇能给一 ...

  6. ubuntu16.04安装不上有道词典的解决办法

    转自:http://www.linuxdiyf.com/linux/21143.html ubuntu16.04安装不上有道词典,提示: le@hu-pc:~/下载$ sudo dpkg -i you ...

  7. Ubuntu16.04安装mongodb

    Ubuntu16.04安装mongodb copy from: http://blog.csdn.net/zhushh/article/details/52451441 1.导入软件源的公钥 sudo ...

  8. 【Tools】ubuntu16.04安装搜狗输入法

    Ubuntu16,04 安装搜狗输入法 1.下载搜狗输入法的安装包 下载地址为:http://pinyin.sogou.com/linux/ 2.按键Ctr+Alt+T打开终端,输入以下命令切换到下载 ...

  9. Ubuntu16.04安装cuda9.0+cudnn7.0

    Ubuntu16.04安装cuda9.0+cudnn7.0 这篇记录拖了好久,估计是去年6月份就已经安装过几遍,然后一方面因为俺比较懒,一方面后面没有经常在自己电脑上跑算法,比较少装cuda和cudn ...

  10. Ubuntu16.04安装TensorFlow及Mnist训练

    版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:460356155@qq.com TensorFlow是Google开发的开源的深度学习框架,也是当前使用最广泛的深度学习框架. 一.安 ...

随机推荐

  1. Quil-delta-enhanced 简介

    Quill 是一款时下非常热门的富文本编辑器,它拥有非常强大的扩展能力,可以让开发者根据自己的需要编写插件,使编辑器支持的内容类型更加丰富.它之所以能够拥有这么强大的扩展能力,一方面是因为它的架构和 ...

  2. 28.4 Calendar 日历

    /* * Calendar:日历,提供了一些操作年月日时的方法 * 获取 * 修改 * 添加 */ public class CalendarDemo { public static void mai ...

  3. vue-cli3 按需引入 element-ui 报错

    报错信息: Cannot find module 'babel-preset-es2015' from .... 解决办法: 安装最新的 Babel 编译插件:@babel/preset-env 修改 ...

  4. mysql 向上取整

    SELECT CEILING(10.0)    --->10 SELECT CEILING(10.1)    --->11

  5. AJ学IOS 之小知识iOS启动动画_Launch Screen的运用

    AJ 分享,必须精品 看下效果吧 例如新浪微博的软件开启时候 就是这个 用Launch image实现 这个不难,就是在Images.xcassets 增加一个LaunchImage文件(右键 new ...

  6. 经典算法之归并排序——python和JS实现

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:韩忠康 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自 ...

  7. CTF中的命令执行绕过

    本位原创作者:Smity 在介绍命令注入之前,有一点需要注意:命令注入与远程代码执行不同.他们的区别在于,远程代码执行实际上是调用服务器网站代码进行执行,而命令注入则是调用操作系统命令进行执行. 作为 ...

  8. 格式化启动盘win10

    我这个(U盘)磁盘被分成了两个区,不能直接格式化 第一步: 第二步: 删除完了之后,选择格式化,ok. 说明:格式化时要选择系统. 常规NTFS  缺点:老设备,比如打印机,监控机识别不了. FAT系 ...

  9. 基于Python的Webservice开发(四)-泛微OA的SOAP接口

    一.功能需求 泛微e-cology可以在流程中调用Webservice接口实现与其他系统的联动等复杂功能.但是目前泛微文档中仅提供了调用的方法,但是没有关于接口的相关开发信息. 本次案例是用Pytho ...

  10. MVC-基础02

    MVC是Model(模型).View(视图)和Controller(控制). 1)最上面的一层,是直接面向最终用户的"视图层"(View).它是提供给用户的操作界面,是程序的外壳. ...