Linux 下自建Anki服务器

Linux 下自建Anki服务器

入手Anki也有半年了,一直觉得挺好用的,但是也只是简单记一下英语,古诗词之类的东西。

但是一直苦于anki服务器在日本的问题,同步特别慢。二来是自己也有自己的一些小九九不希望存在别人的服务器上。而且最近Anki的知乎专栏出了在windows上搭建Anki服务器的教程。

可是伦家有一个树莓派,吃灰好几个月了。想搭建在linux上。查了查文档,鼓捣了一晚上,还问了Anki群里的大家,谢谢大家的帮助。

ANkI服务器端配置

1.首先安装ankiserver的服务器套件,用easy_install安装就好了,自动处理依赖关系。不要用pip,不知道为什么,会有莫名其妙的问题

$ easy_install Ankiserver

2.在自己的用户目录下创建一个目录Anki

$ mkdir Anki

3.进入这个目录

$ cd Anki

4.复制一个example.ini 到当前目录,修改为production.ini。这个文件我也没从官方给的路径里面找到。自己去 AnkiServer 2.0.6 下载一个source包就好了。里面有两个重要的配置文件,一个是production.ini 一个是supervisor-anki-server.conf。

5.编辑production.ini,修改基本参数,我修改了以下参数

host = 192.168.0.100  #服务器的地址
allowed_hosts = 192.168.0.30,192.168.0.40 #允许同步的客户端ip地址,你也可以写0.0.0.0 允许任何ip地址连接


6.添加用户名密码

$ ankiserverctl.py addser anki #添加一个anki用户,而后输入密码

7.测试运行

$ ankiserverctl.py debug 

没有什么特殊的问题,这个时候就可以运行了



ANKI桌面版设定

开启插件文件夹


新增一个txt挡案,檔名修改为mysyncserver.py。

文件内容如下


import anki.sync
anki.sync.SYNC_BASE = 'http://192.168.0.100:27701/'
anki.sync.SYNC_MEDIA_BASE = 'http://192.168.0.100:27701/msync/'

IP自行修改为本机区网IP

保存后,重启anki即可测试同步。

android版anki(AnkiDroid)设定,IOS目前无法自定义server IP。


网址要注意ankiserver预设是使用http而不是https

服务器建立开机启动和服务器监视

官方给了个建议,建议可以用supervisor 来监视和管理ankiserver,ankiserver出现问题会被自动重启

1.安装supervisor

$ sudo apt-get install supervisor

2.复制配置文件到目录

$ sudo cp supervisor-anki-server.conf /etc/supervisor/conf.d/anki-server.conf

3.修改配置文件

directory=/home/pi/Anki#把这个参数改成Anki的数据目录

user=pi#树莓派我就直接用这个用户了

4.重新载入supervisor

$ sudo supervisorctl reload

5.进行管理

$ sudo supervisorctl stop anki-server

$ sudo supervisorctl start anki-server

$ sudo supervisorctl restart anki-server

PS:如果有任何问题重启一下树莓派就好啦


参考资料:

AnkiServer 2.0.6

自建ANKI-Server,server运行环境windows,手机是IOS就不用看了。

图片内容来自Joy Jiang - 知乎

编辑于 2018-04-12

文章被以下专栏收录