系统: Centos7
环境和依赖
按照后面标注的方式下载或者安装好需要的依赖

系统: centos7

yum install -y gcc-c++    #需要依赖gcc
yum install -y pcre       #用于支持rewrite模块 pcre-8.32-17
yum install -y pcre pcre-devel
yum install -y libevent   #FastDFS依赖libevent库 libevent-2.0.21-4.el7.x86_64
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel   #ssl依赖yum install -y zlib zlib-devel    #用于支持gzip模块 zlib-1.2.7-17.el7.x86_64

libfastcommon-master.zip   #libfastcommon包含了FastDFS运行所需要的一些基础库。https://github.com/happyfish100/libfastcommon/releases

fastdfs-nginx-module_v1.16.tar.gz

FastDFS版本:fastdfs-5.11.zip   #https://github.com/happyfish100/fastdfs/archive/V5.11.zip

Nginx版本:nginx-1.14.tar.gz :

官网下载: http://nginx.org/en/download.html
资源下载地址
链接:https://pan.baidu.com/s/1mZpzLe6ucQLM0SUlt_0zxA
提取码:ethk

安装依赖

可以yum 安装的先直接yum 安装

将所有下载好依赖上传至服务器/download目录

安装libfastcommon

unzip libfastcommon-1.0.39.zip
mv libfastcommon-1.0.39 /usr/local/libfastcommon
cd /usr/local/libfastcommon/
./make.sh    #编译
./make.sh install    #安装

检查确认/usr/lib64 和 /usr/lib 目录下都生成了 libfastcommon.so (有些版本可能/usr/lib下不会生成)

ls /usr/lib64 | grep libfastcommon.so
ls /usr/lib | grep libfastcommon.so

安装tracker

FastDFS由跟踪服务器(tracker server)、存储服务器(storage server)和客户端组成,

fastdfs的tracker 和storage其实用的是同一个服务,只是配置文件不同

Tracker是FastDFS的协调者,负责管理所有的storage server和group

storage server 负责存储服务

cd /download
unzip fastdfs-5.11.zip
mv fastdfs-5.11 /usr/local/FastDFS
cd /usr/local/FastDFS/
./make.sh && ./make.sh install #编译之后接着进行安装

#确认安装成功,没有报错后,拷贝配置文件到/etc/fdfs

cp /usr/local/FastDFS/conf/* /etc/fdfs/

#,进入/etc/fdfs 目录, 如果没有tracker.conf就拷贝一份tracker.conf.sample 去掉sample

cp tracker.conf.sample track.conf

配置tracker.conf ;

vi track.conf # 修改以下配置
#===============
base_path=/home/fastdfs #基础目录,以后的data 和日志目录都会放在此目录下
http.server_port=80 #配置http服务端口,这个端口跟后面nginx的监听端口对应创建目录(目录可能不存在)mkdir /home/fastdfs

启动tracker,运行如下命令:

/usr/bin/fdfs_trackerd /etc/fdfs/track.conf restart
#检查是否启动成功:默认端口22122
ps -ef | grep fdfs
#检查/home/fastdfs下是否生成data / logs 两个目录
ls  /home/fastdfs/

安装storage

fastdfs的tracker 和storage其实用的是同一个服务,只是配置文件不同,我们只需要使用storage的配置文件启动fastdfs即是storage服务

cd /etc/fdfs

#如果没有storage.conf 拷贝一份storage.conf.sample 命名为storage.conf

cp storage.conf.sample  storage.conf

配置storage.conf

vi storage.conf  #修改如下配置
#===========================
group_name=group1 #配置组名,同一个组的storage 互为备份
base_path=/home/fastdfs #基础目录
#store存放文件的位置(store_path), 可以配置多个, 记得创建路径
store_path0=/home/fdfs_storage
#如果有多个挂载磁盘则定义多个store_path,如下
#store_path1=.....
#store_path2=......#配置tracker服务器:IP,阿里云服务器如果需要外部访问请配置公网ip, 不要使用私有ip
tracker_server=192.168.112.130:22122
#如果有多个tracker则配置多个tracker
#tracker_server=192.168.112.131:22122
#配置http端口
http.server_port=80
#==========完===========

创建 /home/fdfs_storage 目录

mkdir -p /home/fdfs_storage

启动storage

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

查看启动是否成功

fdfs_monitor /etc/fdfs/storage.conf   #查看fdfs状态
ps -ef | grep fdfs

查看目录是否创建,/home/fdfs_storage/data 应该会自动生成256个文件夹

ls   /home/fdfs_storage/data

测试上传文件

fastdfs自带了测试客户端,我们可以使用它测试搭建是否成功

cd /etc/fdfs
cp client.conf.sample  client.conf
vim client.conf  #修改如下配置
#=================
base_path=/home/fastdfs
tracker_server=192.168.112.130:22122
#=======完========

#准备一张图片进行测试

/usr/bin/fdfs_test /etc/fdfs/client.conf upload  /download/123.jpg

#一切正常的话会返回图片地址等信息
example file url: http://192.168.112.130/group1/M00/00/00/wKhwgltd_uyAZSPfAAJHNmHqPh0482_big.jpg

检查文件是否存在(文件名被存放在/home/fdfs_storage/data/00/00对应的目录中),如果存在即是保存 OK,此时还无法使用http下载
cd /home/fdfs_storage/data/00/00 #查看是否存在wKhwgltd_uyAZSPfAAJHNmHqPh0482_big.jpg

FastDFS 和Nginx整合

单独的Fastdfs 对http支持不好,所以作为图片服务器,我们一般都会整合Nginx来支持图片的http访问

解压 fastdfs-nginx-module 到 /usr/local目录下;

cd /download

tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
mv fastdfs-nginx-module-master /usr/local/fastdfs-nginx-module
cd /usr/local/fastdfs-nginx-module/src
修改config文件,

将文件中的所有 /usr/local/ 路径改为 /usr/ ,

如果后面步骤中编译nginx报错把下面两项做以下修改

**ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"**

拷贝配置文件到/etc/fdfs

 cp mod_fastdfs.conf  /etc/fdfs/

修改 /etc/fdfs/mod_fastdfs.conf ;

vi /etc/fdfs/mod_fastdfs.conf

#修改以下内容==

base_path=/home/fastdfs  #保存日志的路径
tracker_server=192.168.112.130:22122  #track_server配置的服务端口
url_have_group_name=true        #url中是否包含group名称
store_path0=/home/fdfs_storage  #指定文件存储路径(必须和storage.conf配置相同)

检查/usr/lib 和usr/lib64下是否有 libfdfsclient.so

ls  /usr/lib | grep libfdfsclient.so
ls  /usr/lib64 | grep libfdfsclient.so

创建nginx/client目录

mkdir -p /var/temp/nginx/client

安装nginx

tar -zxvf nginx-1.14.0.tar.gz -C /usr/local/

编译nginx,加入fastdfs模块, 如果之前装过nginx, 需要重新安装

#进入解压目录, 日志目录可自己定义,主要是add-modoule

cd /usr/local/nginx-1.14.0

查看模块(跳过)

/usr/local/nginx/sbin/nginx -V

./configure --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs-nginx-module/src --with-http_stub_status_module --with-http_ssl_module

添加模快

./configure --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs-nginx-module/src --with-http_stub_status_module --with-http_ssl_module

编译并安装

在nginx1.14.0目录下执行

make && make install

编译后在/usr/local下生成nginx 目录

修改nginx 配置文件

vi /usr/local/nginx/conf/nginx.conf
#======添加配置===========server {listen 80;server_name 192.168.112.130;location /group1/M00/ {root /home/fdfs_storage/data;ngx_fastdfs_module;}}

启动nginx

/usr/local/nginx/sbin/nginx

## 检查是否启动成功,不成功就去查看错误日志/var/log/nginx/error.log

ps -ef | grep nginx

关闭防火墙或者添加对应端口

systemctl stop firewalld.service

再次上传一张图片

/usr/bin/fdfs_test /etc/fdfs/client.conf upload /download/123.jpg

得到一个地址example file url: http://192.168.112.130/group1/M00/00/00/wKhwgltekE6AeekMAAJHNmHqPh0069_big.jpg在浏览器中访问该图片:http://192.168.112.130/group1/M00/00/00/wKhwgltekE6AeekMAAJHNmHqPh0069_big.jpg
如果能够正常浏览图片那就大功告成,#查看nginx 日志可以看到访问记录
tail -f  -n 100 /var/log/nginx/access.log原文:https://cloud.tencent.com/developer/article/1459349
在原文基础上修改了部分内容
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210223122650647.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hxbTEzOTk=,size_16,color_FFFFFF,t_70)

linux下fastfds搭建相关推荐

  1. Linux下svn搭建配置流程

    Linux下svn搭建配置流程     一.    源文件编译安装.源文件共两个,为: 1.   下载subversion源文件 subversion-1.6.1.tar.gz http://d136 ...

  2. Linux下svn搭建配置

    Linux下svn搭建配置 1.安装svn客户端    yum install subversion    svnserve --version                       :如果成功 ...

  3. linux怎样搭建DNS服务器,Linux下快速搭建DNS服务器

    摘要 腾兴网为您分享:Linux下快速搭建DNS服务器,作业盒子,优学堂,湘税社保,悟空识字等软件知识,以及初中英语app,新榜编辑器,神界原罪2,少儿英语点读app,minecraft皮肤编辑器, ...

  4. linux进行校时ntp,Linux下快速搭建ntp时间同步服务器

    Linux下快速搭建ntp时间同步服务器 背景: 服务器多了,时间是否一致以及是否准备就显得格外重要,虽然这个问题总是被忽略,但是统一时间是很有必要的,因为时间问题导致服务出现问题也是司空见惯,本文简 ...

  5. Linux下安装搭建Memcached集群环境

    由于项目需要,需要搭建memcached集群环境,遂开始调研相关技术 网络上有不少linux下安装memcached的教程,对于我这个linux零基础的来说,想立马在linux下安装memcached ...

  6. Linux下SVN搭建

    在Linux系统中搭建svn服务所需要用到的软件叫做subversion,可以通过yum来进行安装,如图 安装好软件后第一件事就是创建一个仓库目录 [root@server1 ~]# mkdir /s ...

  7. Linux下SVN搭建与配置

    Linux下SVN+rsync服务器的搭建与配置 SVN作为单独服务器 一:安装与测试 1:安装 http://subversion.tigris.org/downloads/subversion-1 ...

  8. linux下yum搭建lamp,linux下Yum搭建lamp网站架构

    在上节课我用了源代码和免安装软件的两种方式搭建了LAMP架构的网站,今天我们对上一节做个简单的总结: 源代码安装软件是我们Linux下常用的安装方法共分四个步骤: 在上一节我们的数据库就是免安装的.直 ...

  9. linux下简易搭建svnserver

    参考文档: 安装部署: http://www.cnblogs.com/wrmfw/archive/2011/09/08/2170465.html http://www.ha97.com/4467.ht ...

最新文章

  1. 黑马程序员-JAVA基础-IO流之流操作规律及读写转换流
  2. 第九周项目实践2 二叉树遍历的递归算法
  3. 基于MATLAB的SUI信道模型的理论分析与仿真
  4. 2013 ACM/ICPC 亚洲区 杭州站
  5. 关于python的GIL
  6. ES5-14 【utils】三目运算符、对象克隆、浅拷贝、深拷贝
  7. .NET Core 3.1之深入源码理解HealthCheck(二)
  8. MongoDB 数据库创建、删除、表(集合) 创建删除、数据的增、删、改、查
  9. python开发-常见面试题
  10. Lc24两两交换链表
  11. php逆波兰表达式,PHP逆波兰示意与表达式计算
  12. [AHK]AutoHotKey 快速下单脚本,支持东方财富,大智慧,通达信,同花顺
  13. ZZULIOJ:1047: 对数表
  14. 给某个div加一个小三角形
  15. 虚拟机内下载速度慢解决方法汇总
  16. linux查看统计数据命令,查看,统计、正则表达式――Linux基本命令(9)
  17. Android SIM卡识别加载流程
  18. 从事嵌入式软件开发的好处是什么
  19. c语言 大写英文字母
  20. 百度cdn深度优化配置

热门文章

  1. vue 实现tab切换动态加载不同的组件
  2. java斗地主程序制作过程
  3. 惧怕羊毛党?腾讯云为你保驾护航
  4. ionic学习笔记2
  5. python爬取微博非好友圈_python爬取微博好友圈信息
  6. 设置 XShell 的默认全局配色方案
  7. Hessian RMI功能介绍
  8. window下怎么启动redis服务
  9. PCM音频文件格式的头信息
  10. Linux驱动开发-编写PCF8591(ADC)芯片驱动