刚开始用 Anki ,它的服务器真是让人捉急,索性自己建一个。参考一下文档,几经挫折,我终于建立了我自己的 Anki 服务器,同步速度飞一般的感觉。
阿里云主机(VPS主机)上搭建Anki服务器及Anki服务器搭建方案分析
要成功搭建自己的 Anki 服务器,必备材料有:
- 服务器(上阿里云租去,学生价只要九块九,阿里欠我一条广告费,:-P)
- AnkiSerer 程序
- 会操作 Vim或nano , ssh 连接 的程序员一枚
特别要注意的有
- AnkiServer 是一个 Python 包,使用 easy_install 安装。还未安装 easy_install 的可以参考linux下easy_install的安装与使用详解 安装。
- production.ini 内的是服务器内网IP,客户端连接的是外网IP
- 全程在root下操作
Step 1 服务器配置
如果你已经有了一台服务器,那么登录并切换到 Root 下操作。然后下载 AnkiServer。
easy_install AnkiServer
安装成功测试命令
ankiserverctl.py
注意看安装目录,下一步要复制的文件在安装目录下。一般是
/usr/lib/python2.7/site-packages/AnkiServer-2.0.6-py2.7.egg/examples/
如果不是这个目录,就看自己的安装目录在哪里,总之,要找到这个文件
example.ini
把它复制到 root 的根目录下,并改名为
production.ini
修改 production.ini 文件内容并保存 (这里直接引用文章了)
host= x.x.x.x #自己服务器的内网地址也可是局域网IP
allowed_hosts=0.0.0.0 #允许同步的客户端ip地址,使用0.0.0.0表示允许任何ip地址连接
要改的地方就两处,也就是上图红色框里的内容。这里的内网IP可以在云主机控制台查到。如下图红框所示。
注意:27701 这个端口好不要改!!!
然后添加用户,这里添加的用户是将来在Anki客户端登录时使用的用户,使用以下指令添加用户,然后输入对应的密码。
ankiserverctl.py adduser username #usename替换为你的用户名,如xiaoming
ankiserverctl.py lsuser #列出用户列表,能看到上一步添加的用户即为成功
测试服务器
ankiserverctl.py debug
出现这样的窗口,一直不动,代表服务器调试正常。
按 结束调试,然后启动服务。
ankiserverctl.py start
最后,外网测试能否连上端口,输入外网IP 及 27701 端口号,查看端口是否开放。
T 在线工具,端口扫描
Step2 客户端配置
PC 端:
打开 Anki -> 菜单栏 ->工具 -> 插件 -> 打开插件文件夹
新建名为 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/'
登陆失败的话,把上边最后的
/
号去掉。by zjq 2019-10-24
修改 IP 地址为本机外网 IP,即公网IP。
然后,保存,重启 Anki。照常登录,此处登录名和密码是刚刚 ankiserverctl.py adduser username 中的用户名和密码。然后同步就可以了
安卓手机端:
左滑菜单-> 设置->高级设置 ->自定义同步服务器
网址要注意ankiserver预设是使用http而不是https
然后照常登录就可以了。