抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

别问,问就是没时间,问就是在水文。但杜老师保证,这是最后一篇,以后不再更新有关 Cloudreve 的教程,除非有小伙伴有所需求。之后得空杜老师会更新一些有意思的服务,但仅提供教材,服务器的资源有限,暂不提供服务平台。

配置文件

首次启动,Cloudreve 会在同级目录下创建名为 conf.ini 的配置文件,可以修改此文件进行一些参数的配置,保存后需要重新启动 Cloudreve 生效。也可在启动时使用如下命令指定配置文件路径:

1
./cloudreve -c ./conf.ini

一个完整配置文件示例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
[System]
; 运行模式
Mode = master
; 监听端口
Listen = :5212
; 是否开启 Debug
Debug = false
; Session 密钥, 一般在首次启动时自动生成
SessionSecret = 23333
; Hash 加盐, 一般在首次启动时自动生成
HashIDSalt = something really hard to guss
; 呈递客户端 IP 时使用的 Header
ProxyHeader = X-Forwarded-For

; SSL 相关
[SSL]
; SSL 监听端口
Listen = :443
; 证书路径
CertPath = C:\Users\i\Documents\fullchain.pem
; 私钥路径
KeyPath = C:\Users\i\Documents\privkey.pem

; 启用 Unix Socket 监听
[UnixSocket]
Listen = /run/cloudreve/cloudreve.sock
; 设置产生的 socket 文件的权限
Perm = 0666

; 数据库相关,如果你只想使用内置的 SQLite 数据库,这一部分直接删去即可
[Database]
; 数据库类型,目前支持 sqlite/mysql/mssql/postgres
Type = mysql
; MySQL 端口
Port = 3306
; 用户名
User = root
; 密码
Password = root
; 数据库地址
Host = 127.0.0.1
; 数据库名称
Name = v3
; 数据表前缀
TablePrefix = cd_
; 字符集
Charset = utf8mb4
; SQLite 数据库文件路径
DBFile = cloudreve.db
; 进程退出前安全关闭数据库连接的缓冲时间
GracePeriod = 30
; 使用 Unix Socket 连接到数据库
UnixSocket = false

; 从机模式下的配置
[Slave]
; 通信密钥
Secret = 1234567891234567123456789123456712345678912345671234567891234567
; 回调请求超时时间 (s)
CallbackTimeout = 20
; 签名有效期
SignatureTTL = 60

; 跨域配置
[CORS]
AllowOrigins = *
AllowMethods = OPTIONS,GET,POST
AllowHeaders = *
AllowCredentials = false
SameSite = Default
Secure = lse

; Redis 相关
[Redis]
Server = 127.0.0.1:6379
Password =
DB = 0

; 从机配置覆盖
[OptionOverwrite]
; 可直接使用 `设置名称 = 值` 的格式覆盖
max_worker_num = 50

配置案例

数据库改为 MySQL。默认情况下 Cloudreve 会使用内置的 SQLite 数据库,并在同级目录创建数据库文件 cloudreve.db,如果您想要使用 MySQL,请在配置文件中加入以下的内容,并重启 Cloudreve。注意,Cloudreve 只支持大于或等于 5.7 版本的 MySQL,且更换数据库的配置后,Cloudreve 会重新初始化数据库,原有数据将会丢失:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[Database]
; 数据库类型,目前支持 sqlite/mysql/mssql/postgres
Type = mysql
; MySQL 端口
Port = 3306
; 用户名
User = root
; 密码
Password = root
; 数据库地址
Host = 127.0.0.1
; 数据库名称
Name = v3
; 数据表前缀
TablePrefix = cd
; 字符集
Charset = utf8

使用 Redis 做缓存。可在配置文件中加入 Redis 相关设置,注意请为 Cloudreve 指定未被其它业务使用的 DB 以避免冲突。重启 Cloudreve 后,可注意控制台输出,以确定 Cloudreve 是否成功连接 Redis 服务器:

1
2
3
4
[Redis]
Server = 127.0.0.1:6379
Password = your password
DB = 0

覆盖从机节点的配置项。Cloudreve 的某些配置项是存储在数据库中的,但是从机节点并不会连接数据库,可以在配置文件中覆盖相应的配置项。比如,从机节点作为存储端运行时,可通过下面的配置设定从机生成的缩略图规格:

1
2
3
4
5
6
7
8
[OptionOverwrite]
thumb_width = 400
thumb_height = 300
thumb_file_suffix = ._thumb
thumb_max_task_count = -1
thumb_encode_method = jpg
thumb_gc_after_gen = 0
thumb_encode_quality = 85

如果从机节点作为离线下载节点使用,可以通过下面的配置覆盖默认的重试、超时参数,以避免默认的数值过于保守导致文件转存失败:

1
2
3
4
5
6
7
[OptionOverwrite]
; 任务队列最多并行执行的任务数
max_worker_num = 50
; 任务队列中转任务传输时,最大并行协程数
max_parallel_transfer = 10
; 中转分片上传失败后重试的最大次数
chunk_retries = 10

评论