-
背景
为了解决anki在国内同步慢的问题,我用阿里云的云服务器为其专门搭建一个服务器,用以加快同步速度。在过程中,也踩了不少的坑,同时也得到了一些体会,对云服务器有了更深刻的了解。事实上,知道原理后,可以选择在局域网搭建速度更快,因为baipiao的服务器存在带宽限制,而云端的服务器就好在可以随时随地同步,当然如果氪点金买个稍微好点的服务器就更完美了。
-
需要买一台云服务器
首先肯定需要一台云服务器,而在疫情期间,阿里云推出了”高校计划“,免费送高校学生6个月的
所以我"baipiao"了一台,需要完成学生认证和相关测试,流程比较简单,基本属于有手就行。关于其服务器配置大致如下,仅1M带宽。区域可以任意选一个,系统我选择的是Centeros7.3版本。当然可以随意更换。
当然一些关于更换系统,选择配置,重置密码,配置安全组等基本操作,可以在页面上的课程进行了解。
当你购买了云服务器后,需要特别注意两个东西一个是它给你分配的ip(公网和私网)、另一个则是安全组的规则,这里决定了你要开放哪些端口。
-
云服务器
云服务器相当于在云端上的一台电脑,区别的是它是虚拟的,不是像日常生活中我们看得见摸得着的电脑。由于它是虚拟的,也就是说,它的配置是可以随意更改的,而且它不像我们升级自己的电脑配置那么麻烦,在
该界面,动动手指就能升级想要的配置。而且它相当于一台全新的电脑,随便你怎么折腾,只要做好快照,回滚和重置都很便利,我为了弄搭建anki的服务器也折腾了很久,所以很有感触,而在我们自己的电脑上就有很多顾虑了。另外在云上搭建开发环境亦可以肆无忌惮。
-
远程登录
虽说是云端的“新电脑”,但是还是要在自己的电脑上对其操作,putty是我看教程中推荐的SSH连接工具,这里给上
下载链接:https://pan.baidu.com/s/1wHFC60CNby2WQ2ypbUCoKw
提取码:hkc4解压以后,双击打开putty.exe
在会话选项卡的主机名称处输入,阿里云给你分配的公网IP
然后打开即可。在下方界面输入用户名和密码,如果不知道可以在实例界面重置实例密码
-
一些准备工作
-
关于操作系统的适应
事实上,当你登录你在云端的电脑时,由于是centeros,对于windows用户来说是不习惯的,所以需要对一些命令有基本的认识,以下我给出至少要会的基本的几条命令
ls 罗列出当前目录的子目录 cd 目录名 进入该目录 cd .. 返回上级目录 rm 文件名 删除某文件
其他的命令在需要时,或者系统学习时,可以补充学习。
-
我踩的一些坑
-
首先,需要搞清楚一些基本的逻辑:
- 我们购买的云服务器,本质上相当于我们在云端上的一台新电脑,它本身不具备anki服务器功能
- 我们需要用github上,有人提供自己搭建同步服务器的源代码,来搭建anki同步服务器
-
使用
-
在我搭建anki服务器之前,我也查过相关资料,并且也按其步骤进行了操作,步骤不算难,但是要命的是,电脑端总出现问题。在后续的了解中,我明白了是PC的版本兼容问题。
在github上有两个解决方案
但是网络上大多基于上方的源代码,用的是不在维护python2.7,且仅支持PC端anki2.0(现在是2.1),可以说几乎过时,所以使用上面的源代码是无法与现版本的PC端anki2.1兼容的,这是一个方面,所以使用下面2.1版本的源代码。
-
-
-
搭建过程
-
打开端口
在此之前要先打开公网的27701端口,具体设置如下:
如何检测是否打开呢?http://tool.chinaz.com/port/ 该网址,分别输入公网ip及端口号
显示开启即可。
-
输入命令
接着登录好云服务器后,由于上面啥都还没有,需要安装(python,git,以及源码等)依次输入以下命令(注释略过)
yum install \ https://repo.ius.io/ius-release-el7.rpm \ https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm //上面为更换yum 源为lus第三方源 yum makecache yum install python36u yum -y install python36u-pip yum -y install python36u-devel yum install git git clone https://github.com/tsudoko/anki-sync-server.git cd anki-sync-server git submodule update --init cd anki-bundled pip3.6 install -r requirements.txt echo '/# Packaged commands/,$d;w' | tr ';' '\n' | ed anki/sound.py echo '/^pyaudio/d;w' | tr ';' '\n' | ed requirements.txt pip3.6 install webob pip3.6 install -r requirements.txt cd .. //添加用户 python3.6 ./ankisyncctl.py adduser 用户名 //这里会弹出设置密码 python3.6 -m ankisyncd //如果正常运行,就按下Ctrl + C 停止任务,执行下面的代码 nohup python3.6 -m ankisyncd & //再按下回车,结束 另:如果你的服务器重启了,输入下面代码,重启anki服务器 cd anki-sync-server nohup python3.6 -m ankisyncd & 下面为添加更多用户 cd anki-sync-server python3.6 ./ankisyncctl.py adduser 用户名 注:这里的用户是你自己云端服务器的用户,与你在anki官网注册的没什么关系,也就是说,你在登录时,上面添加的用户才能登录
服务器搭建完毕
-
安卓端设置
!!!注意不要再地址末尾+/
-
电脑端设置
-
最好不要用anki最新版本,这里推荐anki2.1.8,在下方链接中
-
插件不兼容,需要在其插件文件夹下建立插件文件,可以按以下步骤找到插件路径
-
-
建立ankisyncd文件夹并将以下链接中的同名文件移入该文件夹
链接:https://pan.baidu.com/s/1XNU0ZwGG5H-JAZe1i1-xbw
提取码:tu8x
并将框中ip换为你服务器的公网ip
然后就直接用服务器中注册的用户登录啦