FastDFS单节点安装 & FastDFS+Nginx整合
安装环境
FastDFS_v5.05.tar.gz(http://sourceforge.net/projects/fastdfs/files/)
fastdfs-nginx-module_v1.16.tar.gz
libfastcommon-master.zip
ngx_cache_purge-2.3.tar.gz
nginx-1.6.2(https://www.cnblogs.com/cac2020/p/9524197.html)
VM虚拟机redhat6.5-x64:192.168.1.202、192.168.1.203
Xshell4
部署方案
202:Tracker
203:Storage、nginx
fastDFS主程序目录:/usr/local/lib
安装步骤
步骤一:安装依赖gcc gcc-c++(202、203都要安装,使用ISO作为yum本地源:https://www.cnblogs.com/icerain0/p/9009660.html)
yum install make cmake gcc gcc-c++
步骤二:安装libfastcommon(202、203都要安装)
#解压
unzip libfastcommon-master.zip -d /usr/local/fast/
#编译 安装 注意安装的路径,libfastcommon默认安装到了/usr/lib64/这个位置
cd /usr/local/fast/libfastcommon-master && ./make.sh && ./make.sh install
#我们设定主程序目录为/usr/local/lib/ 需要在目录创建软连接
mkdir /usr/local/lib/
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
步骤三:安装FastDFS(202、203都要安装)
#解压
tar -zxvf FastDFS_v5.05.tar.gz -C /usr/local/fast/
#编译 安装
cd /usr/local/fast/FastDFS/ && ./make.sh && ./make.sh install
#说明:
1.服务脚本在:
/etc/init.d/fdfs_storaged
/etc/init.d/fdfs_trackerd
2.配置文件在:
/etc/fdfs/client.conf.sample
/etc/fdfs/storage.conf.sample
/etc/fdfs/tracker.conf.sample
3.命令行工具在/usr/bin/目录下Fdfs_*的一些列执行脚本
cd /usr/bin/ && ls | grep fdfs
FastDFS服务脚本设置的bin目录为/usr/local/bin/下,但是实际我们安装在了/usr/bin/下面。
所以我们需要修改FastDFS配置文件中的路径,也就是需要修改俩个配置文件:
命令:vim /etc/init.d/fdfs_storaged
进行全局替换命令:%s+/usr/local/bin+/usr/bin
命令:vim /etc/init.d/fdfs_trackerd
进行全局替换命令:%s+/usr/local/bin+/usr/bin
步骤四:配置跟踪器 202节点
#修改tracker配置文件(http://bbs.chinaunix.net/thread-1941456-1-1.html)
cd /etc/fdfs/ && cp tracker.conf.sample tracker.conf
mkdir -p /fastdfs/tracker && vim /etc/fdfs/tracker.conf
#修改base_path目录
base_path=/fastdfs/tracker
步骤五:关闭防火墙-202 (生产环境)
vim /etc/sysconfig/iptables
添加:-A INPUT -m state --state NEW -m tcp -p tcp --dport 22122 -j ACCEPT
重启:service iptables restart
步骤六:启动跟踪器
目录命令:cd /fastdfs/tracker/ && ll
启动tracker命令:/etc/init.d/fdfs_trackerd start
查看进程命令:ps -el | grep fdfs
停止tracker命令:/etc/init.d/fdfs_trackerd stop
设置开机启动跟踪器:
命令:vim /etc/rc.d/rc.local
加入配置:/etc/init.d/fdfs_trackerd start
步骤七:配置FastDFS存储storage(203)
#修改storage.conf文件
cd /etc/fdfs/ && cp storage.conf.sample storage.conf
#创建存储目录
mkdir -p /fastdfs/storage && vim /etc/fdfs/storage.conf
#修改内容:
base_path=/fastdfs/storage
store_path0=/fastdfs/storage
tracker_server=192.168.1.202:22122
http.server_port=8888
步骤八:打开防火墙-203(生产环境)
命令:vim /etc/sysconfig/iptables
添加:-A INPUT -m state --state NEW -m tcp -p tcp --dport 23000 -j ACCEPT
重启:service iptables restart
步骤九:启动存储(storage)
启动:/etc/init.d/fdfs_storaged start (初次启动成功后会在/fastdbf/storage/ 目录下创建 data、logs俩个目录)
关闭:/etc/init.d/fdfs_storaged stop
设置开机启动:vim /etc/rc.d/rc.local
加入配置:/etc/init.d/fdfs_storaged start
查看FastDFS storage 是否启动成功
命令:ps -ef | grep fdfs
/fastdfs/storage/data/文件夹下会生成一些目录文件(256*256个)
cd /fastdfs/storage/data/ && ls
启动存储器报错示例:
[2018-08-27 22:42:34] ERROR - file: storage_ip_changed_dealer.c, line: 180, connect to tracker server 192.168.1.202:22122 fail, errno: 113, error info: No route to host
原因:防火墙未关闭 ,执行命令:/etc/init.d/iptables stop
测试----使用客户端上传文件,在tracker(跟踪器-202)中上传
1.编辑client.conf文件
命令:cd /etc/fdfs/ && cp client.conf.sample client.conf
命令:vim /etc/fdfs/client.conf
修改内容:
base_path=/fastdfs/tracker
tracker_server=192.168.1.202:22122
2.找到命令的脚本位置,并且使用命令fdfs_upload_file,进行文件的上传
cd /usr/bin/ && ls | grep fdfs
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/FastDFS_v5.05.tar.gz
[root@ bin]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/FastDFS_v5..tar.gz
group1/M00///wKgBy1uEExGAcJp0AAVFOL7FJU4.tar.gz
一般首次上传第一个文件会保存在storage(203)下/fastdfs/storage/data/00/00,目录里
cd /fastdfs/storage/data/00/00 && ls
[root@ ]# cd /fastdfs/storage/data// && ls
wKgBy1uEExGAcJp0AAVFOL7FJU4.tar.gz
至此 fastdfs安装完毕!!!
----------------------------------------FastDFS与Nginx整合-----------------------------------------------------
整合操作
一、首先两台机器里必须先安装nginx (202、203)
参考:https://www.cnblogs.com/cac2020/p/9524197.html
二、存储节点-storage(203) 安装fastdfs-nginx-module_v1.16.tar.gz
#解压
cd /usr/local/software/ && tar -zxvf /usr/local/software/fastdfs-nginx-module_v1.16.tar.gz -C /usr/local/fast/
#编辑配置文件config
cd /usr/local/fast/fastdfs-nginx-module/src/ && vim /usr/local/fast/fastdfs-nginx-module/src/config
修改内容:去掉下图中的local文件层次

第四行修改为: CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
三、FastDFS与nginx进行集成
首先把之前的nginx进行删除
cd /usr/local/ && rm -rf nginx
加载fastdfs模块 重新配置
cd /usr/local/nginx-1.6.2/ && ./configure --add-module=/usr/local/fast/fastdfs-nginx-module/src/
重新编译 安装
make && make install
复制 修改fastdfs-ngin-module中的配置文件,到/etc/fdfs目录中
cp /usr/local/fast/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
vim /etc/fdfs/mod_fastdfs.conf
修改内容:比如连接超时时间、跟踪器路径配置、url的group配置、
connect_timeout=10
tracker_server=192.168.1.202:22122
url_have_group_name = true
store_path0=/fastdfs/storage
cd /usr/local/fast/FastDFS/conf/ && cp http.conf mime.types /etc/fdfs/
创建一个软连接,在/fastdfs/storage文件存储目录下创建软连接,将其链接到实际存放数据的目录。
命令:ln -s /fastdfs/storage/data/ /fastdfs/storage/data/M00
#修改Nginx配置文件
vim /usr/local/nginx/conf/nginx.conf
修改内容为:
listen 8888;
server_name localhost;
location ~/group([0-9])/M00 {
#alias /fastdfs/storage/data;
ngx_fastdfs_module;
}
注意:nginx里的端口要和第五步配置FastDFS存储中的storage.conf文件配置一致,也就是(http.server_port=8888)
最后检查防火墙,并启动nginx服务
/usr/local/nginx/sbin/nginx
使用上传文件ID用浏览器访问地址:http://192.168.1.203:8888/group1/M00/00/00/wKgBy1uEExGAcJp0AAVFOL7FJU4.tar.gz

注意
使用FastDFS的时候,需要正常关机,不要使用kill -9强杀FastDFS进程,不然会在文件上传时出现丢数据的情况。
汇总启停命令:
启动命令:
启动tracker命令:/etc/init.d/fdfs_trackerd start
查看进程命令:ps -el | grep fdfs
启动storage命令:/etc/init.d/fdfs_storaged start
查看进程命令:ps -el | grep fdfs
启动nginx命令:/usr/local/nginx/sbin/nginx
停止命令:
停止tracker命令:/etc/init.d/fdfs_trackerd stop
关闭storage命令:/etc/init.d/fdfs_storaged stop
关闭nginx命令:/usr/local/nginx/sbin/nginx -s stop
FastDFS单节点安装 & FastDFS+Nginx整合的更多相关文章
- Centos7 单节点安装 FastDFS + FastDHT服务
Centos7 单节点安装 FastDFS + FastDHT服务 1.安装gcc(编译时需要) FastDFS是C语言开发,安装FastDFS需要先将官网下载的源码进行编译,编译依赖gcc环境,如果 ...
- FastDFS单节点安装
百度百科:https://baike.baidu.com/item/fastdfs/5609710?fr=aladdin 相关软件包: 链接:https://pan.baidu.com/s/11nO2 ...
- Hadoop介绍及最新稳定版Hadoop 2.4.1下载地址及单节点安装
Hadoop介绍 Hadoop是一个能对大量数据进行分布式处理的软件框架.其基本的组成包括hdfs分布式文件系统和可以运行在hdfs文件系统上的MapReduce编程模型,以及基于hdfs和MapR ...
- hbase伪分布式安装(单节点安装)
hbase伪分布式安装(单节点安装) http://hbase.apache.org/book.html#quickstart 1. 前提配置好java,环境java变量 上传jdk ...
- vertica单节点安装教程
[准备] 1.CentOS 7.6的镜像盘(下载地址:官网) 2.vertica-9.1.0-0.x86_64.RHEL6(下载地址:https://pan.baidu.com/s/1IjWBUTku ...
- 二、hdfs单节点安装
一.准备环境 在配置hdfs之前,我们需要先安装好hadoop的配置,本文主要讲述hdfs单节点的安装配置. hadoop的单节点安装配置请参考:https://www.cnblogs.com/lay ...
- 一、hadoop单节点安装测试
一.hadoop简介 相信你或多或少都听过hadoop这个名字,hadoop是一个开源的.分布式软件平台.它主要解决了分布式存储(hdfs)和分布式计算(mapReduce)两个大数据的痛点问题,在h ...
- Flume 学习笔记之 Flume NG概述及单节点安装
Flume NG概述: Flume NG是一个分布式,高可用,可靠的系统,它能将不同的海量数据收集,移动并存储到一个数据存储系统中.轻量,配置简单,适用于各种日志收集,并支持 Failover和负载均 ...
- Redis02——Redis单节点安装
Redis单节点安装 一.Redis的数据类型 string hash list set zset 二.安装 2.1.下载 wget http://download.redis.io/releases ...
随机推荐
- docker搭建gitlab、Redmine
本地使用windows,setting里面切换至linux 从Docker图标的右键菜单中选中 “Switch to Linux containers ...” Docker Engine运行在Lin ...
- 剖析Elasticsearch集群系列之一:Elasticsearch的存储模型和读写操作
转载:http://www.infoq.com/cn/articles/analysis-of-elasticsearch-cluster-part01 1.辨析Elasticsearch的索引与Lu ...
- 使用COSBench工具对ceph s3接口进行压力测试
一.COSBench安装 COSBench是Intel团队基于java开发,对云存储的测试工具,全称是Cloud object Storage Bench 吐槽下,貌似这套工具是intel上海团队开发 ...
- python nose测试框架全面介绍一
一.简介 nose 是python自带框架unttest的扩展,使测试更简单高效:nose是一个开源的项目,可以在官网上下载源码 1.快速安装 有以下几中安装方式: easy_install ...
- Android之读取 AndroidManifest.xml 中的数据:版本号、应用名称、自定义K-V数据(meta-data)
AndroidManifest.xml中的定义如下: <manifest xmlns:android="http://schemas.android.com/apk/res/andro ...
- spring-boot 学习笔记一
参考博客:https://www.cnblogs.com/ityouknow/p/5662753.html 1.构建项目: 访问http://start.spring.io/,下载demo: 下载解压 ...
- JDK1.8版本,java并发框架支持锁包括
1.自旋锁,自旋,jvm默认是10次,由jvm自己控制,for去争取锁 2.阻塞锁 被阻塞的线程,不会争夺锁 3.可重入锁,多次进入改锁的域 4.读写锁 5.互斥锁,锁本身就是互斥的 6.悲观锁,不相 ...
- Java clone克隆方法 --深拷贝--浅拷贝 --原型模型
什么是深拷贝? 什么是浅拷贝? 创建一个对象的方法有几种? 默认的Object方法中的clone是深拷贝还是浅拷贝? 为什么说很多深拷贝都是不彻底的深拷贝? 什么是原型模型,什么是原型模式? 原型模型 ...
- WEB前端开发规范文档[转]
为新项目写的一份规范文档, 分享给大家. 我想前端开发过程中, 无论是团队开发, 还是单兵做站, 有一份开发文档做规范, 对开发工作都是很有益的. 本文档由本人编写, 部分意见来源于网络, 以此感谢, ...
- windows10配置tensorflow深度学习环境(GPU版)各种坑
我们配置一个tensorflow-gpu版的深度学习环境 windows10 64 python3.5 vs2017(需要C++部分) cuda9.0 cudnn7.1 GeForce GTX1060 ...