手把手教你云服务器安装部署fastdfs分布式文件系统
fastdfs
最近在做一个基于Netty的即时聊天APP,其中就需要搭建一个分布式的文件系统,用来存储用户的二维码和上传的头像等图片,顺便记录一下fastdfs搭建的流程以及遇到的坑。
准备工作
1、首先需要一台云服务器或者本地虚拟机,由于我线上有空闲云服务器,因此我直接使用阿里云ECS来进行本次搭建,你也可以自己在本地装一个虚拟机,并按照centos7系统。
2、准备我们要用的安装包,安装包我这里提供下载,最好和我的版本保持一样,分别是FastDFS_v5.05.tar.gz,fastdfs-nginx-module_v1.16.tar.gz,libfastcommon-1.0.7.zip,nginx-1.14.2.tar.gz。下载地址见文末。
3、然后通过SSH连接服务器,这个本站也有教程,自行搜索,win上可以用Xshell+FlashXP,Mac上推荐FinalShell,非常好用。将这些上传到/home/目录下(随便传哪都行),然后解压即可。
4、至于这个fastdfs分布式文件系统的介绍网上有很多了,你也可以在【极客文库】搜索相关文章,这里就不详细介绍了,主要进行实战操作。
5、接下来就不废话了,直接命令行动手干吧。
完整操作配合截图
cd libfastcommon-1.0.7/
./make.sh
./make.sh install
cd /usr/lib64/
ll libfast*
cp libfastcommon.so /usr/lib
cd FastDFS
./make.sh
./make.sh install
cd /usr/bin
ll fdfs*
cd /etc/fdfs
ll
cd /home/tar/FastDFS/conf
cp * /etc/fdfs/
cd /etc/fdfs/
ll
vim tracker.conf (按图片内容进行修改)
cd /
mkdir /fastdfs/tracker -p
cd /fastdfs
mkdir storage
mkdir client
ll
cd /usr/bin
ll fdfs*
fdfs_trackerd /etc/fdfs/tracker.conf
cd /etc/fdfs/
vim storage.conf
cd /usr/bin
fdfs_storaged /etc/fdfs/storage.conf
ps aux |grep storage (查看storage运行状况)
ps aux |grep tracker (查看tracker运行状况)
测试
cd /etc/fdfs/
vim client.conf
cd /usr/bin
fdfs_test /etc/fdfs/client.conf upload /home/test.jpg
group_name=geek, remote_filename=M00/00/00/CtM3ClxelyeAU50EAAPlcXCVEEA734.jpg
如果显示如上图所示信息,代表搭建成功,此时还无法访问,云服务器中安全组放行22122、23000端口,本地服务器的话关闭防火墙(命令在最后)。
安装Nginx
cd fastdfs-nginx-module/
cd src/
ll
vim config (把划线的删掉)
cd /home
yum install gcc-c++
yum install pcre pcre-devel
yum install zlib zlib-devel
yum install openssl openssl-devel
cd nginx-1.14.2/
命令行中粘贴下面的命令
./configure
--prefix=/usr/local/nginx
--pid-path=/var/run/nginx/nginx.pid
--lock-path=/var/lock/nginx.lock
--error-log-path=/var/log/nginx/error.log
--http-log-path=/var/log/nginx/access.log
--with-http_gzip_static_module
--http-client-body-temp-path=/var/temp/nginx/client
--http-proxy-temp-path=/var/temp/nginx/proxy
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi
--http-scgi-temp-path=/var/temp/nginx/scgi
--add-module=/home/fastdfs-nginx-module/src 注意这里改成你服务器上相应地址
make
make install
cd fastdfs-nginx-module/
cd src
cp mod_fastdfs.conf /etc/fdfs/
cd /etc/fdfs/
vim mod_fastdfs.conf
cd /fastdfs
mkdir tmp
cd /etc/fdfs/
vim mod_fastdfs.conf
cd /usr/local/nginx/conf
vim nginx.conf
cd ..
cd sbin
./nginx -t
mkdir /var/temp/nginx -p
./nginx -t
./nginx
关闭防火墙,访问ip
此时图片地址并不能访问
cd /etc/fdfs
vim mod_fastdfs.conf
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
cd /usr/local/nginx/sbin/
./nginx -s reload
关闭防火墙命令
firewall-cmd --zone=public --add-port=22122/tcp --permanent
firewall-cmd --zone=public --add-port=23000/tcp --permanent
访问之前图片地址即可看到上传的图片了。
附件下载地址
https://github.com/geekerstar/geek-chat/tree/master/resource
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)