centos7下的FastDFS5.09的安装与使用
FastDFS是一款开源的轻量级分布式文件系统,纯C实现,支持Linux、FreeBSD等Unix系统。
类google FS,不是通用的文件系统,只能通过专有API访问。
FastDFS服务端有两种角色:跟踪器(tracker)和存储节点(storage)。
tracker主要做调度工作,在访问上起负载均衡的作用,在内存中记录集群中group和storage的状态信息,是连接client和storage的枢纽。
storage存储服务器,文件和文件属性都保存到存储服务器上。
一、安装fastdfs
下载libfastcommon包
- https://github.com/happyfish100/libfastcommon/releases
下载fastdfs源码包
- https://github.com/happyfish100/fastdfs/releases
安装libfastcommon
- > tar xf libfastcommon-1.0.7.tar.gz
- > cd libfastcommon-1.0.7
- > ./make.sh
- > ./make.sh install
安装fastdfs
- > tar xf fastdfs-5.09.tar.gz
- > cd fastdfs-5.09
- > ./make.sh
- > ./make.sh install
如果出现ioevent.h:82:2: #error port me这样的错误,请下载最新版的libfastcommon并安装。
二、环境说明
创建两台虚拟主机,IP分别为192.168.1.222和192.168.1.233,分别安装fastdfs。
三、fastdfs的配置文件
配置文件默认在/etc/fdfs下
默认脚本在/etc/init.d下
创建两个目录,用来存放数据
- > mkdir -p /data/fdfs_tracker
- > mkdir -p /data/fdfs_storage
复制配置文件
- > cd /etc/fdfs
- > cp storage.conf.sample storage.conf
- > cp tracker.conf.sample tracker.conf
跟踪器的配置文件tracker.conf
- #绑定IP
- bind_addr=
- #端口
- port=22122
- #连接超时时间
- connect_timeout=30
- #日志数据路径
- base_path=/data/fdfs_tracker
- #上传文件时选择group的方法
- #0:轮询,1:指定组,2:选择剩余空间最大
- store_lookup=2
- #如果上面的配置是1,那么这里必须指定组名
- store_group=group2
- #上传文件时选择server的方法
- #0:轮询,1:按IP地址排序,2:通过权重排序
- store_server=0
- #storage上预留空间
- reserved_storage_space = 10%
存储节点的配置文件storage.conf
- #storage server所属组名
- group_name=group1
- #绑定IP
- bind_addr=
- #storage server的端口
- port=23000
- #连接超时时间
- connect_timeout=30
- #日志数据路径
- base_path=/data/fdfs_storage/base
- #storage path的个数
- store_path_count=2
- #根据store_path_count的值,就要有storage0到storage(N-1)个
- store_path0=/data/fdfs_storage/storage0
- store_path1=/data/fdfs_storage/storage1
- #跟踪服务器
- tracker_server=192.168.1.222:22122
- tracker_server=192.168.1.233:22122
创建目录,不然会出错
- > mkdir -p /data/fdfs_storage/base
- > mkdir -p /data/fdfs_storage/storage0
- > mkdir -p /data/fdfs_storage/storage1
启动服务
- > /etc/init.d/fdfs_trackerd start
- > /etc/init.d/fdfs_storaged start
查看服务是否启动
- > ps -ef|grep fdfs
- > netstat -nltp
四、测试fastdfs
配置client文件
- > cd /etc/fdfs
- > cp client.conf.sample client.conf
- > vi client.conf
- #存放日志目录
- base_path=/data/client
- #跟踪服务器
- tracker_server=192.168.1.222:22122
- tracker_server=192.168.1.233:22122
创建client目录
- > mkdir -p /data/client
通过fdfs_upload_file来测试(如果发生错误,请查看防火墙)
- > echo "12345678" >> /data/1.txt
- > fdfs_upload_file /etc/fdfs/client.conf /data/1.txt
通过fdfs_download_file下载我们刚上传的文件
- > fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/wKgB3li3a2mAejYPAAAADok0NhY177.txt
查看文件信息
- > fdfs_file_info /etc/fdfs/client.conf group1/M00/00/00/wKgB3li3a2mAejYPAAAADok0NhY177.txt
追加文件
- > echo "hello" >> /data/2.txt
- > fdfs_upload_appender /etc/fdfs/client.conf /data/1.txt
- > fdfs_append_file /etc/fdfs/client.conf group1/M00/00/00/wKgB3li3bxCEAcqhAAAAAIk0NhY869.txt /data/2.txt
删除文件
- > fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wKgB3li3a2mAejYPAAAADok0NhY177.txt
查看集群
- > fdfs_monitor /etc/fdfs/client.conf
五、fastdfs的nginx模块
下载pcre和nginx源码包
- https://ftp.pcre.org/pub/pcre/
如:pcre-8.40.tar.gz
- http://nginx.org/en/download.html
如:nginx-1.10.3.tar.gz
- https://github.com/happyfish100/fastdfs-nginx-module
如:fastdfs-nginx-module-master.zip
创建用户
- > useradd -s /sbin/nologin -M nginx
安装pcre
- > tar xf pcre-8.40.tar.gz
- > cd pcre-8.40
- > ./configure --prefix=/data/pcre
- > make && make install
安装nginx
- > yum install zlib-devel openssl-devel
- > unzip fastdfs-nginx-module-master.zip
- > tar xf nginx-1.10.3.tar.gz
- > cd nginx-1.10.3
- > ./configure --prefix=/data/nginx \
- > --with-pcre=/data/pcre-8.40 \
- > --user=nginx \
- > --group=nginx \
- > --with-http_ssl_module \
- > --with-http_realip_module \
- > --with-http_stub_status_module \
- > --add-module=/data/fastdfs-nginx-module-master/src
- > make && make install
拷贝配置文件
- > cd /data/fastdfs-nginx-module-master/src
- > cp mod_fastdfs.conf /etc/fdfs/
- > cd /data/fastdfs-5.09/conf
- > cp anti-steal.jpg http.conf mime.types /etc/fdfs/
修改nginx.conf
- > vi /data/nginx/conf/nginx.conf
- server {
- listen 80;
- server_name localhost;
- location ~ /group[0-9]/M00 {
- ngx_fastdfs_module;
- }
- }
修改mod_fastdfs.conf
- > vi /etc/fdfs/mod_fastdfs.conf
- #日志目录
- base_path=/tmp
- #跟踪服务器
- tracker_server=192.168.1.222:22122
- tracker_server=192.168.1.233:22122
- #url中是否有group名称
- url_have_group_name = true
- #storage path的个数
- store_path_count=2
- #根据store_path_count的值,就要有storage0到storage(N-1)个
- store_path0=/data/fdfs_storage/storage0
- store_path1=/data/fdfs_storage/storage1
启动nginx
- > /data/nginx/sbin/nginx
上传一个文件
- > echo "12345678" >> /data/1.txt
- > fdfs_upload_file /etc/fdfs/client.conf /data/1.txt
然后通过nginx访问该文件
- http://192.168.1.222/group1/M00/00/00/wKgB6Vi3fGiAMsO2AAAAB2BGSN8003.txt
centos7下的FastDFS5.09的安装与使用的更多相关文章
- Centos7下PHP的卸载与安装nginx
Centos7下PHP的卸载与安装nginx CentOS上PHP完全卸载,想把PHP卸载干净,直接用yum的remove命令是不行的,需要查看有多少rpm包,然后按照依赖顺序逐一卸载. 1.首先查看 ...
- CentOS7下Mysql 5.6.30安装与配置
环境:centos 7 x64 先下载mysql安装包 打开 http://dev.mysql.com/downloads/mysql/ 选择 linux - Generic 再选择 下载完毕后,得 ...
- CentOS7下搭建Nginx+PHP7的安装配置
一.安装编译工具及库文件: yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel 环境要求 nginx是C ...
- Centos7下修复 视频播放器(先 安装VLC视频播放器)
用最新的CentOS7发现没有视频播放器,于是在http://pkgs.org/上查找,发现了nux dextop仓库上有, 于是到他的官网上http://li.nux.ro/repos.html查了 ...
- Centos7 下nginx nginx-1.13.4 安装
环境:CentOS Linux release 7.3.1611 (Core) Linux localhost.localdomain 3.10.0-514.26.2.el7.x86_64 #1 S ...
- centos7下比特币源码编译安装
今天我们介绍比特币的源码安装过程,是利用编译安装的 首先安装依赖 1 yum install -y boost-devel qt-devel protobuf-devel qrencode-devel ...
- CentOS7下MySQL8的二进制基本安装配置
前言 基于本地Centos7.6虚拟机Mysql8的配置(亲测有效) 一.安装前的准备 1.到官网下载mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz 2.通过Xs ...
- centos7下vim8.1的编译安装教程
之前安装YouCompleteMe的时候遇到vim版本不兼容的问题,看网上说是需要将vim版本提升到8.0及以上,然后就开始安装最新版本的vim,安装过程中的遇到了不少问题主要集中在配置方面和缺少插件 ...
- Centos7下搭建LAMP环境,安装wordpress(不会生产博客,只是一名博客搬运工)(菜鸟)
1.搭建MySQL数据库 安装MariaDB yum install mariadb-server -y 启动MySQL服务 emctl start mariadb #启动服务 emtcl enabl ...
随机推荐
- RabbitMQ.Net 应用(2)
//生产者 using RabbitMQ.Client; using System; using System.Collections.Generic; using System.Linq; usin ...
- secureCRT工具下载和安装
本文主要提供secureCRT软件下载和安装操作指导,节约软件查找和安装时间. 使用环境 32位Windows系统 软件下载 secureCRT软件和注册机下载:secureCRT 安装步骤和注意事项 ...
- C#调用C++
c++ extern "C" __declspec(dllexport) char* WINAPI base64_decode( char *data,char base[]) { ...
- JAVAWEB 一一 SpringMVC(注解)
web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="2 ...
- django使用restframework实现安全的api
参考地址:https://github.com/tomchristie/django-rest-framework/ 一般如果在批量修改多的时候,不建议使用,一般在get请求,或者修改单条数据的时候使 ...
- easyui中的几个问题
easyui中的tree,采用url参数读取json,无法显示.有可能是vs的IIS不支持,$.ajax 原因待测试,有知道的朋友也可以贴代码,我解决的一个办法是 $(function () { $. ...
- vb的VSFlexGrid控件
多行选中 VSFlexGrid的SelectionMode = flexSelectionListBox,现在可以配合Ctrl进行多行选择 循环取值 用vsflexgrid.SelectedRows ...
- freemarker取数
在后端map必须的键值必须是字符串 java.util.Map busVoltagesMap = new java.util.HashMap(); busVoltagesMap.put("1 ...
- 一个漂亮的 PlaceHolder
预览: 不知道为什么下面这个窗口中的 JavaScript 代码没有运行-_-||,想看实际效果就把下面的代码保存下来打开看吧. 代码: <!DOCTYPE HTML> <html ...
- oracle 日志恢复数据
1:首先查找redo,如果redo有可供恢复的信息,就那redo中的信息进行恢复,此时一般在恢复时,类似如下:SQL> recover database;Media recovery compl ...