Anki自带的AnkiWeb同步服务体验较差,当你的单词库较大时,同步起来体验非常的差。因此我在腾讯云上自己搭建了Anki同步服务器。
注意:
我在网上查到的教程都是比较老的,而且大都模仿Anki知乎专栏的这篇文章。我主要是参考了idealclover的Linux 下尝试自建Anki服务器,在此表示感激。
我在腾讯云上有个云服务器,关机重新安装系统,很方便,然后用putty远程登录服务器
# easy_install AnkiServer
报错
“your setuptools is too old (<12)”
从头开始看,安装PasteScript的时候就不正常了,然后我试着pip PasteScript,机器没有pip,用easy_install 也不行,我干脆去下了个pip。
# curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
# python get-pip.py
然后直接
pip install AnkiServer
就好了
~目录下创建Anki文件夹
# mkdir Anki
找到AnkiServer中示例配置的目录,我的在/usr/lib/python2.7/site-packages/AnkiServer-2.0.6-py2.7.egg/examples
复制example.ini 到我们的目录,修改为production.ini
# cp example.ini ~/Anki/production.ini
之后编辑该文档
# vim ~/Anki/production.ini
我用红色涂抹的是主机地址,填你的服务器的内网地址,下面的允许来访问你的服务器的机器的ip,可以枚举每个你允许的ip,也可以设置0.0.0.0 允许任何ip地址连接,然后按esc键,输入:wq保存并退出vim
# ankiserverctl.py -h
查看命令选项
输入 # ankiserverctl.py adduser <username>
来添加用户,该命令回车后会要求你输入密码
可以查看是否成功添加了用户
# ankiserverctl.py lsuser
成功的话,你会看到自己添加的用户名
测试运行
# ankiserverctl.py debug
没有报错的话我们就可以正式运行Ankiserver了,先用Ctrl+C中止调试程序,然后
# ankiserverctl.py start
打开插件文件夹
本来这里是没有这个mysyncserver.py文件的,我们创建一个
文件内容如下:
import anki.sync
anki.sync.SYNC_BASE = 'http://[你的服务器外网ip]:27701/'
anki.sync.SYNC_MEDIA_BASE = 'http://[你的服务器外网ip]:27701/msync/'
保存后,重启Anki客户端
点击同步按钮,输入自己在服务器里设置的用户名和密码,然后就像用AnkiWeb服务一样了,不过体验如丝般顺滑,而且可以同步很大的库文件
一定要注意URL协议是http,用HTTPS会提示网络错误,无法登录
得益于大家的力量,我完成了自己的Anki服务器搭建,但愿我的文章也能给你提供帮助。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。