注:本文章是观看B站架构风清扬的视频手把手带你安装FastDFS及与SpringBoot整合自己手敲的,整个过程有视频中不一样的错误出现,自己找资料解决了。转载请注明出处!谢谢合作!
version: '2'
services:
fastdfs-tracker:
restart: always
hostname: fastdfs-tracker
container_name: fastdfs-tracker
image: season/fastdfs:1.2
network_mode: "host"
command: tracker
volumes:
- /mnt/envoriment/fastdfs/tracker_data:/fastdfs/tracker/data
fastdfs-storage:
restart: always
hostname: fastdfs-storage
container_name: fastdfs-storage
image: season/fastdfs:1.2
network_mode: "host"
volumes:
- /mnt/envoriment/fastdfs/storage_data:/fastdfs/storage/data
- /mnt/envoriment/fastdfs/store_path:/fastdfs/store_path
environment:
- TRACKER_SERVER=127.0.0.1:22122
command: storage
depends_on:
- fastdfs-tracker
记得换文件中的地址为自己的,还有TRACKER_SERVER服务器地址!!!
编辑好上述文件之后,直接执行下面命令即可,(前提是安装好docker和docker-compose)
sudo docker-compose up -d
# 查看版本确认没有安装再安装
gcc --version
# 安装
yum -y install gcc-c++
yum -y install libevent
我存放的路径是/usr/local/fastdfs
主要有这四个文件:
防止安装过程由于版本问题出错,附上我的文件,可以去下载!
链接:https://pan.baidu.com/s/1NCAwdtyjyGo5lvOMABuxPg
提取码:tqmm
# 解压
unzip libfastcommon-master.zip
# 进入目录
cd libfastcommon-master
# 编译
./make.sh
# 安装
./make.sh install
libfastcommon.os 安装到了/usr/lib64下,
需要复制它到/usr/lib/目录下,因为FastDFS默认指定的目录是/usr/lib/
cp /usr/lib64/libfastcommon.so /usr/lib/
# 编辑 tracker 配置文件
vim /etc/fdfs/tracker.conf
可以看到有个 base_path 这个指的路径就是文件存储路径,将他改成需要设置的路径,保存退出。
# 以刚才编辑过的配置文件启动
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
# 以刚才编辑过的配置文件启动
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
如果等了很长时间还没有完成,可以进入到刚才配置的 storage 路径下查看下日志文件,可以看到这个过程是否出错,我的这里就除了问题,是连接 tracker 服务超时!
解决方法:
然后在另一个窗口输入以下命令,打开日志,并实时监控;然后再执行刚才的命令启动 storage 服务,可以看到 mkdir data path…这些日志打印就是在正常启动 storage 服务等待即可!
如果还不行,可以看看云服务器的安全组设置有没有开放22122端口!
在根目录创建文件 hi.html
vim /root/hi.html
# 进去随便编写一些内容即可!
atsen say:"Hi,FastDFS!"
执行测试命令:
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /root/hi.html
上传成功,返回访问地址表示测试成功,之前的安装没有问题,但是发现这个地址访问不了,那么此时就需要 nginx 代理服务了!
此时,是访问不了的。
nginx需要的环境:
cp mod_fastdfs.conf /etc/fdfs/
./configure --add-module=/usr/local/fastdfs/fastdfs-nginx-module-master/src
# 其中 /usr/local/fastdfs-nginx-module/src 路径为 fastdfs-nginx-module_v1.19.zip 这个插件解压后下的src 目录
# 这个命令就是告诉 nginx ,module 插件的位置。
# 编译
make
# 安装
make install
进入 nginx 安装路径下的 conf 目录,编辑 nginx.conf 文件
编辑如图:
location /group1/M00/ {
ngx_fastdfs_module;
}
意思是,首先上面监听的是80端口,如果请求的地址为/group1/M00/那么就交由他的插件管理,即ngx_fastdfs_module
然后保存退出,进入 nginx 下的 sbin 目录,执行 nginx 启动命令:
./nginx