搭建Cloudreve云盘
简介
Cloudreve是一款在GitHub上开源的、可私人部署的云盘。网盘的网页端动画流畅、页面精美,支持视频、图像、音频、文本以及Office文档在线预览。同时,网盘中的文件不仅仅可以存储在自建服务器本地,还支持在从机、七牛、阿里云 OSS、腾讯云 COS、又拍云、OneDrive商业版(包括世纪互联版)中存储数据。
免费版 vs 捐赠版
Cloudreve分为免费版以及捐赠版,捐赠版目前的价格是¥299/域名*1,其主要多出一些商业化功能,比如容量包购买、用户购买等。免费与捐赠版之间的具体功能区分可以到Cloudreve论坛查看。对于一般个人用户来说,Cloudreve免费版足以满足日常需求。
搭建环境
- Nginx
- CentOS Linux 7.9.2009
注意:Cloudreve内置简易Web服务,数据库默认采用SQLite,理论上可以直接在Linux中运行。
注意:本教程使用CentOS Linux系统,Ubuntu等其他Linux系统在某些步骤中使用的命令会略有不同!
获取 Cloudreve
查看是否安装Wget
wget -V
安装Wget(已安装请跳过)
sudo yum install wget
更改当前目录位置
cd /home
下载最新版Cloudreve
GitHub:下载链接
CentOS x86架构选择cloudreve_3.3.2_linux_amd64.tar.gz
wget https://github.com/cloudreve/Cloudreve/releases/download/3.3.2/cloudreve_3.3.2_linux_amd64.tar.gz
启动 Cloudreve
解压获取到的主程序
tar -zxvf cloudreve_3.3.2_linux_amd64.tar.gz
赋予执行权限
chmod +x ./cloudreve
启动 Cloudreve
./cloudreve
Cloudreve 在首次启动时,会创建初始管理员账号。
Cloudreve 默认会监听5212
端口。你可以在浏览器中访问http://服务器IP:5212
进入 Cloudreve。
如果不能访问,请检查防火墙设置!
设置防火墙
CentOS Linux中有多套防火墙程序,CentOS 7默认使用firewall,CentOS 6.x默认使用iptables,也可以使用以下两条命令检查正在使用哪个防火墙。
# 查看iptables防火墙状态
service iptables status
# 查看firewall防火墙服务状态
systemctl status firewalld
# 查看firewall的状态
firewall-cmd --state
这里以firewall
防火墙举例
查看firewall已放行所有端口
firewall-cmd --list-ports
开启5212端口
firewall-cmd --permanent --zone=public --add-port=5212/tcp
重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
再次在浏览器中访问http://服务器IP:5212
进入 Cloudreve。
进程守护
默认状态下,关闭SSH终端会自动关闭Cloudreve程序,因此要设置进程守护让Cloudreve在后台一直运行,这里使用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
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;
}
Cloudreve 可能会与Nginx自带的内存产生冲突,因此需要注释或删除以下内容,否则会导致网站白屏。
#location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
#{
# expires 30d;
#}
#location ~ .*\.(js|css)?$
#{
# expires 12h;
#}
重启Nginx
service nginx restart
尝试在浏览器中访问http://服务器IP
进入 Cloudreve。
修改防火墙设置
放行80端口
firewall-cmd --permanent --zone=public --add-port=80/tcp
由于5212端口不再需要,因此关闭5212端口
关闭5212端口
firewall-cmd --permanent --zone=public --remove-port=5212/tcp
重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
其他问题
请参考以下内容:
评论已关闭