引言
拥有一个自己的云盘,无论存照片、存视频,或者是临时给别人分享一个文件,这些场景都可以优雅应对。
为什么不选择百度/阿里云这些现有的云盘?
1. 隐私无保障。没事读读他们的隐私协议,有惊喜。
2. 不稳定。例:
3. 贵。当初承诺的不限速,用着用着便显出资本嘴脸:
总而言之,搭建一个自己的私有云盘才是长久之计。
开始本地部署
Cloudreve 是一款国人开发的网盘服务工具,部署后可以私人使用,也可以对外提供服务(可以在设置里创建不同的身份组、上下行限速),功能比较完备,UI 也比较干净简洁。
1. 获取 Cloudreve
你可以在 GitHub Release 页面获取已经构建打包完成的主程序。其中每个版本都提供了常见系统架构下可用的主程序,命名规则为 cloudreve_版本号_操作系统_CPU架构.tar.gz
。比如,普通 64 位 Linux 系统上部署 3.0.0 版本,则应该下载 cloudreve_3.0.0_linux_amd64.tar.gz
。
如果你想体验最新的功能特性,可以在 GitHub Actions 中下载每次 commit 后构建的开发版。注意,开发版并不稳定,无法用于生产用途,且不保证完全可用。
⚠ 注意:
如果想自行从源代码构建,请参阅官方文档。
2. 启动 Cloudreve
下载后,我们进入程序压缩包所在的目录,解压并执行主程序:
解压获取到的主程序:
tar -zxvf cloudreve_VERSION_OS_ARCH.tar.gz
赋予执行权限:
chmod +x ./cloudreve
启动 Cloudreve
./cloudreve
Cloudreve 在首次启动时,会自动创建初始管理员账号,请注意保管管理员密码,此密码只会在首次启动时出现。
⚠ 注意:
如果您忘记初始管理员密码,需要删除同级目录下的
cloudreve.db
,重新启动主程序以初始化新的管理员账户。
至此,我们完成了 Cloudreve 的部署。Cloudreve 默认监听 5212
端口。在浏览器中访问 http://服务器IP:5212
即可进入 Cloudreve。
⚠ 注意:
记得在防火墙放通
5212
端口。
但是,你可能需要一些更为具体的配置,才能让 Cloudreve 更好的工作,请参考下面的配置流程。
3. 反向代理
⚠ 注意:
以下内容默认你已安装了 Nginx,否则请先自行安装。
我们通常习惯于使用域名访问,而不是使用 IP + 端口号的形式(http://服务器IP:5212
),接下来我们以 Nginx 服务器为例,进行反向代理的配置。
编辑 Nginx 的配置文件,在网站的 server
字段中加入:
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://127.0.0.1:5212;
# 如果您要使用本地存储策略,请将下一行注释符删除,并更改大小为理论最大文件尺寸
# client_max_body_size 20000m;
}
4. 进程守护
Systemd 和 Supervisor 两种方式可任选其一。
方法 1:Systemd
编辑配置文件
vim /usr/lib/systemd/system/cloudreve.service
将其中的 PATH_TO_CLOUDREVE
更换为程序所在目录:
[Unit]
Description=Cloudreve
Documentation=https://docs.cloudreve.org
After=network.target
After=mysqld.service
Wants=network.target
[Service]
WorkingDirectory=/PATH_TO_CLOUDREVE
ExecStart=/PATH_TO_CLOUDREVE/cloudreve #改这里
Restart=on-abnormal
RestartSec=5s
KillMode=mixed
StandardOutput=null
StandardError=syslog
[Install]
WantedBy=multi-user.target
更新配置
systemctl daemon-reload
启动服务
systemctl start cloudreve
设置开机启动
systemctl enable cloudreve
其它管理命令:
启动服务
systemctl start cloudreve
停止服务
systemctl stop cloudreve
重启服务
systemctl restart cloudreve
查看状态
systemctl status cloudreve
方法 2:Supervisor
首先安装supervisor
,已安装的可以跳过。
安装 supervisor
sudo yum install python-setuptools
sudo easy_install supervisor
初始化全局配置文件
sudo touch /etc/supervisord.conf
sudo echo_supervisord_conf > /etc/supervisord.conf
编辑全局配置文件
sudo vim /etc/supervisord.conf
将文件底部的[include]
分区注释符号;
删除,加入新的配置文件包含路径:
[include]
files = /etc/supervisor/conf/*.conf
创建 Cloudreve 应用配置所在文件目录,并创建打开配置文件:
sudo mkdir -p /etc/supervisor/conf
sudo vim /etc/supervisor/conf/cloudreve.conf
根据实际情况填写以下内容并保存:
[program:cloudreve]
directory=/home/cloudreve
command=/home/cloudreve/cloudreve
autostart=true
autorestart=true
stderr_logfile=/var/log/cloudreve.err
stdout_logfile=/var/log/cloudreve.log
environment=CODENATION_ENV=prod
其中以下配置项需要根据实际情况更改:
directory
: Cloudreve 主程序所在目录command
: Cloudreve 主程序绝对路径stderr_logfile
: 错误日志路径stdout_logfile
: 通常日志路径
通过全局配置文件启动 supervisor:
supervisord -c /etc/supervisord.conf
以下是一些其他命令,日后可以用来管理 Cloudreve 进程:
启动
sudo supervisorctl start cloudreve
停止
sudo supervisorctl stop cloudreve
查看状态
sudo supervisorctl status cloudreve
5. 完成部署
至此,你已完成 Cloudreve 的部署,可以正常使用了。
现在你可以进入 Cloudreve 的管理后台,自由探索一下各种设置
另一种部署方式:Docker
请参考 官方文档 。