Leanote与mongodb布置总结
背景介绍Leanote 是一款类似于印象笔记的开源的笔记项目,具体介绍请访问 Github 该项目。在 Github 上该项目有着详细的中文版的介绍以及安装步骤,但是由于 Linux 不熟练,我还是遇到了如下问题:虽然根据说明可以成功部署并运行,但是一旦断开会话或关闭终端,mongodb 与 leanote 都会停止工作。如何用 fork 命令使得 mongodb 在后台运行。如何使用...
背景介绍
Leanote 是一款类似于印象笔记的开源的笔记项目,具体介绍请访问 Github 该项目。
在 Github 上该项目有着详细的中文版的介绍以及安装步骤,但是由于 Linux 不熟练,我还是遇到了如下问题:
- 虽然根据说明可以成功部署并运行,但是一旦断开会话或关闭终端,mongodb 与 leanote 都会停止工作。
- 如何用 fork 命令使得 mongodb 在后台运行。
- 如何使用 nohup 命令使得 run.sh 脚本在后台运行。
- 如何编写一个 shell 脚本来实现开机自启、一键启动、停止。
本文主要目的是总结在 Linux 环境下工作的经验,详细记录刚掌握的知识点。
mongodb 与非关系型数据库
mongodb 是非关系型数据库的一种,与 MySql 等关系型数据库相比,它的特点有:
- 高并发,读写能力强
- 弱化数据结构一致性,使用更加灵活
- 有良好的拓展性(mysql 等很难横向拓展)
- 通用性差 , 没有 sql 语句那样通用的语句
- 操作灵活导致容易出错和混乱
- 没有外键关联等复杂的操作
总的来说,关系型数据库(mysql)适合存储结构化数据,例如:用户账号、地址等信息;而非关系型数据库适合存储非结构化的数据,例如:文章、评论等。更加具体的区别与用法不做展开。
总的来说,mongodb 上手轻松,使用简单,而本文用到的指令仅仅三四个。
mongodb 的安装与配置
首先去 mongodb官网 下载压缩包,或者点击下载mongodb-linux-x86_64-3.0.1.tgz。
下载完成后,只需做两步工作:解压与配置环境变量
$> tar -xzvf mongodb-linux-x86_64-3.0.1.tgz/
为了快速使用 mongodb 命令, 可以配置环境变量。编辑 ~/.profile 或 /etc/profile 文件, 将 mongodb/bin 路径加入即可:
$> sudo vim /etc/profile
在 /etc/profile 中添加以下行,注意把用户名(user1)和相应的文件目录名(mongodb-linux-x86_64-3.0.1)替换成自己系统中的名称:
export PATH=$PATH:/home/user1/mongodb-linux-x86_64-3.0.1/bin
保存修改后,在终端运行以下命令使环境变量生效:
$> source /etc/profile
测试 mongodb 安装
先在 /home/user1 下新建一个目录 data 存放 mongodb 数据:
mkdir /home/user1/data
用以下命令启动 mongodb:
mongod --dbpath /home/user1/data
这时 mongod 已经启动,重新打开一个终端, 键入 mongo 进入交互程序:
$> mongo
> show dbs
...数据库列表
至此 mongodb 就安装完成。
使 mongodb 和 leanote 在后台运行
由于按照 github 上的 leanote 安装说明,mongodb 和 leanote 是会随着会话和终端的关闭而停止运行,现在的目的是使它们不受会话关闭的影响,在后台运行。
我们可以时使用 nohup command >/dev/null 2>&1 &
命令来使得 mongodb 和 leanote 在后台运行。
对于 mongodb ,我们还可以配置 config 文件,通过在启动 mongod 时指定配置文件来实现后台运行,配置文件 mongodb.conf 内容如下:(路径需要自己修改)
#数据库路径
dbpath=/usr/local/mongodb/data
#日志输出文件路径
logpath=/usr/local/mongodb/logs/mongodb.log
#错误日志采用追加模式
logappend=true
#启用日志文件,默认启用
journal=true
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=true
#端口号 默认为27017
port=27017
#允许远程访问
#bind_ip=0.0.0.0
#开启子进程
fork=true
#开启认证,必选先添加用户
auth=true
此时在 mongodb.conf 同一目录下执行 mongod --config mongodb.conf
即可在后台启动数据库,此时可以通过 mongo 来访问数据库。
需要注意的是,mongod 命令不会帮你创建文件夹,所以 data 以及 logs 等目录是需要创建好再填写的,否则会报错 ERROR: child process failed, exited with error number 1
。
小结
至此已经可以较为简便的实现 mongod 与 leanote 的后台运行,并且每次服务器重启后我们都可以通过两条命令来启动。本次实践新接触了一个非关系型数据库 mongod 以及一些 linux 命令,下面目标是可以通过编写 Shell 脚本来使得工作更加简化,例如实现开机自启等。
本文不是教程,是笔记,当然如果已经成功搭建了 leanote ,想要使其在后台运行,还是可以参考本文的。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)