fastdfs 集群搭建
1、部署FastDFS及Nginx
(本套FastDFS为简化版安装部署,只需解压至普通用户家目录下或者任意目录,解压后修改脚本,执行脚本后即可使用。)
说明:FastDFS分为tracker(默认端口为22122)和storage(默认端口为23000)服务,tracker负责前端的负载及导航功能,storage仅负责存贮数据。虽然是分布式存储,但是对于大文件(一般超过1G)的存储会有问题。云通讯系统对于FastDFS的使用仅做存储图片、语音等小文件。
Nginx服务则仅用来直接展示FastDFS存储的文件,例如公众平台展示的所有图片都是经过Nginx的渲染,才能展示出来。
2、单机部署
1.将程序解压到普通用户家目录下。
tar zxf fastdfs.tar.gz -C /home/sm01/
2.修改scripts目录下modify_ip_userdir.sh脚本中的本地IP地址及家目录
localip="10.0.2.61"
userdir="/home/test"
修改完成后,执行脚本
sh modify_ip_userdir.sh
3.加载家目录下的环境变量
source .bash_profile
4.修改scripts目录下start_service.sh脚本中的用户家目录
userdir="/home/test"
5.启动服务
sh start_service.sh
3、多机部署
(这里以两台机器为例,两台角色相同,双tracker和双storage,每台机器上都有一套tracker和storage。)
1、第一台机器部署:
1.将程序解压到普通用户家目录下。
tar zxf fastdfs.tar.gz -C /home/sm01/
2.修改scripts目录下modify_ip_userdir.sh脚本中的本地IP地址及家目录
localip="192.168.188.155"
userdir="/home/sm01"
修改完成后,执行脚本
sh modify_ip_userdir.sh
3.加载家目录下的环境变量
source .bash_profile
4.修改scripts目录下start_service.sh脚本中的用户家目录
userdir="/home/sm01"
5.修改 fastdfs/fdfs/mod_fastdfs.conf 配置
有几台机器做tracker,则添加几条配置,例如现在需要部署两台机器,则修改为如下配置。
6.修改fastdfs/fdfs/storage.conf文件
(依旧是有几台tracker,就填写几个tracker地址。)
7.修改 fastdfs/fdfs/client.conf 配置
有几台机器做tracker,则添加几条配置,例如现在需要部署两台机器,则修改为两条配置。
2、第二台机器部署:
1.将程序解压到普通用户家目录下。
tar zxf fastdfs.tar.gz -C /home/sm01/
2.修改scripts目录下modify_ip_userdir.sh脚本中的本地IP地址及家目录
localip="192.168.199.128"
userdir="/home/sm01"
修改完成后,执行脚本
sh modify_ip_userdir.sh
3.加载家目录下的环境变量
source .bash_profile
4.修改scripts目录下start_service.sh脚本中的用户家目录
userdir="/home/sm01"
5.修改 fastdfs/fdfs/mod_fastdfs.conf 配置
有几台机器做tracker,则添加几条配置,例如现在需要部署两台机器,则修改为如下配置。
6.修改fastdfs/fdfs/storage.conf文件
(依旧是有几台tracker,就填写几个tracker地址。)
7.修改 fastdfs/fdfs/client.conf 配置
有几台机器做tracker,则添加几条配置,例如现在需要部署两台机器,则修改为两条配置。
3、启动FastDFS
(需要注意的是,在启动的时候,需要先启动所有机器上的tracker服务,然后再启动每台机器上的storage服务。)
1、启动方法1:(不成功)
1、启动tracker
${userdir}/fastdfs/bin/fdfs_trackerd ${userdir}/fastdfs/fdfs/tracker.conf
~/fastdfs/bin/fdfs_trackerd ~/fastdfs/fdfs/tracker.conf
2、启动storage
${userdir}/fastdfs/bin/fdfs_storaged ${userdir}/fastdfs/fdfs/storage.conf
~/fastdfs/bin/fdfs_storaged ~/fastdfs/fdfs/storage.conf
(${userdir}为安装路径)
3、启动nginx
[ ! -e "/tmp/http.conf" ] && ln -s ${userdir}/fastdfs/fdfs/http.conf /tmp/
[ ! -e "/tmp/mod_fastdfs.conf" ] && ln -s ${userdir}/fastdfs/fdfs/mod_fastdfs.conf /tmp/
${userdir}/nginx/sbin/nginx -p ${userdir}/nginx/ -c ${userdir}/nginx/conf/nginx.conf
[ ! -e "/tmp/http.conf" ] && ln -s ~/fastdfs/fdfs/http.conf /tmp/
[ ! -e "/tmp/mod_fastdfs.conf" ] && ln -s ~/fastdfs/fdfs/mod_fastdfs.conf /tmp/
~/nginx/sbin/nginx -p ~/nginx/ -c ~/nginx/conf/nginx.conf
(${userdir}为安装路径)
2、启动方法2:
使用脚本启动
sh scritp/start_service.sh
(如果是多套的情况下,则需要脚本在同一时间启动。)
4、测试
echo 123123123>test.txt
~/fastdfs/bin/fdfs_test ~/fastdfs/fdfs/client.conf upload ~/test.txt 或者
~/fastdfs/bin/fdfs_upload_file ~/fastdfs/fdfs/client.conf ~/test.txt
如果最后一行显示
file url: http://
类似这样的开头和url地址则表示fastDFS部署完成。