FastDFS部署安装全过程
你好!欢迎阅读我的博文,你可以跳转到我的个人博客网站,会有更好的排版效果和功能。
此外,本篇博文为本人Pushy原创,如需转载请注明出处:https://pushy.site/posts/1532055928
1. 准备工作
1.1 下载工具
该部署教程的所有工具都能在https://pan.baidu.com/s/1U8nXJycYqGo1ChStbszr1w找到
1.2 安装libevent
libevent是一个基于事件触发的网络库,能够对并发编程提供支持,避免竞态条件,同时具有高性能、由时间驱动的优点。
$ sudo apt-get install libevent-dev
2. 开始部署
2.1 安装libfastcommon
解压libfastcommon
后进入文件进行编译:
$ unzip libfastcommon-master.zip
$ cd libfastcommon-master
$ ./make
$ sudo ./make install
2.2 安装Tracker服务
解压fastdfs
压缩包进入文件夹进行编译:
$ tar -zxvf fastdfs-5.10.tar.gz
$ ./make.sh
$ sudo ./make.sh install
编译完了之后/etc/fdfs文件夹下会有Fastdfs的配置文件,如果没有该文件夹,则把FastDFS根目录下的/conf目录下的所有的配置文件都复制到/etc/fdfs
配置Tracker
文件下下的tracker.conf.sample
是配置的实例文件,需要复制一份并命名为tracker.conf
,然后修改配置文件:
$ sudo cp tracker.conf.sample tracker.conf
$ sudo vim tracker.conf
将base_path
修改为自己的路径,并且该绝对路径必须存在,这里修改为/home/pushy/fastdfs
,修改好了之后保存文件。
启动Tracker
$ sudo /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
启动完成后,通过netstat -unltp
查看端口的监听情况,可以看到22122
端口正常被监听,说明Tracker服务安装成功了:
2.3 安装Storage服务
配置storage
同样复制storage.conf.sample
文件为storage.conf
到当前文件夹,并且修改配置文件:
$ sudo cp storage.conf.sample storage.conf
$ sudo vim storage.conf
- 修改storage服务日志存放路径
base_path
,路径必须存在,这里修改为/home/pushy/fastdfs
- 修改图片保存的路径
store_path0
,路径必须存在,这里修改为/home/pushy/fastdfs
;然后修改指定Tracker服务器的ip及端口号,这里的ip号不能修改为localhost
,而是通过ifconfig
查看的局域网ip
,端口默认为22122
。
启动storage服务
$ sudo /usr/bin/fdfs_storaged /etc/fdfs/storage.conf
同样通过netstat -unltp
命令查看storege
服务23000
端口的监听情况,如果正常监听则说明启动成功
我们安装配置并启动了 Tracker 和 Storage 服务,也没有报错了。那他俩是不是在通信呢?我们可以监视一下:
$ /usr/bin/fdfs_monitor /etc/fdfs/storage.conf
如果出现下图的情况则说明安装成功,而且Tracker 和 Storage正常通信。
测试服务
还是将配置文件复制一份:
$ sudo cp client.conf.sample client.conf
$ sudo vim client.conf
修改client.conf
配置文件,修改将客户端日志文件保存路径base_path
,这里修改为:/home/pushy/fastdfs/client
;并且修改Tracker的服务器IP和地址。
执行命令进行上传测试:
$ /usr/bin/fdfs_upload_file /etc/fdfs/client.conf ~/test.jpg
如果返回ID号则测试成功
group1/M00/00/00/wKiRiVtQBwmAF4AEACsWhwfBzc0490.jpg
3. 安装 Nginx 和配置映射
网上的大多数教程都手动编译Nginx并且添加fastdfs-nginx-module
插件,实际上不需要该插件也是可以正常的映射,访问图片的。
3.1 安装Nginx
$ sudo apt-get install nginx
3.2 配置映射
$ sudo cd /etc/nginx/conf.d
$ sudo vim fastdfs.conf
添加下面的server配置,直接通过alias
映射到storage的路径下:
server {
listen 80;
server_name storage.example.com;
location /group1/M00/ {
# 这里配置前面配置的storage data的路径
alias /home/pushy/fastdfs/data/;
}
}
重启Nginx:
$ nginx -s reload
重启好了之后就可以通过http://storage.example.com/group1/M00/00/00/wKiRiVtQBwmAF4AEACsWhwfBzc0490.jpg
访问到图片了
参考资料
FastDFS部署安装全过程的更多相关文章
- FastDFS安装全过程记录(V5.05)
FastDFS安装全过程记录 1.安装准备 HA虚拟IP:192.168.1.208 HA软件:Keepalived 操作系统:CentOS 7 用户:root 数据目录:/data/fastdfs ...
- 01.FastDFS的安装部署
1.FastDFS简介 (1)FastDFS的功能介绍 FastDFS是一个开源的分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负 ...
- Android 开发环境在 Windows7 下的部署安装
Android SDK Android SDK 为 Android 应用的开发.测试和调试提了必要的API库和开发工具. ADT Bundle 下载 如果你是一个android 开发新手,推荐你下载使 ...
- Windows系统下部署安装一个/多个Tomcat8
首先从http://tomcat.apache.org/上下载Tomcat8.0压缩版的,解压到指定路径后即可. 第一:在Windows系统中安装部署单个Tomcat 对于这种情况, ...
- Zabbix监控windows部署安装
Zabbix agent 在windows上安装部署 1. 下载与解压 地址: http://www.zabbix.com/downloads/2.4.0/zabbix_agents_2.4.0.w ...
- Hadoop 2.2.0部署安装(笔记,单机安装)
SSH无密安装与配置 具体配置步骤: ◎ 在root根目录下创建.ssh目录 (必须root用户登录) cd /root & mkdir .ssh chmod 700 .ssh & c ...
- FASTDFS 5X安装
FASTDFS 5X安装 http://www.wingdevops.com/?p=603 流行的开源分布式文件系统有很多,FastDFS 是国人在mogileFS的基础上进行改进的key-value ...
- CentOS 6.0图解网络安装全过程
转自CentOS 6.0图解网络安装全过程 国内镜像站点(东北大学.网易) 网易镜像站点:http://mirrors.163.com/centos/6.0/isos/ 中科大镜像站点:http:// ...
- _00024 尼娜抹微笑伊拉克_云计算ClouderaManager以及CHD5.1.0群集部署安装文档V1.0
笔者博文:妳那伊抹微笑 itdog8 地址链接 : http://www.itdog8.com(个人链接) 博客地址:http://blog.csdn.net/u012185296 博文标题:_000 ...
随机推荐
- WebDriverAPI(1)
访问某网页地址 被测网址http:http://www.baidu.com Java语言版本的API实例代码 方法一: @Test public void visitURL(){ String bas ...
- (转)ASCII码对照表—在线工具
原文:https://www.sojson.com/asciitable.html 最全的ASCII码对照表--------https://blog.csdn.net/jinduozhao/artic ...
- android动态权限获取
android动态权限获取 Android6.0采用新的权限模型,只有在需要权限的时候,才告知用户是否授权,是在runtime时候授权,而不是在原来安装的时候 ,同时默认情况下每次在运行时打开页面时候 ...
- android开发中的 Activity 与 Context 区别与联系
Context 是 Application /Activity /Service的基类 Intent(Context , Class); Activity中的上下文Context是随着活动的产生而产生 ...
- 【Java并发编程】:volatile变量修饰符
volatile用处说明 在JDK1.2之前,java的内存模型实现总是从主存(即共享内存)读取变量,是不需要进行特别的注意的.而随着JVM的成熟和优化,现在在多线程环境下volatile关键 ...
- 3DES在Android、Ios 和Java 平台的加密解密
DES简介: DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法, 算法的入口参数有三个:Key.Data.Mode. K ...
- C++中各种类的大小
注:本文测试实例使用的编译器版本为clang-703.0.29,系统int长度为4字节,指针长度为8字节. 1. 空类 class A {}; 空类sizeof的结果为1,为什么不是0呢?因为C++标 ...
- 简述C和C++的学习历程
总是被问到,如何学习C和C++才不茫然,才不是乱学,想了一下,这里给出一个总的回复. 一家之言,欢迎拍砖哈. 1.可以考虑先学习C. 大多数时候,我们学习语言的目的,不是为了成为一个语言专家,而是希望 ...
- 在商城系统中使用设计模式----简单工厂模式之在springboot中使用简单工厂模式
1.前言: 不了解简单工厂模式请先移步:在商城中使用简单工厂.在这里主要是对springboot中使用简单工厂模式进行解析. 2.问题: 什么是简单工厂:它的实现方式是由一个工厂类根据传入的参数,动态 ...
- Hadoop提交作业流程
一 .需要知道的内容 1.ResourceManager ------>yarn的老大 2.NodeManager ------>yarn的小弟 3.ResourceMana ...