记录一下安装cloudreve踩过的坑
环境
centos7.6
宝塔面板
开始
下载
GitHub下载地址
https://github.com/cloudreve/Cloudreve/releases
一般的云服务器,下载amd64的就可以了,其他服务器,请安装自己的环境下载
安装与启动
#下载(已经下载下来并且直接上传完成的可以忽略此步)
#若后期有更新,可以选择后期更新的版本,替换掉双引号中的内容
wget "https://github.com/cloudreve/Cloudreve/releases/download/3.4.2/cloudreve_3.4.2_linux_amd64.tar.gz"
#解压
tar -zxvf cloudreve_3.4.2_linux_amd64.tar.gz
#创建文件夹
mkdir /usr/local/cloudreve
#移动并改名,执行下列步骤就会将cloudreve 移动到/usr/local/cloudreve/文件夹内
mv cloudreve /usr/local/cloudreve/
#启动
/usr/local/cloudreve/cloudreve
记得打开5212端口
使用 http://ip:5212即可访问你的网盘,管理员账号在启动后,你就可以看到
到此为止,就可以正常使用了,若想使用域名访问,接着往下看
配置反向代理
我使用的是宝塔面板创建的网站
首先将域名解析到你的服务器
在宝塔面板中创建一个网站
配置反向代理,配置如下
然后你就可以用你解析过去的域名去访问你的网盘了
配置文件
若想自定义端口,可以参照如下配置
[System]
; 运行模式
Mode = master
; 监听端口
Listen = :5000
; 是否开启 Debug
;Debug = false
; Session 密钥, 一般在首次启动时自动生成
SessionSecret = 123456
; Hash 加盐, 一般在首次启动时自动生成
HashIDSalt = 123456
配置mysql数据库
若想使用mysql数据库,往下看
首先使用宝塔创建一个mysql数据库,大神可以使用其他方法自行创建
然后在配置文件中添加如下代码
; 数据库相关,如果你只想使用内置的 SQLite数据库,这一部分直接删去即可
[Database]
; 数据库类型,目前支持 sqlite/mysql/mssql/postgres
Type = mysql
; MySQL 端口
Port = 3306
; 用户名
User = root
; 密码
Password = root
; 数据库地址
Host = 127.0.0.1
; 数据库名称
Name = pan_demo_cn
; 数据表前缀
TablePrefix = cd_
; 字符集
Charset = utf8
; SQLite 数据库文件路径
DBFile = cloudreve.db
后台运行
需要用到tmux
安装:
yum install tmux
运行:
tmux #运行tumx,运行后在其中直接输入如下命令行即可
/usr/local/cloudreve/cloudreve -c /usr/local/cloudreve/conf.ini
后台运行:
退出tumx,按下Tumx的PREFIX键(默认是Ctrl+B),按下之后松开再次按d,即可离开Tmux开始后台执行
结束运行:
ps -ef | grep cloudreve
kill cloudreve #直接杀掉相应的进程即可
离线下载
cloudreve是支持离线下载的,它需要aria2的支持
安装aria2
yum install aria2
创建aria2的文件夹
mkdir -p /usr/local/aria2/{config,temp}
新建aria2的配置文件
vim /usr/local/aria2/config/aria2.conf
vim /usr/local/aria2/config/aria2.session
写入如下配置
enable-rpc=true
rpc-listen-port=6800
rpc-secret=你的密码
save-session-interval=1
save-session=/usr/local/aria2/config/aria2.session
auto-save-interval=30
max-concurrent-downloads=100
max-connection-per-server=16
split=64
enable-dht=true
dht-file-path=/usr/local/aria2/config/dht.dat
enable-peer-exchange=true
bt-enable-lpd=true
bt-max-peers=0
seed-time=0
或者如下配置也行
# 后台运行
#daemon=true
# 用户名
# rpc-user=user
# 密码
# rpc-passwd=你的密码
# 设置加密的密钥
rpc-secret=你的密码
# 允许rpc
enable-rpc=true
# 允许所有来源, web界面跨域权限需要
rpc-allow-origin-all=true
# 是否启用https加密,启用之后要设置公钥,私钥的文件路径
# rpc-secure=true
# 启用加密设置公钥
# rpc-certificate=/home/pi/.config/aria2/example.crt
# 启用加密设置私钥
# rpc-private-key=/home/pi/.config/aria2/example.key
# 允许外部访问,false的话只监听本地端口
rpc-listen-all=true
# RPC端口, 仅当默认端口被占用时修改
rpc-listen-port=6800
# 最大同时下载数(任务数), 路由建议值: 3
max-concurrent-downloads=5
# 断点续传
continue=true
# 同服务器连接数
max-connection-per-server=5
# 最小文件分片大小, 下载线程数上限取决于能分出多少片, 对于小文件重要
min-split-size=10M
# 单文件最大线程数, 路由建议值: 5
split=10
# 下载速度限制
max-overall-download-limit=0
# 单文件速度限制
max-download-limit=0
# 上传速度限制
max-overall-upload-limit=0
# 单文件速度限制
max-upload-limit=0
# 断开速度过慢的连接
# lowest-speed-limit=0
# 验证用,需要1.16.1之后的release版本
# referer=*
# 文件保存路径, 默认为当前启动位置(我的是外置设备,请自行坐相应修改)
dir=/usr/local/aria2/temp
# 文件缓存, 使用内置的文件缓存, 如果你不相信Linux内核文件缓存和磁盘内置缓存时使用, 需要1.16及以上版本
# disk-cache=0
# 另一种Linux文件缓存方式, 使用前确保您使用的内核支持此选项, 需要1.15及以上版本(?)
# enable-mmap=true
# 文件预分配, 能有效降低文件碎片, 提高磁盘性能. 缺点是预分配时间较长
# 所需时间 none < falloc ? trunc << prealloc, falloc和trunc需要文件系统和内核支持
file-allocation=prealloc
# 不进行证书校验
check-certificate=false
# 保存下载会话
save-session=/usr/local/aria2/config/aria2.session
input-file=/usr/local/aria2/config/aria2.session
# 断点续传
save-session-interval=60
新建systemd服务,用于守护aria2c进程:
vim /etc/systemd/system/aria2c.service
写入如下配置
[Unit]
Description=Aria2c Download Manager
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/aria2c --conf-path=/usr/local/aria2/config/aria2.conf --disable-ipv6
Restart=on-abnormal
StandardOutput=file:/var/log/aria2c.log
StandardError=file:/var/log/aria2c-error.log
[Install]
WantedBy=multi-user.target
设置开机自启:
systemctl enable --now aria2c
重启
systemctl restart aria2c
启动
systemctl start aria2c
面板配置
然后测试一下是否能连通即可,如果可以连通,则说明配置正常
踩过的坑
(1)首先,如果没配反向代理的话,已经要记得开启对应的端口
(2)如果使用了反向代理,首先要记得在nginx中配置上传文件的大小,在server块中或location块中添加下述语句,将最大上传大小设置为10G
client_max_body_size 10G;
(3)如果开启了宝塔的nginx防火墙,记得将宝塔nginx防火墙关闭,要不然你上传的文件会被当做post注入,会被拦截,你的Cloudreve网盘会卡在处理中,界面一直会显示处理中...