Docker 安装 morunchang/fastdfs

1. 拉镜像

docker search fastdfs;

在这里插入图片描述

morunchang/fastdfs 用于存储照片

docker pull morunchang/fastdfs;




2. Tracker 设置

运行 tracker

docker run -d --name tracker --net=host morunchang/fastdfs sh tracker.sh

进入 tracker

docker exec -it tracker /bin/bash

两个端口号: 8821 22122

三个文件:

  1. /etc/nginx/conf/nginx.conf
  2. /etc/fdfs/client.conf
  3. /etc/fdfs/tracker.conf

修改 /etc/nginx/conf/nginx.conf

vim /etc/nginx/conf/nginx.conf

修改 /etc/fdfs/client.conf

vim /etc/fdfs/client.conf

IP:22122

在这里插入图片描述

修改 /etc/fdfs/tracker.conf

vim /etc/fdfs/tracker.conf

在这里插入图片描述

修改nginx.conf 需要重启

cd /etc/nginx/sbin/

./nginx -s reload

如果出错

./nginx -c /etc/nginx/conf/nginx.conf



3. Storage 设置

运行 tracker

docker run -d --name storage --net=host -e TRACKER_IP=192.168.19.129:22122 -e GROUP_NAME=group1 morunchang/fastdfs sh storage.sh

需要查看共享卷查看上传照片, 用下面的代码.

docker run -d --name storage --net=host -e TRACKER_IP=192.168.19.129:22122 -v /home/docker/fastdfs/storage/image:/data/fast_data -e GROUP_NAME=group1 morunchang/fastdfs sh storage.sh

进入 storage

docker exec -it storage /bin/bash

用到三个端口号: 8822 23000 22122

三个文件:

  1. /etc/nginx/conf/nginx.conf
  2. /etc/fdfs/storage.conf
  3. /etc/fdfs/tracker.conf

修改 /etc/nginx/conf/nginx.conf

vim /etc/nginx/conf/nginx.conf

8822

在这里插入图片描述

添加以下内容
location /group1/M00 {
    proxy_next_upstream http_502 http_504 error timeout invalid_header;
    proxy_cache http‐cache;
    proxy_cache_valid 200 304 12h;
    proxy_cache_key $uri$is_args$args;
    proxy_pass http://fdfs_group1;
    expires 30d;
}

修改 /etc/fdfs/client.conf

vim /etc/fdfs/client.conf

在这里插入图片描述

8822
在这里插入图片描述

修改 /etc/fdfs/storage.conf

vim /etc/fdfs/storage.conf

在这里插入图片描述在这里插入图片描述

8822

在这里插入图片描述



3.1 照片的存储路径

vim /etc/fdfs/storage.conf

在这里插入图片描述

照片就存储在 /data/fast_data 下

在这里插入图片描述

看这个路径, 再加上 Nginx 的配置文件, 关联后面的 URL 就明白了.



4. 打开防火墙

开放端口号

 
  1. firewall-cmd --zone=public --add-port 8821/tcp --permanent;

  2. firewall-cmd --zone=public --add-port 8822/tcp --permanent;

  3. firewall-cmd --zone=public --add-port 22122/tcp --permanent;

  4. firewall-cmd --zone=public --add-port 23000/tcp --permanent;

  5. firewall-cmd --reload;

查看防火墙的开放端口号

firewall-cmd --zone=public --list-all;

在这里插入图片描述



5. 访问

http://192.168.19.129:8822/

在这里插入图片描述

上传完照片后的访问路径大概像下面一样:
http://IP地址:端口号/Storage组/上传到Storage后存储照片的相对路径名



测试

执行命令,进入 tracker 容器中:

docker exec -it tracker bash

随便创建一个 txt 文件:

echo "niceyoo" > niceyoo.txt

然后通过 fdfs_upload_file 命令将 niceyoo.txt 文件上传至服务器:

fdfs_upload_file /etc/fdfs/client.conf niceyoo.txt

可在storage服务器查看

http://119.91.71.164:8822/group1/M00/00/00/CgAIAmE3K6iAFRB-AAAACBfWGpM788.txt

6. 防止缓存

防止用户删除照片后再次出现.

docker exec -it storage /bin/bash
vim /etc/nginx/conf/nginx.conf

添加内容

add_header Cache-Control no-store;

在这里插入图片描述

exit
docker restart storage
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值