Linux环境下安装fastdfs
说明:本人该篇博客来源于:beyondLi71,写这篇博客主要是在根据他的流程搭建出了问题,本人修正后便于以后观看及有需求的朋友少走弯路,转载文章时也请将beyondLi71的博客链接加上。
Linux安装FastDFS软件
一、环境准备:
如果已按照该环境则跳过
yum install gcc-c++
yum -y install libevent
yum install perl
二、安装libfastcommon
FastDFS 5.05版本不再依赖libevent,而依赖于libfastcommon,因此需要先安装libfastcommon。
软件包下载地址:https://github.com/happyfish100/libfastcommon
下载后将其上传至/usr/local下进行解压
二、安装FastDFS
将FastDFS压缩包上传至服务器/usr/local下
1 2 3 4 5 6 7 | # 解压 tar -zxvf FastDFS_v5. 05 .tar.gz # 切换盘符 cd FastDFS # 安装 ./make.sh ./make.sh install |
如果安装成功,则可以看到/etc/fdfs目录下生成了3个文件
配置tracker节点
上面我们也提到了关于客户端请求Tracker server进行文件上传、下载,通过Tracker server调度最终由Storage server完成文件上传和下载的步骤,所以我们现在需要配置tracker节点
1 2 3 4 5 6 7 8 9 10 | #创建tracker的数据文件和日志存储目录 mkdir -p /data/fastdfs # 切换盘符 cd /etc/fdfs # 重命名 mv tracker.conf.sample tracker.conf #修改的文件内容如下(基础配置,不考虑性能调优情况下): vi tracker.conf base_path=/data/fastdfs #设置 tracker 的数据文件和日志目录(需预先创建) http.server_port= 6666 #设置http端口号,默认为 8080 |
保存并退出,之后创建软连接
1 2 3 4 5 | 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 #启动tracker节点 service fdfs_trackerd start |
启动成功后,在/data/fastdfs目录下生成了data和logs两个目录。
查看日志如下:
配置storage节点
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #创建 mkdir /data/fastdfs-storage # 切换盘符 cd /etc/fdfs/ #重命名 mv storage.conf.sample storage.conf #修改的文件内容如下(基础配置,不考虑性能调优情况下): vi storage.conf group_name=group1 #组名,可根据实际情况修改 base_path=/data/fastdfs-storage #设置storage数据文件和日志目录,需预先创建 store_path_count= 1 #存储路径个数,需要和 store_path 个数匹配、 store_path0=/data/fastdfs-storage #存储路径 tracker_server= 192.168 . 116.145 : 22122 # #tracker 服务器的 IP地址和端口号,如果是单机搭建,IP不要写 127.0 . 0.1 ,否则启动不成功。 http.server_port= 8888 #设置 http 端口号 #创建软连 ln -s /usr/bin/fdfs_storaged /usr/local/bin #启动storage service fdfs_storaged start |
查看日志以确保正常启动
1 | cat /data/fastdfs-storage/logs/storaged.log |
确认启动成功后,可以运行 fdfs_monitor 查看 storage服务器是否已经登记到 tracker服务器。
1 | /usr/bin/fdfs_monitor /etc/fdfs/storage.conf |
看到“ACTIVE”即可确认 storage 运行正常。
使用fdfs_test上传图片测试
为确保fastdfs正常运行,我们使用fdfs_test进行图片上传
1 2 3 4 5 6 7 8 9 10 | # 切换盘符 cd /etc/fdfs/ # 重命名 mv client.conf.sample client.conf # 修改配置 vi client.conf base_path=/data/fastdfs-storage/logs tracker_server= 10.10 . 169.140 : 22122 #上传测试(最后即表示上传的图片) /usr/bin/fdfs_test /etc/fdfs/client.conf upload /data/yanjiang.png |
如下图所示并生成url即表示上传成功
好了 现在我们的fastdfs就算是搭建完成了,但是我们现在使用生成的url在浏览器中是无法看到上传的图片的。想要看到上传好了的图片的话,我们还需要使用nginx与fastdfs进行配合才能完成。
在Storage上安装nginx
因为我们现在是单体的,所以不需要在tracker上安装nginx,我们现在的主要目的是为了进行上传图片的查看,因此在Storage上安装nginx即可。
安装FastDFS-nginx-module
将FastDFS-nginx-module_v1.16.tar.gz传至/usr/local/下
1 2 3 4 5 6 7 8 | # 切换盘符 cd /usr/local/ # 下载 wget http: //nchc.dl.sourceforge.net/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz # 解压 tar -zxvf fastdfs-nginx-module_v1. 16 .tar.gz #修改config文件将/usr/local/路径改为/usr/ vi /usr/local/fastdfs-nginx-module/src/config |
注意:红框第一行有两处需要进行修改,红框修改完后的值如下:
1 2 | CORE_INCS= "$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/" CORE_LIBS= "$CORE_LIBS -L/usr/lib -lfastcommon -lfdfsclient" |
修改:mod_fastdfs.conf配置
1 2 3 4 5 6 7 8 9 | # 将FastDFS-nginx-module/src下的mod_FastDFS.conf拷贝至/etc/fdfs/下 cp mod_fastdfs.conf /etc/fdfs/ # 修改mod_fastdfs.conf的内容 vi /etc/fdfs/mod_fastdfs.conf base_path=/data/fastdfs-storage/logs tracker_server= 10.10 . 169.140 : 22122 #tracker_server= 10.10 . 169.141 : 22122 (多个tracker配置多行) url_have_group_name= true #url中包含group名称 store_path0=/data/fastdfs-storage #指定文件存储路径 |
修改配置文件后进行保存,之后将http.conf 与 mime.types拷贝到/etc/fdfs下
1 | # 切换盘符 cd /usr/local/FastDFS/conf/ # 拷贝文件 cp http.conf mime.types /etc/fdfs/ |
安装nginx
安装nginx的步骤在这里不做过多的解释,如果有不理解的同学,可以看我之前写过的Nginx简单介绍以及linux下使用Nginx进行负载均衡的搭建来详细的了解,首先我们先将nginx上传到服务器的/usr/local中。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | # 解压 tar -zxvf nginx- 1.8 . 0 .tar.gz # 切换目录 cd nginx- 1.8 . 0 # 环境准备 yum install -y pcre pcre-devel yum install -y zlib zlib-devel yum install -y openssl openssl-devel yum install gd-devel # 执行 ./configure \ --prefix=/data/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=/usr/local/fastdfs-nginx-module/src \ # 执行 make make install # 切换目录 cd /data/nginx/conf/ # 修改配置文件 vi nginx.conf #添加location location /group1/M00/{ ngx_fastdfs_module; } |
启动nginx
1.进入启动目录:
1 | cd /data/nginx/sbin |
2.启动:
1 | ./nginx |
如果报以下错误:
1 | nginx: [emerg] mkdir() "/var/temp/nginx/client" failed ( 2 : No such file or directory) |
创建以下文件夹即可:
1 | sudo mkdir -p /var/temp/nginx |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律