在网上看到过很多关于FastDFS搭建的介绍,但是,到真正部署到正式服务器的时候就会出现各种各样的问题。基于各种可能出现的细节,把自己踩过的坑都写出来分享给大家,让其他人少走弯路。
环境:
CPU: 1核 |
内存: 2 GB |
实例类型: I/O优化 |
操作系统: CentOS 7.4 64位 |
公网IP: 120.79.178.190 |
弹性公网IP: - |
弹性网卡: eni-wz9izfdo... |
私有IP: 172.18.248.255 |
带宽计费方式: 按固定带宽 |
上面的公网IP和私有Ip本人处于安全考虑修改了的,不是笔者正真的IP地址,大家搭建时更换为自己真实IP地址即可。FastDFS官方地址,可点击参考。其他博客也介绍了FastDFS,大家也可作为参考学习。这里就不过多介绍FastDFS的相关原理了。
首先利用Shell连接阿里云服务器,进入命令界面。使用命令"cd /"进入到根目录下,然后可以自行选择一个自己下载的目录,用来存放下载资源。笔者是自己创建了个download目录,专门存放fastdfs相关的资源的。
# cd /usr
# mkdir download
# cd download
# wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz
创建好download目录后进入该目录,使用 “wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz”命令下载fastdfs依赖包libfastcommon。.
然后解压:
# tar -zxvf V1.0.7.tar.gz
# cd libfastcommon-1.0.7
进入libfastcommon-1.0.7目录,然后对其进行编译和安装:
# ./make.sh
# ./make.sh install
安装好之后可以看到 libfastcommon.so 安装到了/usr/lib64/libfastcommon.so,但是FastDFS主程序设置的lib目录是/usr/local/lib,所以需要创建软链接,也可以自己创建/usr/local/lib,然后把libfastcommon.so复制到期目录下,但是推荐创建软连接。
使用命令创建软连接:
# 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和安装了:
[root@iZwz9a191mdam4di3dozk3Z lib64]# cd /usr/download/
[root@iZwz9a191mdam4di3dozk3Z lib64]# wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz
使用命令ls查看,可以看到V5.05.tar.gz已经下下来,然后解压安装:
# tar -zxvf V5.05.tar.gz
# cd fastdfs-5.05
# cd fastdfs-5.05/
# ls
client common conf COPYING-3_0.txt fastdfs.spec HISTORY init.d INSTALL make.sh php_client README.md restart.sh stop.sh storage test tracker
可以看到目录中有make.sh,这是执行文件。
编译和安装:
# ./make.sh
# ./make.sh install
使用默认安装后可以看到有几个相应的文件:
# cd /etc/init.d
# ll
-rwxr-xr-x 1 root root 1186 Oct 30 10:18 fdfs_storaged
-rwxr-xr-x 1 root root 1186 Oct 30 10:18 fdfs_trackerd
1、服务脚本文件:
/etc/init.d/fdfs_storaged
/etc/init.d/fdfs_tracker
2、配置文件:
# cd /etc/fdfs
# ls
client.conf.sample storage.conf.sample tracker.conf.sample
3、命令工具:
# cd /usr/bin
fdfs_appender_test
fdfs_appender_test1
fdfs_append_file
fdfs_crc32
fdfs_delete_file
fdfs_download_file
fdfs_file_info
fdfs_monitor
fdfs_storaged
fdfs_test
fdfs_test1
fdfs_trackerd
fdfs_upload_appender
fdfs_upload_file
stop.sh