vsftp容器搭建+go开发web用户管理界面(更新于2022.02.23)

网友投稿 288 2022-11-28

vsftp容器搭建+go开发web用户管理界面(更新于2022.02.23)

目录

​​前提​​​​部署​​

​​1、启动容器​​​​2、安装前端和配置备份​​

​​总结​​

​​部署说明​​​​账号说明​​​​WEB界面说明​​​​数据存放说明​​​​数据备份说明​​​​数据删除说明​​​​数据限制说明​​

关于vsftp全部文章:​​​1、vsftp服务搭建(虚拟账号+被动访问)​​​​2、通过公网登录vsftp服务​​​​3、vsftp容器搭建+go开发web用户管理界面(更新于2022.02.23)​​

前提

vsftp采用​​虚拟账号+被动访问配置​​ 默认账号密码:company/Tenez.cn

1、磁盘划分完成

df

2、安装docker,配置存储磁盘

cat /usr/lib/systemd//system/docker.service |grep ExecStart部分:ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --graph=/u01/docker/data

部署

1、启动容器

创建vsftp容器

映射的目录根据实际情况修改,我的磁盘划分挂载位置是在​​/u01​​​,所以映射的是​​/u01/​​目录下

docker run -id --name=vsftp --network=host --privileged=true -v /u01/vsftp/data:/ftp/data swr.ap-southeast-3.myhuaweicloud.com/softwares/vsftp:3.2 /usr/sbin/init

创建mysql容器 这里的数据库只是一个记录账号的作用,不存用户文件,没有做持久化

docker run -itd --name vsftp-mysql -p 13306:3306 -e MYSQL_ROOT_PASSWORD=password mysql:8

现在我们可以使用xftp等ftp工具,测试链接下: ip:宿主机ip 端口号:10021 用户名:company 密码:Tenez.cn

2、安装前端和配置备份

把​​vsftp-web3.0.zip​​​​安装包​​​解压后存放到宿主机的​​/u01/vsftp/data​​​目录下 目录层级:

ls

把​​backupdata.zip​​​​安装包​​​解压后存放到宿主机的​​/u01/vsftp/data​​​目录下 目录层级:

ls

进入到​​vsftp​​​容器内部,检查crond定时任务,每30分钟将打包备份一次容器内部​​/ftp/company​​目录下的所有文件,7天滚动保留

docker exec -it vsftp bashcrontab -l30 * * * * sh /ftp/data/backupdata/backup.sh >> /ftp/data/backupdata/backupdata.log 2>&1

进入到​​vsftp​​​容器内部,运行前端go程序 运行之前需要修改数据库连接信息,把ip修改成实际数据库ip

cd /ftp/data/vsftp-web3.0cat ftp.go |grep mysql db, err := gorm.Open("mysql", "root:password@(172.xx.xx.xx:13306)/db?charset=utf8mb4&parseTime=True&loc=Local") db, err := gorm.Open("mysql", "root:password@(172.xx.xx.xx:13306)/db?charset=utf8mb4&parseTime=True&loc=Local") db, err := gorm.Open("mysql", "root:password@(172.xx.xx.xx:13306)/db?charset=utf8mb4&parseTime=True&loc=Local")

nohup go run ftp.go &

现在浏览器访问:​​class="data-table" data-id="t7a7e9d1-hKEG2jCk" data-width="" style="outline: none; border-collapse: collapse; width: 100%;">

容器名称

映射目录

端口号

服务

vsftp

/u01/vsftp/data:/ftp/data

主机网络。主端口号9090,10021

ftp服务,用于上传下载文件

vsftp-mysql


13306:3306

数据引擎服务,用于存放ftp账号密码信息

*注:以下提到的路径全部为容器内部路径

账号说明

账号名称

密码

权限

company

Tenez.cn

可以查看所有ftp账户数据

WEB界面说明

​​FTP管理​​:容器中的db数据库ftpuserlist表

数据备份说明

每30分钟会备份所有账号数据到/ftp/data/backupdata目录,滚动保留7天

数据删除说明

1、当一个ftp账号被删除后,账号内的数据将不会被清除,重新创建相同账号后将恢复数据

2、当ftp账号被删除后,已创建成功的ftp链接将不会被强制中断,仍然可以传输数据

数据限制说明

1、每个账号最大速率5m/s

2、最大建立连接400个(指定了端口号范围10180-10580)

3、每个账号之间相互看不到数据(除了管理员账号)

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java轻松使用工具类实现获取MP3音频时长
下一篇:网件WNR2000和R2000对比 详解它俩性能区别
相关文章

 发表评论

暂时没有评论,来抢沙发吧~