我们公司做的是医疗软件的,最近听到公司的文件服务器满了,严重影响医院业务流程,交付的同事差点就叫起来,没错,我们公司使用的文件服务器是FastDFS,用来存储病历文书的,趁着元旦休息,我也来学习一下FastDFS,由于水平有限,写得不对的地方请指正
使用腾讯云的云服务器进行搭建,搭建环境详细信息如下:
搭建所需要的源码:
happyfish100 (YuQing) · GitHub
下载这几个仓库对应的zip格式的源码包
当然咯,你也可以从我这里下载(写该文章时,该资源还没审核,能不能用就看csdn给不给审核通过了):fastdfs安装包.rar-其它文档类资源-CSDN下载
详细步骤如下:
我在root目录下创建fastdfs目录
mkdir fastdfs
然后通过工具secureCRT(当然咯,你可以用其它工具)上传下载的zip源码包上传到fastdfs目录下
最终效果如下:
1 安装解压工具 zip、unzip
yum install -y unzip zip
2 安装依赖perl,gcc
2.1 安装perl
yum -y install perl
2.2 安装编译工具gcc
yum install gcc-c++
3 安装libfastcommon
cd /root/fastdfs unzip -o libfastcommon-master.zip -d /usr/local cd /usr/local/libfastcommon-master/ ./make.sh ./make.sh install
4 安装fastdfs
cd /root/fastdfs
解压fastdfs-master.zip
unzip -o fastdfs-master.zip -d /usr/local
编译安装
cd /usr/local/fastdfs-master
./make.sh
执行完./make.sh就会报如下的错误(undefined reference to `clock_gettime'):
参考这篇博客undefined reference to `clock_gettime' 链接错误的解决思路_码之有道-CSDN博客
得到了启发,clock_gettime在实时库librt(real time)里面,由于链接的时候没有链接这个库导致报错。
查找实时库librt所在路径
find / -name '*librt*'
这里我们只要/usr/lib64/librt.so即可(注意你的可能路径略有差异)
编辑make.sh (/usr/local/fastdfs-master目录下的make.sh)
vi make.sh
并在下图的位置添加一行:
LIBS="/usr/lib64/librt.so";
保存退出
重新
./make.sh
安装
./make.sh install
5 将fastdfs安装目录下的conf下的文件拷贝到/etc/fdfs/下
cp -r conf/* /etc/fdfs/
6 配置并启动trackerd
6.1 创建data和日志目录
mkdir -p /data/fastdfs
6.2 修改配置文件
cd /etc/fdfs/
vi tracker.conf
将base_path=/home/yuqing/fastdfs改成base_path=/data/fastdfs,如下图:
保存退出
启动trackerd
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
查看trackerd进程,如下图:
ps -ef|grep trackerd
看到trackerd已经启动
7 配置storaged
创建目录
cd /etc/fdfs/
mkdir /data/fastdfs/storage
7.1 修改配置storage.conf
vi storage.conf
修改如下:
base_path=/home/yuqing/fastdfs改为:base_path=/data/fastdfs
store_path0=/home/yuqing/fastdfs改为:store_path0=/data/fastdfs/storage
tracker_server=192.168.209.121:22122改为:tracker_server=10.206.0.11:22122,这个ip改成自己的,这里有两个tracker_server,要注释掉一个,如下图:
保存退出
启动storaged
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
看到已经启动
8 验证文件服务器是否可用
刚好看到/etc/fdfs目录下有一张图片anti-steal.jpg
8.1 修改目录/etc/fdfs/client.conf下的配置
把改为base_path配置为/data/fastdfs,
把tracker_server修改为tracker服务器的ip
如下图:
保存退出
然后上传:
fdfs_upload_file /etc/fdfs/client.conf /etc/fdfs/anti-steal.jpg
看到如下图返回路径即上传成功
配置nginx可以参考详细的最新版fastdfs单机版搭建 - 青石路 - 博客园,亲测可行
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)