最近一直想换一个云笔记,所以前段时间趁着假期折腾了一顿,弄得很头疼。

云笔记我想大家应该都用吧,这也算是一个刚需软件了。

聊到自己对云笔记的核心刚需,其实现在对于我个人来说,像功能性和颜值方面的要求真心不高,只要它支持Markdown书写,支持搜索和文件夹功能就行。我也不需要太花里胡哨的功能,现在反倒觉得越简单越好。

不过数据层面的几个问题往往会更令人头疼。

第一个就是数据的安全性。毕竟数据放在别人平台里,安全性和可控性始终是一个问题,另外还有一些比较隐私的个人东西也不太好往上面记录。

第二个就是数据的备份和迁移。每当想换云笔记时这个痛点就显露出来了,数据怎么高效地备份和迁移是一件比较头疼的事情。这时候总在期望,如果数据可以一键打包备份,换个平台还能一键导入就好了。

当然,还有一个就是收费问题。有些云笔记在一些关键刚需功能上是收费的,比如放图片,比如容量和空间的限制等等。当然这一点没啥可说的,看自己意愿了。

网上关于云笔记选用的讨论看过很多,但还是找不到最心动的,所以这一次还是准备借助于开源项目自己用服务器来搭一个吧。

一次性把这些痛点全解决了,部署在自己手里,完全免费,数据也全部在自己手里,安全可控,支持一键备份迁移,再也不怕换服务器和换平台了。

接下来就记录一下搭建过程,非常简单,5分钟即可搞定,大家手上的服务器也可以用起来了!

素材准备

首先就是准备一台服务器,可以直接使用本地机器,当然也可以选用云服务器,这里准备的是一台Linux云主机。

笔记项目这一次使用的是去年逛GitHub下载过的代码,今天又被我翻出来了。需要代码和操作文档的话可以直接点击传送门获取

个人觉得作为个人云笔记来说是合格的,支持跨平台,支持部署到服务器,并且数据方便可控,常见的功能性需求也基本能够满足。

环境准备

服务器准备好之后,接下来要在上面安装两个组件。

第一个是MongoDB数据库。这没什么好说的,它是一个广泛使用的文档数据库,我们后续的笔记数据就是用它来存的。

第二个就是Nginx服务器。这个使用得也很广泛,它是一个Web服务器软件,之前也演示过很多次,对外发布应用时要用。

至于安装方式就有多种选择了。

一种方式就是手动在服务器命令行里按步骤进行安装,这个之前这里还专门写过一个 《服务器编程环境安装+软件设施部署》PDF手册,在这篇文章里也分享过,过程并不复杂,还可以熟悉一下Linux环境下的操作。

另外一种方式是,如果服务器上有宝塔面板,则可以在宝塔面板的「软件商店」里直接搜索这个两个组件,然后点击进行一键安装即可。

环境准备妥当之后,接下来开始正式部署笔记。

项目下载

这里下载的是Linux版本。可以先下载到本地然后上传服务器,也可以在服务器命令行里直接通过wget命令来获取。

下载完成之后,执行一行命令将其解压即可。

tar -zxvf leanote-linux-amd64-v2.6.1.bin.tar.gz

这里是解压到了/home/www目录,解压完成会生成一个笔记项目的目录。

导入初始数据

这一步我们要将云笔记的初始数据给导入到MongoDB数据库中。

我们进入到刚解压出来的云笔记目录里,其中会有一个mongodb_backup文件夹。

这里面存放的就是云笔记的初始备份数据。

进入文件夹之后,执行一行命令,就能把它们导入到MongoDB数据库中。

mongorestore -h localhost -d leanote --dir leanote_install_data/

启动项目

初始数据导入完成之后。

接下来我们进入到笔记文件夹的bin目录,来启动项目即可。

执行一行命令,让项目在后台启动。

nohup bash run.sh &

这时候我们就可以在浏览器里通过访问服务器IP+9000端口,就能看到自己部署的云笔记了。

注意:这里要预先在服务器控制台里放通9000端口。

然后选择登录云笔记即可,初始用户名为admin,密码为abc123。

登进去之后,记得在个人中心里先自行修改一下用户名和密码即可。

这样笔记服务就已经在服务器上部署起来了,接下来对外发布一下即可。

发布应用

这里我们是通过Nginx Web服务器来发布笔记应用。

我们直接修改nginx.conf配置文件,这里主要就两个配置,这在之前文章里也配置过很多次。

首先是定义一个upstream,指向上一步骤中笔记服务的实际地址,也就是9000端口地址的这个服务。

upstream note {server 127.0.0.1:9000;
}

然后再在location配置里指向该upstream就可以了。

location / {proxy_pass http://note;proxy_set_header HOST $host;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

然后重启Nginx后,这时候在浏览器里只需要输入服务器IP地址,即可访问云笔记了,而不再需要加9000端口了。

功能体验

出于篇幅考虑,这里也来简单体验一下这个云笔记。

Markdown书写

常见的md语法比如:一级标题、二级标题、三级标题、分隔符、图片、代码块、数学公式、表格、流程图、待办事项、有序列表、无序列表、引用、脚注都支持,整体还可以。

多层文件夹(子笔记)

自定义标签

支持附件

如果有需要,可以自行文件上传的大小限制

全平台客户端

这个客户端可以连到自己的自建笔记服务,所以还是挺好的。

数据的备份和迁移

最后再来聊一下笔记数据的备份和迁移问题,这个尤为重要,毕竟折腾半天主要就是期望有这个功能。

因为数据现在完全在自己手上,位于自己服务器上的MongoDB数据库里。

所以这样就只需要执行一行mongodump命令,就可以把数据备份下来。

mongodump -h localhost -d leanote -o <dir>

以后如果想换服务器或者换平台,直接把数据迁移过去,然后再执行一下mongorestore即可

mongorestore -h localhost -d leanote --dir <dir>

这样即可恢复和重建数据,还是比较方便的。

最后还有一个需要注意的是,因为这里的MongoDB初始是没有用户的,所以建议还是给MongoDB添加一个用户和密码,然后在笔记的配置文件里修改一下对应MongoDB的用户配置,这样就行了。

后 记

这样一来,文章开头提到的几个关于笔记使用的痛点问题基本就都能解决了,所以有兴趣的小伙伴可以尝试一下,手上的服务器也可以用起来。

再见了,收费的云笔记,自己搭建的就是好用相关推荐

  1. php搭建markdown云笔记_搭建个人 Leanote 云笔记本

    Leanote 是目前为止发现的最有 bigger 的云笔记,具备 markdown 输入,代码高亮,多人协作,笔记历史记录,笔记内导航,直接发布为博客等等能力.本实验将带您一步步搭建属于自己的云笔记 ...

  2. 自建私有云笔记蚂蚁搭建

    蚂蚁笔记搭建 蚂蚁笔记介绍 Mongodb安装 打开清华大学开源镜像软件 找到对应自己操作系统的文档说明,按照文档安装即可,这里以ubuntu20.04为例 添加公钥 添加软件镜像地址 更新源并安装 ...

  3. leanote蚂蚁笔记 私人云笔记服务搭建

    leanote蚂蚁笔记 目前在知识管理/笔记类软件领域有强大的印象笔记 (Evernote).微软(OneNote).国产的(为知笔记).(有道云笔记)以及(讯飞语记)等都是非常优秀的产品,但总有一部 ...

  4. 再见,收费的 Teamviewer!!!

    微信搜索逆锋起笔关注后回复编程pdf 领取编程大佬们所推荐的 23 种编程资料! 1.背景介绍 teamviewer 想必很多人听过吧,一款远程控制软件,如果没有接触过的,没关系,你是否有这样的需求: ...

  5. Typora+PicGo+Gitee+坚果云搭建云笔记

    之前用过一段时间Typora+PicGo+SM.MS,但后来某一天发现图片上传不了了,一查原来是SM图床挂掉了,也就没再去捣鼓了.最近,发多图博客又觉得不用图床的话,Typora在本地写的文章直接导入 ...

  6. leanote mysql_leanote 服务器搭建

    搭建个人Leanote云笔记本的笔记 1.连接ECS服务器2.安装MongoDB首先安装MongoDB启动MongoDB服务,并查看MongoDB运行状态3.安装Leanote下载Leanote二进制 ...

  7. 花30天整理了11个超棒的Java开源项目,雀氏牛逼

    之前有粉丝让我推荐一些好的开源项目,所以上个月我几乎每天都会分享一个不错的项目,为了方便大家阅读,我今天把上个月发的项目都整理一下(真的不是为了水文啊!!) 这不是快秋招了嘛,所以这个月准备发一发面试 ...

  8. Jenkins太坑?试试这几款替代方案,贼香!

    点击"终码一生",关注,置顶公众号 每日技术干货,第一时间送达! Jenkins 是目前最常用的持续集成工具,拥有近 50% 的市场份额,它还是很多技术团队的第一个使用的自动化工具 ...

  9. chrome java插件_Java程序员喜欢的10款软件里有你在用的吗?

    作为一名Java程序员,日常开发的过程中,我们需要借助很多工具来进行编码.好的工具可以极大的提升程序员的工作效率,今天我们来认识下大多数程序员喜欢的10款软件.持不同意见或有想要补充的小伙伴,欢迎评论 ...

最新文章

  1. 89岁教授起诉知网获赔70万:自己的论文竟要花钱才能看?
  2. 向人类进化史看齐,编程语言的“别样”编年史
  3. Yann LeCun:掌舵Facebook人工智能 | 完美人物志
  4. 星座图与IQ调制总结+BPSK、QPSK、8PSK、16QAM等的区别与总结
  5. 华为麒麟990芯片发布;谷歌宣布开源创新隐私保护技术;阿里20亿美元全资收购网易考拉;中国联通将设立100亿5G创新基金……...
  6. IE7下position:relative的问题
  7. docker 关闭所有容器_软件安全 : Docker逃逸详解
  8. RTKLIB源码之单点定位/相对定位后处理简化版—第一版
  9. 开机引导界面grub找不到
  10. 有一个小于500的三位数abc,对于这三个数,甲乙丙丁有如下说法:.......................请问2a+b-c等于多少?
  11. 怎么把图片转换成pdf格式?图片转PDF方法
  12. throw er; // Unhandled ‘error’ event
  13. 在服务器上离线下载并在线播放 Cloud Torrent
  14. 羽毛球击球点与自身位置[羽球技术入门必读]
  15. 自制Unity文件查找器,支持拼音搜索
  16. [CTF]ACSII码
  17. DJ12-2 8086 系列指令系统(第一节课)
  18. 菲尼克斯PSR-SCP- 24DC/FSP2/2X1/1X2耦合继电器
  19. 小程序快速获取openid
  20. 跨境电商亚马逊中东站和日本站优缺点解析

热门文章

  1. 基于奇异值分解的图像压缩matlab
  2. 学习BLE蓝牙一个月总结
  3. 安装numpy时报错
  4. Web前端开发工程师必备技术列表
  5. 圣天诺HL加密锁(原HASP加密锁)快速入门
  6. OmniPeek-20180725-Error 2502/Error 2053
  7. matlab计算联合熵,两个图像的相互信息和联合熵 – MATLAB
  8. 不可告人的隐私百度云_理解围绕软件技术标准的不可告人的动机和力量
  9. 蠕虫病毒的查杀 (转)
  10. 请收藏——QKL123!它能帮你挖掘项目价值(附2019年3月排行榜)