memoryRedis

启用密码认证

如果您使用外部 Redis 服务并需要提供密码,可以通过在以下位置设置 OVERLEAF_REDIS_PASSREDIS_PASSWORD 环境变量在 config/variables.env 文件并运行 bin/up -d 命令以重新创建 sharelatex 容器。

如果您正在运行本地 Redis 实例,则需要配置 redis 服务以密码认证方式启动。设置上述环境变量后,您还需要完成以下额外步骤:

创建一个 docker-compose.override.yml 文件在 config/ 目录中,内容如下:

config/docker-compose.override.yml
services:
    redis:
        命令:"redis-server --requirepass <YOUR-PASSWORD>"
circle-exclamation

运行 bin/up -d 以重新创建容器。

启用追加文件(AOF)持久化

(原文:https://docs.overleaf.com/on-premises/configuration/overleaf-toolkit/redis#enabling-append-only-file-persistence)

Redis AOF(Append-Only File,追加文件)持久化通过记录服务器接收到的每个写操作,提供了一种确保数据持久性的稳健方式。与对数据集进行时点快照的 RDB 不同,AOF 保留了对数据所做的所有更改的完整记录。

circle-info

禁用 RDB 是可选的。通常建议同时使用这两种持久化方法。在生产环境中进行任何更改之前,请先评估同时运行 AOF 和 RDB 的优缺点。

您可以在此处了解有关在 Redis 中启用 AOF 持久化的更多信息: https://redis.io/docs/latest/operate/oss_and_stack/management/persistence/#how-i-can-switch-to-aof-if-im-currently-using-dumprdb-snapshotsarrow-up-rightarrow-up-right

  1. 为升级安排维护窗口。

  2. 使用以下命令停止实例 bin/stop 并备份 config/data/ 文件夹。

  3. 运行 bin/up 以启动实例

  4. 运行命令 docker exec -it redis sh

  5. 运行命令 redis-cli 以打开 Redis 命令行界面

  6. 在 redis-cli 中,运行命令 config set appendonly yes

  7. 现在您需要等待 AOF 重写完成数据持久化。您可以通过输入以下内容来实现: INFO persistence 到 redis-cli 并等待 aof_rewrite_in_progressaof_rewrite_scheduled0,并验证 aof_last_bgrewrite_statusok.

  8. 在 redis-cli 中输入以下命令退出: exit 并按回车键

  9. 通过输入以下命令退出 redis 容器: exit 并按回车键

  10. 运行命令 ls ./data/redis 并确认您可以看到 appendonly.aof 文件

  11. 编辑 config/overleaf.rc 文件并更改 REDIS_AOF_PERSISTENCE 环境变量从 false 直接升级到 true

  12. 运行 bin/up -d 并确保应用程序可正常工作(项目编辑器和历史面板可用)。

最后更新于