FastDFS搭建单机服务器

一、目录结构

以我下载及安装的路径为例,
下载及安装路径
/usr/local/

创建几个后面能用到的目录

mkdir /fastdfs/ 
mkdir /fastdfs/storage 
mkdir /fastdfs/tracker 

二、下载安装 libfastcommon

1、进入目录
cd /usr/local

2、下载libfastcommon到/usr/local目录下
wget https://github.com/happyfish100/libfastcommon/archive/master.zip

3、解压压缩包
unzip master.zip

(如果没有unzip,
执行命令yum install unzipapt-get install unzip

4、cd libfastcommon-master

5、编译
./make.sh
6、安装
./make.sh install

三、下载安装FastDFS

注意!FastDFS版本必须 >= 5.11
不然在后期使用fastdfs-nginx-module模块整合Nginx时候会出错,用了一个上午才明白的血淋淋的教训。
1、进入目录
cd /usr/local
2、下载FastDFS到/usr/local目录下
wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz
3、解压 FastDFS ,命令:
tar -zxvf V5.11.tar.gz

4、进入fastfds-5.11目录
cd fastdfs-5.11

5、编译
./make.sh

如果报错如果报错
../storage/trunk_mgr/trunk_shared.c:435:undefined reference to ‘fc_safe_read’
检查是否libfastcommon版本过低了,1.0.7的版本玩不起来,我更新成最新版本libfastcommon-master,然后再安装fastdfs,问题解决。

6、安装
./make.sh install

四、配置 Tracker 服务

上述安装成功后,在/etc/目录下会有一个fdfs的目录,进入它。会看到三个.sample后缀的文件,这是作者给我们的示例文件,我们需要把其中的tracker.conf.sample文件改为tracker.conf配置文件并修改它。
1、复制重命名配置文件
cd /etc/fdfs
cp tracker.conf.sample tracker.conf

2、打开
vim tracker.conf

主要修改两个参数

base_path=/fastdfs/tracker

http.server_port=80

port=22122这个端口参数不建议修改,除非你已经占用它了。

修改完成保存并退出 vim ,这时候我们可以使用
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
来启动 Tracker服务,但是这个命令不够优雅,怎么做呢?

3、使用ln -s 建立软链接:

ln -s /usr/bin/fdfs_trackerd /usr/local/bin

ln -s /usr/bin/stop.sh /usr/local/bin

ln -s /usr/bin/restart.sh /usr/local/bin

4、启动tracker
使用
service fdfs_trackerd start
来优雅地启动 Tracker服务了,比刚才带目录的命令好记太多了。你也可以启动过服务看一下端口是否在监听,命令:

启动服务:service fdfs_trackerd start

查看监听:netstat -unltp|grep fdfs

在阿里云服务器上启动service fdfs_trackerd start报错
Failed to start fdfs_storaged.service: Unit fdfs_storaged.service not found.

在阿里云上面使用
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
启动就是正常的。

重启
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

看到22122端口正常被监听后, Tracker服务安装成功啦!

五、配置 Storage 服务

现在开始配置 Storage 服务,由于我这是单机器测试,你把 Storage 服务放在多台服务器也是可以的,它有 Group(组)的概念,同一组内服务器互备同步,这里不再演示。

1、复制重命名配置文件
cd /etc/fdfs
会看到三个.sample后缀的文件,我们需要把其中的storage.conf.sample文件改为storage.conf配置文件并修改它

cp storage.conf.sample storage.conf

2、打开文件
vim storage.conf

修改几个参数

group_name=group1
base_path=/fastdfs/storage
store_path0=/fastdfs/storage
tracker_server=192.168.86.131:22122

192.168.86.131改成你的本机ip。

如果部署的是阿里云ECS服务器,
tracker_server=公网ip:22122

stroage的port=23000这个端口参数也不建议修改,默认就好,除非你已经占用它了。
修改完成保存并退出 vim ,这时候我们依然想优雅地启动 Storage服务,带目录的命令不够优雅,这里还是使用ln -s 建立软链接。

3、建立软链接
ln -s /usr/bin/fdfs_storaged /usr/local/bin

4、启动storage
service fdfs_storaged start

在阿里云上面使用
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
启动就是正常的。

注:在阿里云上进行配置,storaged可能会启动失败,需要配置云服务器实例安全组,添加安全组配置,打开22122和23000端口。

然后关闭系统防火墙:systemctl stop firewalld.service

启动成功后可以配置开机自动启动:

vim /etc/rc.local

在打开的文件中添加:

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

退出保存即可。

5、查看是否正常启动
netstat -unltp|grep fdfs
如果22122和23000端口都在监听,则启动正常了。

六、尝试通信

六、尝试通信
到这一步已经正常启动了tracker和storage服务。
指定命令尝试两者进行通信
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

启动正常的话,就可上传图片了,但是目前还无法下载。

客户端配置

进入到/etc/fdfs 目录下并复制一份 client.conf.sample 并更名为 client.conf,

使用命令vim /etc/fdfs/client.conf进入编辑模式并修改如下两项内容,如下所示。

base_path=/fastdfs/tracker  
tracker_server=192.168.86.131:22122

下面使用 fdfs_upload_file 脚本进行文件上传操作,如下所示。可以看到已经上传成功了,返回的是图片的保存位置:

[root@shenyanzhi bin]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/software/shenyanzhi.png
group1/M00/00/00/rBD83lq_Q_-AB1H_AAAxNQHnUn4955.png

 

参考

https://www.jianshu.com/p/87292cfe4f35

https://www.jianshu.com/p/2dc2bcaade08

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值