云主机日付(天付云主机)

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

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

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

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

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

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

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

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

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

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

云主机日付(天付云主机)

素材准备

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

笔记项目这一次使用的是去年逛GitHub下载过的代码,今天又被我翻出来了。链接这里放不了,需要代码和操作文档的朋友转发本文后私信【610】即可无偿获取

云主机日付(天付云主机)

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

环境准备

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

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

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

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

一种方式就是手动在服务器命令行里按步骤进行安装,这个之前这里还专门写过一个《服务器编程环境安装+软件设施部署》PDF手册,需要的同学转发本文后私信【610】即可,过程并不复杂,还可以熟悉一下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的用户配置,这样就行了。

后 记

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

    

使用无须实名的阿里云国际版,添加 微信:ksuyun  备注:快速云

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 cloud@ksuyun.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.hanjifoods.com/11093.html