环境配置:
- ubuntu20.04
- docker
docker安装
参考另一篇博客:Ubuntu 20.04安装docker
fastDFS安装
1. 拉取docker镜像
docker pull delron/fastdfs
2.构建tracker容器
docker run -d --network=host --name fastdfs-tracker -v /var/fdfs/tracker:/var/fdfs -v /etc/localtime:/etc/localtime delron/fastdfs tracker
3.构建storage容器
docker run -d --network=host --name fastdfs-storage -e TRACKER_SERVER=192.168.238.122:22122 -v /var/fdfs/storage:/var/fdfs -v /etc/localtime:/etc/localtime delron/fastdfs storage
注意:
- 参数
TRACKER_SERVER=192.168.238.122:22122
中的IP地址需要改为你自己的IP - 宿主机IP可以通过
ip a
命令获取,通常为eth0
的网卡后的IP地址 - 如果tracker服务器和storage服务器不在同一个主机上,则上述IP应改为tracker所在服务器的宿主机IP
- 端口根据需要修改
4.配置storage容器的http访问端口
storage的http访问端口默认为8888,这个端口是当客户端上传资源文件后,根据服务器返回的文件地址对资源文件进行访问(包括预览和下载),访问地址通常为:fastdfs服务器地址+http端口+文件存储地址
如果没有特殊需求的情况下,该端口可以保持默认值。但需要注意的是如果需要修改该http访问端口,则同时需要修改storage.conf
配置文件中的http.server_port=8888
以及nginx配置文件中的端口,并使两个端口一致。
(1)修改storage.conf
# 进入storage容器
docker exec -it storage bash
# 打开配置文件
vi /etc/fdfs/storage.conf
将光标移动到文件末尾,可以看到有一个http.server_port=8888
的配置,将此处的8888改为你想要的端口即可。
(2)修改nginx配置
# 进入storage容器
docker exec -it storage bash
# 打开nginx配置文件
vi /usr/local/nginx/conf/nginx.conf
找到server节点下的listen 8888
,并将8888修改为与storage.conf中http.server_port
一致的端口。
完成上述修改以后需要重启docker容器,配置才能生效。
# 重启容器
docker restart storage
# 查看当前容器的运行状态
docker ps -a
容器重启失败解决办法:
在宿主机上找到storage容器的/var/fdfs
挂载目录,本文中其对应的宿主机目录是/var/fdfs/storage
,然后在其中找到data/fdfs_storage.pid
,并将其删除即可
# 删除pid文件
sudo rm /var/fdfs/storage/data/fdfs_storage.pid
评论区