说明:最近发现了一个不错的网盘程序蓝眼云盘
,该程序后端使用golang
开发,前端使用vue
套件开发,而且开源免费,基本上目前除了离线下载外,其它功能都有,同时也支持多用户,超级管理员可以对用户进行权限,文件管理等,外观也蛮好看,安装包仅10M
左右,可以同时在Windows
、Linux
、Mac OS
操作系统中运行。作者更新也很频繁,功能也会越来越多,这里就大概说下安装方法。
截图
功能
- 软件体积小,跨平台,运行简单,自带
UI
引导安装。 - 蓝眼云盘主要支持
PC Web
端,同时手机Web
也具有不错的响应性支持。 - 蓝眼云盘实现了一些云盘的核心功能:文件夹管理,文件管理,上传文件,下载文件,文件分享等。
- 蓝眼云盘提供能账号管理系统,超级管理员可以管理用户,查看用户文件,普通用户只能查看自己的文件,修改自己的资料。上面提供的体验账号就是一个普通用户的账号。
- 云盘自带监控大盘,一个页面查看云盘访问情况,每日访问情况,每日
PV
,UV
一目了然。日环比,周环比数据清晰呈现。还可以追踪到每个ip
的访问,下载情况 - 支持常用文件(
doc
、ppt
、xls
、pdf
、mp3
、mp4
、jpg
、png
等格式)一键预览,方便快捷。且最多支持1000
个文件同时进行上传。 - 蓝眼云盘提供了编程接口,实现了云存储(如七牛云,阿里云
OSS
)的核心功能,可以使用编程接口上传文件,作为其他网站、系统、app
的资源存储器。可以在下载图片时对图片做缩放裁剪处理,可以有效地节省客户端流量。同时对于缩略图有缓存策略,全面提升资源访问速度。 - 前后端分离,文档丰富项目后端使用
golang
开发,前端使用vue
套件开发。有详细的后台api文档,对于学习前端的童鞋而言可以快速部署一个正式而又具有丰富接口的后端供学习使用。
常规安装
Github地址:https://github.com/eyebluecn/tank
系统支持:Windows
、Linux
、Mac OS
,这里只说Linux
系统安装。
由于该网盘需要用到Mysql
数据库,所以这里使用比较简单的宝塔面板安装,当然你也可以使用其它方法安装Mysql
,比如:OneinStack和LNMP,都支持单独安装Mysql
。
1、安装宝塔
#CentOS系统
wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
#Ubuntu系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
#Debian系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh
安装完成后,进入面板,点击左侧软件管理,只需要安装Mysql
就可以了,如果你想给网盘设置域名访问,那就再装一个Nginx
。
2、运行云盘
#直接下载编译好的最新版文件,下载地址:https://github.com/eyebluecn/tank/releases
wget https://tank.eyeblue.cn/api/alien/download/04a81a27-b842-4ae0-5431-aeb4b9b5e718/tank-2.0.0.linux-amd64.tar.gz
#解压文件
tar zxvf tank-2.0.0.linux-amd64.tar.gz && rm -rf tank-2.0.0.linux-amd64.tar.gz
#后台运行程序
screen -dmS tank tank*/tank
然后使用http://ip:6010
就可以访问并安装网盘了,如果访问不了可能还需要访问宝塔的安全,打开端口即可。对于阿里云,GCP
还需要去服务器面板开启端口。
如果你要修改访问端口,可以去解压后的tank
目录,修改conf/tank.json
文件就可以了。
3、开机自启
这里使用Systemctl
守护进程,只适用于CentOS 7
、Debian 8+
、Ubuntu 16+
。
#以下是一整条命令,一起复制到SSH客户端运行
cat > /etc/systemd/system/tank.service <<EOF
[Unit]
Description=tank
After=network.target
Wants=network.target
[Service]
Type=simple
PIDFile=/var/run/tank.pid
ExecStart=/root/tank-2.0.0/tank
RestartPreventExitStatus=23
Restart=always
[Install]
WantedBy=default.target
EOF
开始启动:
systemctl start tank
查看状态:
systemctl status tank
设置开机自启:
systemctl enable tank
Docker安装
1、安装Docker
#CentOS 6
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y
yum -y install docker-io
service docker start
chkconfig docker on
#CentOS 7、Debian、Ubuntu
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker
2、拉取镜像
#拉取云盘镜像,3.11为最新版本,版本号查看:https://tank-doc.eyeblue.cn/basic/download.html
docker run -d --name tank /
-v ~/tank/dir:/go/bin/matter /
-p 6010:6010 /
eyeblue/tank:3.1.1
#拉取Mysql镜像,记得修改数据库信息
docker run --name mysqltank -d /
-p 3306:3306 /
-e MYSQL_ROOT_PASSWORD=123456 /
-e MYSQL_DATABASE=tank /
-e MYSQL_USER=tank /
-e MYSQL_PASSWORD=tank123 /
-v ~/tank/mysql:/var/lib/mysql /
mysql:5.7
其中~/tank/dir
为上传文件夹存放目录,mysql
为数据库信息,然后使用http://ip:6010
就可以访问网盘了。然后这里需要注意的是MySQL Host
需要填上你的ip
地址,而且数据库端口,比如3306
需要防火墙放行,不然会连接不上。
域名反代
反代可以用Nginx
、Caddy
,如果使用宝塔手动安装的可以直接安装Nginx
进行反代设置,如果使用Docker
或者网站无Nginx
等环境的建议使用Caddy
。
1、宝塔反代
先进入宝塔面板,然后点击左侧网站,添加站点,然后再点击添加好了的域名名称,这时候就进入了站点配置,点击反向代理,目标URL
填入http://127.0.0.1:6010
,再启用反向代理即可。至于启用SSL
的话,直接在站点配置就可以启用。
2、Caddy反代
安装Caddy
:
wget -N --no-check-certificate https://raw.githubusercontent.com/iiiiiii1/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
#备用地址
wget -N --no-check-certificate https://www.moerats.com/usr/shell/Caddy/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
配置Caddy
:
#以下全部内容是一个整体,请修改域名后一起复制到SSH运行!
#http访问,该配置不会自动签发SSL
echo "moerats.com {
gzip
proxy / 127.0.0.1:6010 {
header_upstream Host {host}
header_upstream X-Real-IP {remote}
header_upstream X-Forwarded-For {remote}
header_upstream X-Forwarded-Port {server_port}
header_upstream X-Forwarded-Proto {scheme}
}
}" > /usr/local/caddy/Caddyfile
#https访问,该配置会自动签发SSL,请提前解析域名到VPS服务器
echo "moerats.com {
gzip
tls admin@moerats.com
proxy / 127.0.0.1:6010 {
header_upstream Host {host}
header_upstream X-Real-IP {remote}
header_upstream X-Forwarded-For {remote}
header_upstream X-Forwarded-Port {server_port}
header_upstream X-Forwarded-Proto {scheme}
}
}" > /usr/local/caddy/Caddyfile
tls
参数会自动帮你签发ssl
证书,如果你要使用自己的ssl
,改为tls /root/xx.crt /root/xx.key
即可。后面为ssl
证书路径。
启动Caddy
:
/etc/init.d/caddy start
就可以打开域名进行访问了。
最后该网盘好像没注册功能,不过按照作者的计划,下一个版本就会添加注册功能,当然也会多些其它功能,可以期待下。