Anki-Sync-Server 高级配置:使用 Supervisor 实现7x24小时稳定运行

Anki-Sync-Server 高级配置:使用 Supervisor 实现7x24小时稳定运行 Anki-Sync-Server 高级配置使用 Supervisor 实现7x24小时稳定运行【免费下载链接】anki-sync-serverA personal Anki sync server (so you can sync against your own server rather than AnkiWeb)项目地址: https://gitcode.com/gh_mirrors/ank/anki-sync-server想要打造一个个人专属的 Anki 同步服务器吗厌倦了依赖 AnkiWeb 的同步限制Anki-Sync-Server 正是你需要的解决方案本文将为你详细介绍如何通过Supervisor实现 Anki-Sync-Server 的7x24小时稳定运行让你的记忆卡片随时随地同步无忧。什么是 Anki-Sync-ServerAnki-Sync-Server是一个开源的个人 Anki 同步服务器让你可以搭建自己的同步服务替代官方的 AnkiWeb。它支持桌面端和移动端的 Anki 客户端同步完美解决了数据隐私和同步速度的问题。通过部署自己的Anki 同步服务器你可以完全掌控数据存储位置享受更快的同步速度并且不受官方服务的限制。这对于需要频繁同步大量卡片的用户来说是一个完美的解决方案。为什么需要 Supervisor 管理当你在服务器上部署Anki-Sync-Server后你可能会遇到以下问题服务器重启后需要手动启动服务进程意外崩溃后无法自动恢复难以查看和管理服务日志缺乏进程监控和自动重启机制Supervisor正是解决这些问题的利器它是一个进程控制系统可以 ✅ 自动启动服务 ✅ 监控进程状态 ✅ 自动重启崩溃的进程 ✅ 集中管理日志 ✅ 提供简单的控制接口安装 Supervisor 和配置 Anki-Sync-Server1. 安装 Supervisor对于 Debian/Ubuntu 系统安装非常简单sudo apt-get update sudo apt-get install supervisor其他 Linux 发行版可以参考 Supervisor 官方安装指南。2. 配置 Anki-Sync-Server首先确保你已经按照 README.rst 中的说明成功安装了Anki-Sync-Server。关键配置文件包括主配置文件example.ini - 服务器运行配置Supervisor 配置模板supervisor-anki-server.conf - Supervisor 管理配置3. 创建 Supervisor 配置文件项目已经为你准备好了 Supervisor 配置模板。你需要将其复制到 Supervisor 的配置目录并进行适当修改sudo cp supervisor-anki-server.conf /etc/supervisor/conf.d/anki-server.conf现在编辑这个配置文件根据你的实际环境进行调整[program:anki-server] ; Anki Server 启动命令 command/usr/local/bin/paster serve production.ini ; Anki Server 工作目录 directory/var/lib/anki ; 运行用户建议非 root 用户 useranki ; 自动启动和重启设置 autostarttrue autorestarttrue redirect_stderrtrue ; 环境变量设置如有需要 ;environmentLANGen_US.UTF-8,LC_ALLen_US.UTF-8,LC_LANGen_US.UTF-8关键配置说明command指向你的 paster 命令路径和配置文件directoryAnki 数据存储目录user运行服务的用户需要有数据目录的读写权限autostart系统启动时自动启动autorestart进程崩溃时自动重启4. 创建 Anki 数据目录和用户# 创建 Anki 用户 sudo useradd -r -s /bin/false anki # 创建数据目录 sudo mkdir -p /var/lib/anki/collections sudo chown -R anki:anki /var/lib/anki5. 准备生产配置文件创建production.ini配置文件[server:main] use egg:AnkiServer#server host 0.0.0.0 port 27701 [app:real] use egg:Paste#urlmap / rest_app /msync sync_app /sync sync_app [app:rest_app] use egg:AnkiServer#rest_app data_root /var/lib/anki/collections allowed_hosts * [app:sync_app] use egg:AnkiServer#sync_app data_root /var/lib/anki/collections base_url /sync/ base_media_url /msync/ session_db_path /var/lib/anki/session.db auth_db_path /var/lib/anki/auth.dbSupervisor 管理命令大全启动和停止服务# 重新加载 Supervisor 配置 sudo supervisorctl reload # 启动 Anki-Sync-Server sudo supervisorctl start anki-server # 停止服务 sudo supervisorctl stop anki-server # 重启服务 sudo supervisorctl restart anki-server # 查看服务状态 sudo supervisorctl status anki-server监控日志输出# 实时查看日志 sudo supervisorctl tail -f anki-server # 查看最后 100 行日志 sudo supervisorctl tail -100 anki-server # 查看标准输出日志 sudo supervisorctl tail anki-server stdout # 查看错误日志 sudo supervisorctl tail anki-server stderr高级管理功能# 更新配置后重新加载 sudo supervisorctl update # 重新读取所有配置 sudo supervisorctl reread # 查看所有进程状态 sudo supervisorctl status # 启动所有进程 sudo supervisorctl start all # 停止所有进程 sudo supervisorctl stop all常见问题排查指南1. 服务启动失败如果Anki-Sync-Server无法启动首先检查日志sudo supervisorctl tail anki-server常见问题包括权限问题确保/var/lib/anki目录对anki用户可写端口冲突检查 27701 端口是否被占用依赖缺失确保所有 Python 依赖已安装2. 同步连接问题如果 Anki 客户端无法连接到你的个人 Anki 同步服务器检查防火墙设置sudo ufw allow 27701/tcp验证服务是否在监听netstat -tlnp | grep 27701测试连接curl http://localhost:27701/3. 性能优化建议对于大量用户或卡片的情况数据库优化定期清理会话数据库内存管理调整 Python 进程内存限制日志轮转配置日志文件大小限制备份策略定期备份collections目录与反向代理集成使用 Nginx 作为反向代理如果你希望通过域名访问Anki 同步服务器可以配置 Nginxserver { listen 80; server_name anki.yourdomain.com; location / { proxy_pass http://127.0.0.1:27701; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }使用 Apache 作为反向代理Apache 配置示例VirtualHost *:80 ServerName anki.yourdomain.com SetEnv no-gzip 1 Location / ProxyPass http://localhost:27701/ ProxyPassReverse http://localhost:27701/ /Location /VirtualHost安全最佳实践1. 使用非 root 用户运行始终使用专用用户运行Anki-Sync-Server如前面配置中的anki用户。2. 配置防火墙# 只允许特定 IP 访问 sudo ufw allow from 192.168.1.0/24 to any port 277013. 启用 HTTPS通过反向代理配置 SSL 证书确保数据传输安全。4. 定期更新定期检查项目更新获取安全修复和新功能cd /path/to/anki-sync-server git pull origin master pip install -r requirements.txt监控和维护1. 设置监控告警配置 Supervisor 事件监听当服务异常时发送通知[eventlistener:anki-monitor] command/path/to/monitor-script.py eventsPROCESS_STATE_EXITED2. 定期健康检查创建定期检查脚本#!/bin/bash response$(curl -s -o /dev/null -w %{http_code} http://localhost:27701/) if [ $response ! 200 ]; then sudo supervisorctl restart anki-server fi3. 日志管理配置日志轮转防止日志文件过大[program:anki-server] # ... 其他配置 ... stdout_logfile/var/log/anki-server/out.log stdout_logfile_maxbytes50MB stdout_logfile_backups10 stderr_logfile/var/log/anki-server/err.log stderr_logfile_maxbytes50MB stderr_logfile_backups10总结通过Supervisor管理Anki-Sync-Server你可以获得高可用性7x24小时不间断运行 ️自动恢复进程崩溃后自动重启 集中监控统一查看和管理日志 ⚡便捷管理简单的命令行控制接口 灵活配置根据需求调整运行参数现在你已经掌握了使用Supervisor部署和管理个人 Anki 同步服务器的完整流程。无论是个人使用还是团队共享这套方案都能确保你的 Anki 数据同步服务稳定可靠。记住数据备份同样重要定期备份你的collections目录确保珍贵的记忆卡片永不丢失。祝你在记忆学习的道路上越走越远✨【免费下载链接】anki-sync-serverA personal Anki sync server (so you can sync against your own server rather than AnkiWeb)项目地址: https://gitcode.com/gh_mirrors/ank/anki-sync-server创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考