Fastdfs安装部署文档v1.0(2014-11-11)


#-----------------------------------------------------------------------------------------------------
FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)
跟踪器主要做调度工作,在访问上起负载均衡的作用
FastDFS系统结构如下图所示:
上传文件交互过程:
1.client询问tracker上传到的storage,不需要附加参数;
2.tracker返回一台可用的storage;
3.client直接和storage通讯完成文件上传。

下载文件交互过程:
1.client询问tracker下载文件的storage,参数为文件标识(卷名和文件名);
2.tracker返回一台可用的storage;
3.client直接和storage通讯完成文件下载。
client为使用FastDFS服务的调用方,client也应该是一台服务器,它对tracker和storage的调用均为服务器间的调用。
#-----------------------------------------------------------------------------------------------------
os_system:centos 6.4x64
10.0.0.109 fastdfs_01 Tracker server
10.0.0.110 fastdfs_02 Storage server

一:安装libevent* (fastdfs_01 fastdfs_02安装)
1:查看是否已经安装libevent* 如有 则删除
rpm -qa |grep libevent
rpm -e libevent-* --nodeps

2:安装依赖库和相关工具
yum install gcc* wget curl lrzsz -y

3:为Tracker和Storage节点节点安装libevent*
tar -zxvf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
./configure
make && make install
cd ..
ln -s /usr/local/lib/libevent* /lib64/

二:为tracker节点(fastdfs_01)安装 FastDFS
1:编译安装*
tar -zxvf FastDFS_v3.11.tar.gz
cd FastDFS
#如果Trackerd需要使用内置的web server,需要修改make文件 此处不用理会
vi make.sh
#---------------------------------------------------------------
64 #WITH_HTTPD=1 #去掉前面的#号
65 #WITH_LINUX_SERVICE=1 #去掉前面的#号
#---------------------------------------------------------------
./make.sh
./make.sh install
/bin/cp init.d/* /etc/init.d/
2:创建存储目录*
mkdir -p /data/fastdfs

3修改tracker.conf配置
vi /etc/fdfs/tracker.conf
#-----------------------------------------------------------------
base_path=/home/fastdfs
#-----------------------------------------------------------------

4:启动tracker
/etc/init.d/fdfs_trackerd start
/etc/init.d/fdfs_trackerd status

三:为storage节点安装FastDFS
1:编译安装*
tar -zxvf FastDFS_v3.11.tar.gz
cd FastDFS
./make.sh
./make.sh install
/bin/cp init.d/* /etc/init.d/
cd ..

2:创建存储目录*
mkdir -p /data/fastdfs

3:修改storage.conf配置

vi /etc/fdfs/storage.conf
#----------------------------------------------------------------------
base_path=/data/fastdfs
store_path0=/data/fastdfs
tracker_server=10.0.0.109:22122
#----------------------------------------------------------------------

4:启动storage
/etc/init.d/fdfs_storaged start
#查看状态
/usr/local/bin/fdfs_monitor /etc/fdfs/storage.conf
#查看log文件
tail -f /data/fastdfs/logs/storaged.log

四:Nginx在storage节点上安装部署
tar zvfx pcre-8.33.tar.gz
cd pcre-8.33
./configure
make
make install
cd ..

2:安装fastdfs-nginx-module和nginx组件
cd /root
tar -xzvf fastdfs-nginx-module_v1.10.tar.gz
tar -xzvf nginx-1.4.7.tar.gz
cd nginx-1.4.7
./configure \
--prefix=/usr/local/nginx \
--add-module=/root/fastdfs-nginx-module/src
make
make install
cd ..
ln -s /usr/local/lib/libpcre.so.1 /lib64/

3:Nginx及fastdfs模块配置
cp /root/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
touch /data/fastdfs/logs/mod_fastdfs.log
chown www:www /data/fastdfs/logs/mod_fastdfs.log

vi /etc/fdfs/mod_fastdfs.conf
#------------------------------------------------------------------------------------
base_path=/data/fastdfs
tracker_server=10.0.0.109:22122
store_path0=/data/fastdfs
log_filename=/data/fastdfs/logs/mod_fastdfs.log
http.need_find_content_type=true
#------------------------------------------------------------------------------------
Storage服务器nginx配置(Server配置内增加如下内容):
...
location /M00 {
alias /data/fastdfs/data;
ngx_fastdfs_module;
}
...

/usr/local/nginx/sbin/nginx

五:配置客户端以及上传测试:
在FastDFS的tracker或者storage节点上都可以承担client的角色。
只需要配置一下client即可(本例在tracker节点上配置client),详细配置如下:

1:修改client.conf

vi /etc/fdfs/client.conf
#-----------------------------------------------------------------
base_path=/data/fastdfs
tracker_server=10.0.0.109:22122
#-----------------------------------------------------------------

2:上传测试:
[root@fastdfs_01 ~]# fdfs_upload_file /etc/fdfs/client.conf anaconda-ks.cfg
group1/M00/00/00/CgAAblPxvV_jjdIfAAAED_6OsTA468.cfg

3:查看帮助:
[root@fastdfs_01 ~]# fdfs_file_info /etc/fdfs/client.conf group1/M00/00/00/CgAAblPxvV_jjdIfAAAED_6OsTA468.cfg
source ip address: 10.0.0.110
file create timestamp: 2014-08-18 16:46:23
file size: 1039
file crc32: 4270764336 (0xFE8EB130)

4:下载测试:
[root@fastdfs_01 tmp]# fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/CgAAblPxvV_jjdIfAAAED_6OsTA468.cfg downtest.cfg
[root@fastdfs_01 tmp]# ll
total 12
-rw-r--r-- 1 root root 1039 Aug 18 16:51 downtest.cfg

http://10.0.0.110/M00/00/00/CgAAblPxvV_jjdIfAAAED_6OsTA468.cfg
通过浏览器访问上述标红的文件地址,如果浏览器返回文件的内容则说明部署成功。

posted @   study-notes  阅读(181)  评论(0编辑  收藏  举报
编辑推荐:
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
阅读排行:
· C# 13 中的新增功能实操
· 万字长文详解Text-to-SQL
· Ollama本地部署大模型总结
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(4)
· 卧槽!C 语言宏定义原来可以玩出这些花样?高手必看!
点击右上角即可分享
微信分享提示