你好!欢迎阅读我的博文,你可以跳转到我的个人博客网站,会有更好的排版效果和功能。

此外,本篇博文为本人Pushy原创,如需转载请注明出处:https://pushy.site/posts/1532055928

1. 准备工作

1.1 下载工具

该部署教程的所有工具都能在https://pan.baidu.com/s/1U8nXJycYqGo1ChStbszr1w找到

1.2 安装libevent

libevent是一个基于事件触发的网络库,能够对并发编程提供支持,避免竞态条件,同时具有高性能、由时间驱动的优点。

  1. $ sudo apt-get install libevent-dev

2. 开始部署

2.1 安装libfastcommon

解压libfastcommon后进入文件进行编译:

  1. $ unzip libfastcommon-master.zip
  2. $ cd libfastcommon-master
  3. $ ./make
  4. $ sudo ./make install

2.2 安装Tracker服务

解压fastdfs压缩包进入文件夹进行编译:

  1. $ tar -zxvf fastdfs-5.10.tar.gz
  2. $ ./make.sh
  3. $ sudo ./make.sh install

编译完了之后/etc/fdfs文件夹下会有Fastdfs的配置文件,如果没有该文件夹,则把FastDFS根目录下的/conf目录下的所有的配置文件都复制到/etc/fdfs

配置Tracker

文件下下的tracker.conf.sample是配置的实例文件,需要复制一份并命名为tracker.conf,然后修改配置文件:

  1. $ sudo cp tracker.conf.sample tracker.conf
  2. $ sudo vim tracker.conf

base_path修改为自己的路径,并且该绝对路径必须存在,这里修改为/home/pushy/fastdfs,修改好了之后保存文件。

启动Tracker

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

启动完成后,通过netstat -unltp查看端口的监听情况,可以看到22122端口正常被监听,说明Tracker服务安装成功了:

2.3 安装Storage服务

配置storage

同样复制storage.conf.sample文件为storage.conf到当前文件夹,并且修改配置文件:

  1. $ sudo cp storage.conf.sample storage.conf
  2. $ sudo vim storage.conf
  • 修改storage服务日志存放路径base_path,路径必须存在,这里修改为/home/pushy/fastdfs

  • 修改图片保存的路径store_path0,路径必须存在,这里修改为/home/pushy/fastdfs;然后修改指定Tracker服务器的ip及端口号,这里的ip号不能修改为localhost,而是通过ifconfig查看的局域网ip,端口默认为22122

启动storage服务

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

同样通过netstat -unltp命令查看storege服务23000端口的监听情况,如果正常监听则说明启动成功

我们安装配置并启动了 Tracker 和 Storage 服务,也没有报错了。那他俩是不是在通信呢?我们可以监视一下:

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

如果出现下图的情况则说明安装成功,而且Tracker 和 Storage正常通信。

测试服务

还是将配置文件复制一份:

  1. $ sudo cp client.conf.sample client.conf
  2. $ sudo vim client.conf

修改client.conf配置文件,修改将客户端日志文件保存路径base_path,这里修改为:/home/pushy/fastdfs/client;并且修改Tracker的服务器IP和地址。

执行命令进行上传测试:

  1. $ /usr/bin/fdfs_upload_file /etc/fdfs/client.conf ~/test.jpg

如果返回ID号则测试成功

  1. group1/M00/00/00/wKiRiVtQBwmAF4AEACsWhwfBzc0490.jpg

3. 安装 Nginx 和配置映射

网上的大多数教程都手动编译Nginx并且添加fastdfs-nginx-module插件,实际上不需要该插件也是可以正常的映射,访问图片的。

3.1 安装Nginx

  1. $ sudo apt-get install nginx

3.2 配置映射

  1. $ sudo cd /etc/nginx/conf.d
  2. $ sudo vim fastdfs.conf

添加下面的server配置,直接通过alias映射到storage的路径下:

  1. server {
  2. listen 80;
  3. server_name storage.example.com;
  4. location /group1/M00/ {
  5. # 这里配置前面配置的storage data的路径
  6. alias /home/pushy/fastdfs/data/;
  7. }
  8. }

重启Nginx:

  1. $ nginx -s reload

重启好了之后就可以通过http://storage.example.com/group1/M00/00/00/wKiRiVtQBwmAF4AEACsWhwfBzc0490.jpg访问到图片了

参考资料

Linux下FastDFS图片服务器的搭建

FastDFS安装全过程记录

FastDFS之——集群的安装、 配置、 使用

Nginx安装

FastDFS部署安装全过程的更多相关文章

  1. FastDFS安装全过程记录(V5.05)

    FastDFS安装全过程记录 1.安装准备 HA虚拟IP:192.168.1.208 HA软件:Keepalived 操作系统:CentOS 7 用户:root 数据目录:/data/fastdfs ...

  2. 01.FastDFS的安装部署

    1.FastDFS简介 (1)FastDFS的功能介绍 FastDFS是一个开源的分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负 ...

  3. Android 开发环境在 Windows7 下的部署安装

    Android SDK Android SDK 为 Android 应用的开发.测试和调试提了必要的API库和开发工具. ADT Bundle 下载 如果你是一个android 开发新手,推荐你下载使 ...

  4. Windows系统下部署安装一个/多个Tomcat8

    首先从http://tomcat.apache.org/上下载Tomcat8.0压缩版的,解压到指定路径后即可.  第一:在Windows系统中安装部署单个Tomcat         对于这种情况, ...

  5. Zabbix监控windows部署安装

    Zabbix agent 在windows上安装部署 1.  下载与解压 地址: http://www.zabbix.com/downloads/2.4.0/zabbix_agents_2.4.0.w ...

  6. Hadoop 2.2.0部署安装(笔记,单机安装)

    SSH无密安装与配置 具体配置步骤: ◎ 在root根目录下创建.ssh目录 (必须root用户登录) cd /root & mkdir .ssh chmod 700 .ssh & c ...

  7. FASTDFS 5X安装

    FASTDFS 5X安装 http://www.wingdevops.com/?p=603 流行的开源分布式文件系统有很多,FastDFS 是国人在mogileFS的基础上进行改进的key-value ...

  8. CentOS 6.0图解网络安装全过程

    转自CentOS 6.0图解网络安装全过程 国内镜像站点(东北大学.网易) 网易镜像站点:http://mirrors.163.com/centos/6.0/isos/ 中科大镜像站点:http:// ...

  9. _00024 尼娜抹微笑伊拉克_云计算ClouderaManager以及CHD5.1.0群集部署安装文档V1.0

    笔者博文:妳那伊抹微笑 itdog8 地址链接 : http://www.itdog8.com(个人链接) 博客地址:http://blog.csdn.net/u012185296 博文标题:_000 ...

随机推荐

  1. 数据输入——生成你需要的echart图(堆积柱状图、扇形图、嵌套环形图)

    最近论文需要一些比较直观的图表, 发现echart做出来的图还是比较美观的,这里介绍如何修改数据生成你需要的echart图. 1.堆积柱状图: http://echarts.baidu.com/exa ...

  2. 【Java并发编程】:守护线程与线程阻塞的四种情况

    守护线程 JAVA中有两类线程:User Thread(用户线程).Daemon Thread(守护线程) 用户线程即运行在前台的线程,而守护线程是运行在后台的线程. 守护线程作用是为其他前台线程的运 ...

  3. Linux 上安装 Couchbase服务

    down: http://www.couchbase.com/downloads/ doc:  http://docs.couchbase.com/archive-index/ forums: htt ...

  4. 关于 IOC和spring基本配置详解

    Spring 中的两个概念 IOC控制反转(也叫依赖注入DI): AOP面向切面编程: 控制反转:当某个java对象需要(依赖)另一个java对象是,不是直接创建依赖对象,而是由实现IOC的容器来创建 ...

  5. Chapter 3 Phenomenon——2

    I had enough trouble not falling down when the ground was dry; it might be safer for me to go back t ...

  6. 数据库-转换sql语句

    文章描述:主要说明转换成SQL语句的过程.----必要信息(数据库名,表名,条件)转换成SQL语句 一些界面上数据增删改查的操作往往只需要输入一数据库名,表名,加条件就可以进行数据查询了,在这背后是怎 ...

  7. MVC与MVVM设计模式理解

    MVC设计模式(View和Model之间不能直接通信) MVC是一种架构模式,M表示Model,V表示视图View,C表示控制器Controller: Model负责存储.定义.操作数据.从网络中获取 ...

  8. 前端性能优化---缓存篇SDK

    1.把前端最常用的资源css.js存在本地1.1  前端缓存技术SessionStorage 优点:临时存储神器,关闭页面标签自动回收,不可以跨页面交互. 取值的时候有两种方法,一种是用session ...

  9. UIKit 框架之UIAlertController

    IOS8之后增加了UIAlertController类,它可以表示UIAlertView和UIActionSheet.它继承自UIViewController. - (BOOL)application ...

  10. Java Date SimpleDateFormat

    public static void main(String[] args) { long millis = 1492741275301L; Calendar calendar = Calendar. ...