防丢失转载:https://blog.csdn.net/MissEel/article/details/80856194

根据
分布式文件系统 - FastDFS 在 CentOS 下配置安装部署

分布式文件系统 - FastDFS 配置 Nginx 模块及上传测试
一步一步搭建的,但还是碰到了版本太低,导致安装报错的问题。

费时间解决了问题之后,我将这个步骤和对应的版本记录下载,有需要的小伙伴可以参考一下。
用这个步骤,我已经在一部本机的虚拟机和一部阿里云服务器上分别搭建过,并且能上传和下载图片。

搭建单机服务器的还是比较简单的。我分成了两篇来进行记录。

FastDFS搭建单机图片服务器(一)

主要是下载、安装和配置FastDFS相关的组件,实现图片的上传。
FastDFS搭建单机图片服务器(二)

主要是下载、安装和配置nginx相关的组件,实现图片的下载。
一、目录结构
以我下载及安装的路径为例,
下载及安装路径
/usr/local/

创建几个后面能用到的目录
mkdir /home/fastdfs/
mkdir /home/fastdfs/storage
mkdir /home/fastdfs/storage/storage-image
mkdir /home/fastdfs/tracker
mkdir /home/fastdfs/client
mkdir /home/fastdfs/fast-nginx

二、下载安装 libfastcommon
1、进入目录
cd /usr/local

2、下载libfastcommon到/usr/local目录下
wget https://github.com/happyfish100/libfastcommon/archive/master.zip

3、解压压缩包
unzip master.zip

(如果没有unzip,
执行命令yum install unzip 或 apt-get install unzip)

4、cd libfastcommon-master

5、编译
./make.sh
6、安装
./make.sh install

三、下载安装FastDFS
注意!FastDFS版本必须 >= 5.11
不然在后期使用fastdfs-nginx-module模块整合Nginx时候会出错,用了一个上午才明白的血淋淋的教训。
1、进入目录
cd /usr/local
2、下载FastDFS到/usr/local目录下
wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz
3、解压 FastDFS ,命令:
tar -zxvf V5.11.tar.gz

4、进入fastfds-5.11目录
cd fastdfs-5.11

5、编译
./make.sh

如果报错如果报错
../storage/trunk_mgr/trunk_shared.c:435:undefined reference to ‘fc_safe_read’
检查是否libfastcommon版本过低了,1.0.7的版本玩不起来,我更新成最新版本libfastcommon-master,然后再安装fastdfs,问题解决。

6、安装
./make.sh install

四、配置 Tracker 服务
上述安装成功后,在/etc/目录下会有一个fdfs的目录,进入它。会看到三个.sample后缀的文件,这是作者给我们的示例文件,我们需要把其中的tracker.conf.sample文件改为tracker.conf配置文件并修改它。
1、复制重命名配置文件
cd /etc/fdfs
cp tracker.conf.sample tracker.conf

2、打开
vim tracker.conf

主要修改两个参数

base_path=/home/fastdfs/tracker

http.server_port=80
1
2
3
port=22122这个端口参数不建议修改,除非你已经占用它了。

修改完成保存并退出 vim ,这时候我们可以使用
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
来启动 Tracker服务,但是这个命令不够优雅,怎么做呢?

3、使用ln -s 建立软链接:

ln -s /usr/bin/fdfs_trackerd /usr/local/bin

ln -s /usr/bin/stop.sh /usr/local/bin

ln -s /usr/bin/restart.sh /usr/local/bin

4、启动tracker
使用
service fdfs_trackerd start
来优雅地启动 Tracker服务了,比刚才带目录的命令好记太多了。你也可以启动过服务看一下端口是否在监听,命令:

启动服务:service fdfs_trackerd start

查看监听:netstat -unltp|grep fdfs

在阿里云服务器上启动service fdfs_trackerd start报错
Failed to start fdfs_storaged.service: Unit fdfs_storaged.service not found.

在阿里云上面使用
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
启动就是正常的。

重启
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

看到22122端口正常被监听后, Tracker服务安装成功啦!

五、配置 Storage 服务
现在开始配置 Storage 服务,由于我这是单机器测试,你把 Storage 服务放在多台服务器也是可以的,它有 Group(组)的概念,同一组内服务器互备同步,这里不再演示。

1、复制重命名配置文件
cd /etc/fdfs
会看到三个.sample后缀的文件,我们需要把其中的storage.conf.sample文件改为storage.conf配置文件并修改它

cp storage.conf.sample storage.conf

2、打开文件
vim storage.conf

修改几个参数

group_name=group1
base_path=/home/fastdfs/storage/storage-image
store_path0=/home/fastdfs/storage/storage-image
tracker_server=192.168.86.131:22122
1
2
3
4
192.168.86.131改成你的本机ip。

如果部署的是阿里云ECS服务器,
tracker_server=公网ip:22122

stroage的port=23000这个端口参数也不建议修改,默认就好,除非你已经占用它了。
修改完成保存并退出 vim ,这时候我们依然想优雅地启动 Storage服务,带目录的命令不够优雅,这里还是使用ln -s 建立软链接。

3、建立软链接
ln -s /usr/bin/fdfs_storaged /usr/local/bin

4、启动storage
service fdfs_storaged start

在阿里云上面使用
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
启动就是正常的。

注:在阿里云上进行配置,storaged可能会启动失败,需要配置云服务器实例安全组,添加安全组配置,打开22122和23000端口。

然后关闭系统防火墙:systemctl stop firewalld.service

启动成功后可以配置开机自动启动:

vim /etc/rc.local

在打开的文件中添加:

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

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

退出保存即可。

5、查看是否正常启动
netstat -unltp|grep fdfs
如果22122和23000端口都在监听,则启动正常了。

六、尝试通信
到这一步已经正常启动了tracker和storage服务。
指定命令尝试两者进行通信
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

启动正常的话,就可上传图片了,但是目前还无法下载。

继续完成下一篇的步骤
FastDFS搭建单机图片服务器(二)
主要是下载、安装和配置nginx相关的组件,实现图片的下载。
-

FastDFS搭建单机图片服务器(一)的更多相关文章

  1. FastDFS搭建单机图片服务器(二)

    防丢失转载:https://blog.csdn.net/MissEel/article/details/80856194 根据 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署 和 ...

  2. 搭建Nginx图片服务器

    搭建Nginx图片服务器 Part-I 安装Nginx 安装PCRE 下载 ngx_cache_purge 并解压,用来清除缓存 下载Nginx并解压 cd nginx-1.7.7 编译,--pref ...

  3. Python中使用Flask、MongoDB搭建简易图片服务器

    主要介绍了Python中使用Flask.MongoDB搭建简易图片服务器,本文是一个详细完整的教程,需要的朋友可以参考下 1.前期准备 通过 pip 或 easy_install 安装了 pymong ...

  4. 第一次项目上Linux服务器(八:——搭建Nginx图片服务器)

    一.准备工作 安装Nginx,参考历史博客 二.搭建Nginx图片服务器 1.效果 例如:图片通过xftp服务上传到/home/java/upload目录下,我想通过访问Nginx服务器来访问xftp ...

  5. 【图片服务器】搭建Nginx图片服务器

    一.安装Nginx 二.安装vsftpd 三.开始搭建Nginx图片服务器 1.效果 例如:图片通过ftp服务上传到/home/ftpuser/www/images目录下,我想通过访问Nginx服务器 ...

  6. Windows下搭建Nginx图片服务器

    在项目最开始,上传图片的时候,服务器先保存原图再使用ImageMagick生成上传图片缩略图,这种方法有很多缺点,例如生成的缩略图的大小是固定的,不能动态请求指定大小的缩略图. 虽然有非常多的图片云存 ...

  7. 转:Linux下使用Nginx搭建简单图片服务器

    最近经常有人问图片上传怎么做,有哪些方案做比较好,也看到过有关于上传图片的做法,但是都不是最好的,今天再这里简单讲一下Nginx实现上传图片以及图片服务器的大致理念. 如果是个人项目或者企业小项目,仅 ...

  8. 基于Docker搭建Nginx图片服务器

    前言 一般开发中,都会把图片上传到一个目录,然后将目录和文件名拼接存储在数据库中,但是,这种方法如果没弄好的话可能有一定的缺陷. 若项目搬迁,即时这台服务器本身还在用,存放在服务器的跟项目相关的图片也 ...

  9. 搭建Nginx图片服务器(Linux)

    知识点: 在Linux系统上安装Nginx服务器,配置图片访问路径 通过ftp上传图片到,指定路径,通过浏览器访问指定路径中的图片 参考博客:http://blog.csdn.net/maoyuanm ...

随机推荐

  1. 使用QT创建系统托盘

    使用QT来创建一个系统托盘,事实上是一件很简单的事.为什么这么说?一是因为QT文档给出了比较详细的例子,二是QT的结构比较优雅,设计风格统一.但是在动手之前,我们要从哪里下手?虽然QT文档给出了一个比 ...

  2. IO流一

    1 Java IO原理 I/O是input/output的缩写,IO技术是非常实用的技术,用于处理设备之间的数据传输.如读写文件,网络通讯等. Java程序中,对于数据的输入输出操作以“流Stream ...

  3. canvas在图片上生成文字

    newImage(text) {                 // 生成图片                 var imageBox = document.getElementById(&quo ...

  4. List常用操作 - List.FindAll / List.Sort

    List常用操作 (1) 筛选List中符合条件的项目 var list = FormControlList.FindAll(delegate (FormControlModel obj) { ret ...

  5. 舞蹈课(dancingLessons)

    有n个人参加一个舞蹈课.每个人的舞蹈技术由整数ai来决定.在舞蹈课的开始,他们从左到右站成一排.当这一排中至少有一对相邻的异性时,舞蹈技术相差最小的那一对会出列并开始跳舞.如果相差最小的不止一对,那么 ...

  6. 【bzoj3463】[COCI2012] Inspector

    *题目描述: 在一个小国家中,一个新的小镇终于建成了!如往常一样,Mirko获得了“首席税务巡查员”的职位.他的任务是保证正确地计算各公司的收入情况.一共有N家办公室坐落在主干道上,从左到右被编号为1 ...

  7. 730KII 打印机 Win7 2017年11月更新系统补丁后无法打印

    卸载11月份编号为KB4048960的系统更新

  8. 大数据笔记(二十)——NoSQL数据库之MemCached

    一.为什么要把数据存入内存? 1.原因:快2.常见的内存数据库 (*)MemCached:看成Redis的前身,严格来说Memcached的不能叫数据库,原因:不支持持久化 (*)Redis:内存数据 ...

  9. python3下multiprocessing、threading和gevent性能对比----暨进程池、线程池和协程池性能对比

    python3下multiprocessing.threading和gevent性能对比----暨进程池.线程池和协程池性能对比   标签: python3 / 线程池 / multiprocessi ...

  10. 解决Firefox已阻止运行早期版本Adobe Flash

      解决Firefox已阻止运行早期版本Adobe Flash     类别    [随笔分类]web   解决Firefox已阻止运行早期版本Adobe Flash   最近火狐浏览器不知抽什么风, ...