这里写目录标题
1 安装FastDFS镜像
1.1 检查服务器是否安装Docker,先安装Docker
balabala…
1.2 拉取镜像(速度太慢Docker可配置国内镜像源)
docker pull morunchang/fastdfs
1.3 运行tracker
docker run -d --name tracker --net=host morunchang/fastdfs sh tracker.sh
1.4 运行storage
docker run -d --name storage --net=host -e TRACKER_IP=192.168.211.132:22122 -e GROUP_NAME=group1 morunchang/fastdfs sh storage.sh
- 使用的网络模式是–net=host, 192.168.211.132是宿主机的IP 如果是服务器就用服务器的IP 切勿用127.0.0.1(有坑)
- group1是组名,即storage的组
- 如果想要增加新的storage服务器,再次运行该命令,注意更换 新组名
2 配置Nginx
Nginx在这里主要提供对FastDFS图片访问的支持,Docker容器中已经集成了Nginx,我们需要修改nginx的配置,进入storage的容器内部,修改nginx.conf
docker exec -it storage /bin/bash
vi /etc/nginx/conf/nginx.conf
添加以下内容
location ~ /M00 {
root /data/fast_data/data;
ngx_fastdfs_module;
}
添加禁止缓存
add_header Cache-Control no-store;
退出容器
exit
重启storage容器
docker restart storage
查看启动容器docker ps
9f2391f73d97 morunchang/fastdfs "sh storage.sh" 12 minutes ago Up 12 seconds storage
e22a3c7f95ea morunchang/fastdfs "sh tracker.sh" 13 minutes ago Up 13 minutes tracker
开启启动设置
docker update --restart=always tracker
docker update --restart=always storage
3. 踩坑可能遇到的问题
Java客户端链接超时:
首先进入容器 检查
docker exec -it storage /bin/bash
cd /etc/fdfs
ll
检查该目录下的 tracker_server:xxx.xx.xx.xx:22122
client.conf
[位于 docker exec -it storage /bin/bash容器内的 /etc/fdfs下]
storage.conf
[位于 docker exec -it storage /bin/bash容器内的 /etc/fdfs下]
tracker.conf
[位于 docker exec -it storage /bin/bash容器内的 /etc/fdfs下]
是否有本地IP 如果有 改为外网IP地址
如
vi /etc/fdfs/client.conf
这里(client.conf)最初就是本地的一个ip地址
改完后重启 tracker storage
docker restart storage
docker restart tracker
还没完 这时候可能还是连接超时,检查下阿里云服务器的防火墙是否有开启
需要开放两个端口号,
一个是storage server的端口号 默认23000 【在storage.conf中】
还有一个是 tracker server的端口号 22122默认 【在tracker.conf中】
检查阿里云的安全组规则
** 此处的8080 是nginx的访问端口 最终访问路径 如:
http://xx.xx.xx.xx:8080/group1/M00/00/00/rBpCAV-fuQGEN5CFAAAAAACCE8M794.png
如需修改可在nginx配置文件中修改
此时重启storage 访问路径变更为
http://xx.xx.xx.xx:8090/group1/M00/00/00/rBpCAV-fuQGEN5CFAAAAAACCE8M794.png
4. 再附上可能有到的命令
# 停掉服务
docker stop storage
docker stop tracker
# 检查服务状态
docker ps -a
# 移除服务
docker rm storage
docker rm tracker
# 重启服务
docker restart storage
docker restart tracker