阿里雲主機(VPS主機)上搭建Anki伺服器及Anki伺服器搭建方案分析
背景簡介:
大家都知道Anki是一款優秀的記憶軟體,擁有優秀的記憶演算法,高度可定製性,跨幾乎所有平台等諸多優點。但由於AnkiWeb的伺服器在國外,國內同步的同步速度真的是相當的慢- -,如果只有卡片只有文字內容還能接受,如果記憶庫中有許多媒體文件(圖片,音頻等),同步速度根本沒法忍- -...如果手動同步,又太麻煩(好吧其實是我懶- -),還好我們可以通過自己搭建伺服器的辦法達到較快的同步速度。
適用人群:
- 被Anki伺服器同步速度慢困擾的
- 有錢(租用雲主機)
- 有閑(搭建伺服器是很麻煩的一件事情,各種踩坑)
- 願意折騰(我不會告訴你我折騰了一整天加一個上午才全部搞定,真是扎心ヽ(≧□≦)ノ
- 需要同步的設備為安卓手機/平板和windows PC,IOS不支持修改成自己的同步伺服器。
搭建伺服器的可選方案:
- 在本地搭建(樹莓派,筆記本,安卓手機等)/在雲端搭建(阿里雲,騰訊雲等...)
- 基於windows平台搭建/基於linux
如果要實現24h隨時同步,伺服器需要24h開機,對個人來說,未免太費電。2333...
因此我想到的最適合個人的解決方案應該是在雲端基於linux搭建Anki同步伺服器。(也試過用windows,但成功與否似乎看運氣- -,又總是出現不明錯誤,遂放棄- -)
其他方案可參考文末的參考資料。
回到主題,本文簡單介紹在阿里雲主機(基於Linux)上搭建自己的Anki伺服器,不廢話了,開始嘿嘿。
雲主機的知識在這裡詳細介紹,可以大致理解為一台運行在雲端的完整的個人電腦(說錯了不要打我 : P),可選windows也可選linux。阿里和騰訊雲都有針對大學生的優惠政策,阿里9.9元/月,騰訊8元/月,配置略有不同,不過搭建一個Anki伺服器都綽綽有餘,個人覺得這個價格相當划算。(感謝兩位馬叔叔??)
由於我自己用的搭載在阿里雲的Anki伺服器已配置完成,穩定使用,故以下以騰訊云為例,並沒有多大區別,標題似乎有誤(不管了 就這樣??)
1.申請雲主機,網址自行百度
阿里雲
騰訊雲2.在雲主機上安裝linux(這裡選用centos 7版本)
登錄雲主機登錄linux系統,使用前面設置過的用戶名與密碼yum -y groupinstall "Server with GUI" 安裝圖形化程序組n
啟動桌面
startxn
成功進入桌面環境
4.安裝ankiserver在命令行中執行:easy_install AnkiServern
ankiserverctl.pyn
5.建立ankiserver配置文件
從文件管理器進入目錄/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 #自己伺服器的內網地址也可是區域網IPnallowed_hosts=0.0.0.0 #允許同步的客戶端ip地址,使用0.0.0.0表示允許任何ip地址連接n
這裡添加的用戶是將來在Anki客戶端登錄時使用的用戶,使用以下指令添加用戶,然後輸入對應的密碼
ankiserverctl.py adduser username #usename替換為你的用戶名,如xiaomingnankiserverctl.py lsuser #列出用戶列表,能看到上一步添加的用戶即為成功n
- 故障處理
在測試伺服器的時候,我這裡出現了這樣的報錯:
Anki requires a UTF-8 localen
這個錯誤是由於系統的編碼不是UTF-8所致,因此我們只要改變編碼即可,可以使用以下的方法改變編碼:
export LC_ALL="en_US.UTF-8"n
- 調試模式運行:
ankiserverctl.py debugn
- 關閉命令行窗口,重新進入,正常運行命令
ankiserverctl.py startn
8.外網測試能否連上埠
埠掃描 - 站長工具填入外網IP及埠27701--狀態開放成功標誌:外網ip,及埠可被檢測到開放狀態至此在伺服器端的配置已經告一段落了,下面是同步端(需要同步的安卓手機,電腦等,IOS設備不支持自己搭建伺服器)的配置8.同步端的(軟體端)配置看這篇文章,我搬運過來,謝謝原作者。Linux 下自建Anki伺服器 - 知乎專欄8.1 ANKI桌面版設定開啟插件文件夾
新增一個txt擋案,檔名修改為mysyncserver.py。
文件內容如下
import anki.syncnanki.sync.SYNC_BASE = http://192.168.0.100:27701/nanki.sync.SYNC_MEDIA_BASE = http://192.168.0.100:27701/msync/n
IP自行修改為本機區網IP
保存後,重啟anki即可測試同步。
8.2 Android版anki(AnkiDroid)設定ps.ios目前無法自定義server IP。網址要注意ankiserver預設是使用http而不是https
其中桌面版和安卓版中的IP地址都改成雲主機的外網IP即可,埠號保持27701不變。
配置完成後,記得及時給雲主機續費,雲主機就會不辭辛勞的在雲端工作,給你提供24小時的同步服務啦~
想在哪裡學就在哪裡學,想什麼時候學就在什麼時候學,媽媽再也不用擔心我的學習啦~
現在開始享受飛一般的,隨時隨地的,多平台Anki同步服務吧~
參考資料:Linux 下自建Anki伺服器 - 知乎專欄利用遠程伺服器搭建Anki服務自建ANKI同步伺服器(使用AnkiServer),運行環境windows。 - 知乎專欄【英語閱讀背單詞】Anki自建伺服器教程AnkiServer 2.0.6推薦閱讀:
※雲棲大會Clouder Lab六劍齊發,學技能拿認證模式受熱捧
※阿里雲大學與中科院計算所成立「大數據與智能計算工作委員會」
※教育部阿里雲聯合推進雲計算人才培養首批9本教材出版
※機器學習PAI為你自動寫歌詞,媽媽再也不用擔心我的freestyle了(提供數據、代碼)
※驚爆 | 貓哥獨家連線阿里巴巴未來CEO!
TAG:Anki知识记忆工具 | 阿里云 | AnkiDrive |