改造Vmware里的FastDFS为Docker

FastDFS Docker化部署实践
本文介绍了一种将FastDFS环境从传统的VMware+CentOS部署方式转变为Docker化部署的方法,通过使用Docker镜像简化了配置过程,减少了启动步骤,降低了资源消耗。

改造前

公司的FastDFS环境是采用Vmware+三个Centos7,改造前所有服务都是可用的,但是每次不小心关机以后启动的服务太多,太麻烦

这里写图片描述

一台Tracker服务器+两台Storage

改造原因

  • 配置复杂,尽管写了个文档维护,还是配置比较多,麻烦
  • 启动麻烦,配置Nginx+Tracker,两台Storage+Nginx
  • 占用大量资源

改造

下载FastDFS镜像

DockerHub地址:
https://hub.docker.com/r/season/fastdfs/

下载FastDFS的镜像:
docker pull morunchang/fastdfs

完毕以后使用docker images可查看镜像已经下载完毕

运行

运行Tracker服务

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

运行Storage服务

docker run -d --name storage --net=host -e TRACKER_IP=<your tracker server address>:22122 -e GROUP_NAME=<group name> morunchang/fastdfs sh storage.sh
  • 因为使用的网络模式是–net=host,所以此处的<your tracker server address>是你的宿主机的IP
  • <group name>是组名,表示Storage的组
  • 如果你想再增加一个Storage服务器,就再运行一下命令,换个<group name>

使用docker images查看

[root@tracker1 conf]# docker ps
CONTAINER ID        IMAGE                COMMAND             CREATED             STATUS              PORTS               NAMES
a106d032aac7        morunchang/fastdfs   "sh storage.sh"     55 minutes ago      Up 55 minutes                           storage
400b8c6a7d5c        morunchang/fastdfs   "sh tracker.sh"     About an hour ago   Up About an hour                        tracker

修改Nginx的配置,对上传的配置不拦截

Nginx其实可以不配置代理,也是可以上传成功文件的,但是不配置代理的话,我们就无法从浏览器看到上传的图片

Nginx配置

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;
 }

测试

使用https://github.com/happyfish100/fastdfs可以测试

默认的端口是80,fdfs_client.conf配置如下:

connect_timeout = 2
network_timeout = 30
charset = UTF-8
http.tracker_http_port = 80
http.anti_steal_token = no

tracker_server = IP:22122

使用测试类测试,测试成功
这里写图片描述

此测试类是基于https://github.com/happyfish100/fastdfs重新封装了的,并支持多线程的方式和心跳链接的方式

这里写图片描述

浏览器可以访问,证明Nginx代理成功

改造效果

只启动一个Centos即可。

因为Centos还是Vmware里面运行的,而我们的服务器是Windows Server2003上面,所以还是必须要有一个Linux的,由原来的启动三个Centos变成一个,效果显著,服务器资源也不会浪费!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值