HobitLab#1--云服务的有效利用之搭建云笔记

2019-10-09 18:21:06 2点赞 23收藏 10评论

小编注:此篇文章来自#原创新人#活动,成功参与活动将获得额外100金币奖励。2019.10.14-2019.11.17第四期原创新人训练营招募中,点亮你的创作之星。更有iPhone11、礼品卡等多重豪礼等你来拿!~请猛戳此链接报名!

创作立场声明:​本文仅介绍个人喜爱之软件技术,不包含种草及利益往来。【背景介绍】讲述的事搭建过程的想法,如想要快速搭建直接跳转到【干货时间】。具体操作细节有问题的,可以在评论区留言(虽然我也觉得不会有多少人会像我一样咸)。


背景介绍

        前不久,在网上看到了为知笔记发布了一个docker镜像,部署这个镜像就可以快速地搭建出一套简单易用的云笔记服务。很巧,小生使用docker已经有一段时间了,当即决定去薅上一波羊毛。然后就在自己的虚拟机中10分钟完成了搭建。试用下来,个人觉得能满足日常需要(主要也就是拿来做个一日计划日程、工作记录、学习笔记……)。但是这样就得一直带着一个虚拟机了,当然如果有nas,并且nas已经做了公网ip映射(ddns)或者内网穿透,这类的情况用这个服务挺不错的。然而,小生这两样小生都不满足。

        但是,人善智不善力,就这样小生把目光瞄向了小生那孱弱的腾讯服务器(老马,请给广告费,谢谢)。

        今年趁着腾讯云新用户打折,入了一个99元/年的1 核 1 GB 1 Mbps服务器。这就很nice,但是……

数据报错数据报错

       官方有说明是“internal/error.”是服务没有部署好的问题。所以小生在这等了半个小时,然而还是一样。这让小生不禁思绪又拉回了之前文档的一句声明: 

        “注意,要启动为知笔记服务端所有功能,需要将docker引擎的内存设置为至少4G(默认为2G)。请在docker里面进行设置。如果您的系统内存不够,可以通过禁止为知笔记搜索服务,来降低内存占用(使用默认的2G内存)。” 

        那么文章到此结束,告辞~~~。  

        开什么玩笑呢?小生不把羊毛薅到斑秃,能轻易放弃吗?

        上面的问题是,内存导致镜像中的服务有部分无法启动,小生猜测是mysql数据。so,小生的思路是改镜像中服务内容。但是……

复杂的代码复杂的代码

        告辞~~~HobitLab#1--云服务的有效利用之搭建云笔记 

        小生觉得不是内部的开发人员,还是不要动这样的代码好了。而且这样又提升了复杂度。

        那么小生又陷入了云服务内存小水管问题了。可是很巧的是,小生的服务器是linux,更巧的是小生会linux,最巧的是linux有swap分区啊。

        此处做个解释,swap分区是一块特殊的硬盘空间,即当实际内存不够用的时候,操作系统会从内存中取出一部分暂时不用的数据,放在交换分区中,从而为当前运行的程序腾出足够的内存空间。简而言之就是,当你的linux服务器内存不够的时候,你可以用硬盘建一个swap分区,供给cpu使用。  

        所以小生可以在云服务器上建立一个swap分区,欺骗一下为知笔记的docker服务。

        然后重新建立服务,就可以搞定了

登录页面登录页面

        此处做个提醒,swap毕竟不是真正的内存,所以相对而言,速度会慢上许多,但是对于这一类笔记服务,数据请求并不频繁,应该是够用的。还有一个提醒点,之后小生看了镜像中的部分文件内容,其中有elasticsearch、mysql等第三方服务。官方也说明了,需要有4G内存才能使用线上搜索功能,所以小生猜测为知笔记是通过elasticsearch来提供线上搜索服务的。这中间,小生作了一个取舍,将swap分区放在了2G,结合云服务器本身的1G内存,能成功启动为知的docker服务,但是没法使用线上搜索功能。

干货时间

  • 首先,我们得要一个云服务器

腾讯云腾讯云

然后用ssh方式连接到你的云,不赘述,用xshell、putty都可以。

  • 在linux上建立swap分区

  • 创建swap分区过程创建swap分区过程

    命令归纳:

        

free -m #查看内存

dd if=/dev/zero of=/usr/swap bs=1024count=2048000   #/usr/swap 文件在的位置 count为大小

mkswap /usr/swap #创建交换分区

swapon /usr/swap #启动交换分区

echo "/usr/swap  swap      swap defaults 0 0" >> /etc/fstab #追加开机挂载到fstab文件中

free -m #再查看一遍内存信息,原先的swap为0,现在已经是1999了

  • 之后给linux安装docker服务

略,可参考https://www.runoob.com/docker/centos-docker-install.html

  • 之后是拉取wiz镜像,部署服务

启动docker服务启动docker服务

命令归纳:

mkdir wizdata #创建数据保存目录,供docker映射

dockerrun --namewiz -it -d -v~/wizdata:/wiz/storage -v/etc/localtime:/etc/localtime -p 80:80 -e SEARCH=true wiznote/wizserver#官方给的一次性拉取镜像脚本,并对我们所创的文件目录进行映射

理论上就可以了

  • 最后,等~~~~

        docker服务启动需要一段时间,首先是docker pull一个wiznote的镜像,这个视网速而定。

dockerServer启动dockerServer启动

  • 然后等待服务启动,期间如果出现下面这个网页,接着等就好了这是服务还在部署中这是服务还在部署中

  • 如果出现这个问题,先等3分钟,如果没成功,那就看swap分区,检查内存是否正常

  • 数据库未启动数据库未启动

  • 之后,注册和登录用户,官方给出的默认管理员账号:admin@wiz.cn,密码:123456。

登录管理员账户登录管理员账户

也可以点击右边注册账号

注册账号注册账号

  

使用感受 

使用后有几个觉得可能会影响体验的地方,大家也可以看看取舍一下。

  1. 该服务最多只能注册除管理员外的5个账号。

  2. 官方给的管理员账号较为鸡肋,没有帐号的管理权限,也没法对帐号增删

  3. 客户端种类,满足多终端,但是在使用windows客户端的时候点开某些按钮会出现白框。

  4. 没法使用分享功能。

个人觉得的一些优势

  1. 服务器自己管理,感觉更自由一些

  2. 能享受最高的vip权限

  3. 笔记服务使用较贴合小生的日常习惯,日常使用够用

  4. 给了自己一次动手的机会

   

心里话

        一直很关注技术圈的一些好软件,好应用。对于那种能运营好,良心软件,心里真的是不胜感激,也十分心疼。技术的市场上,垄断、技术壁垒、专利保护等等问题,让很多优秀的软件,胎死腹中,也让越来越多的技术人感觉心力交瘁。

        写这样一篇文章并不是为了薅所谓的羊毛,更多的是想让更多人了解到一款好的软件,包容一款好的软件。在技术成熟的道路上,其实没有那么多矫揉造作,有的都是每一个坚持的信念和孤注一掷的信念。

        余之记将自此始之。



   

展开 收起

Microsoft 微软 Office 365 个人版 1年订阅

Microsoft 微软 Office 365 个人版 1年订阅

239元起

《Nebo》触屏笔记类软件 Windows版

《Nebo》触屏笔记类软件 Windows版

暂无报价

Day One(日记+笔记)

Day One(日记+笔记)

暂无报价

《Cardiograph(心电图仪)》iOS应用软件

《Cardiograph(心电图仪)》iOS应用软件

暂无报价

《CanOpener(耳机音质调试)》iOS应用软件

《CanOpener(耳机音质调试)》iOS应用软件

暂无报价
10评论

发表评论请 登录
  • 最新
  • 最热
评论举报

请选择举报理由

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
23
扫一下,分享更方便,购买更轻松