MongoDB安装
学习node快接近尾声了, 想使用express+ejs+mongoDB 完成一个小栗子, 算是我学习node的一个结业考试. 不过,之前从来没有接触过mongodb,对我这小小白来说, 安装-启动mongodb都异常的艰难, 想想真是 … 铁窗呀 ~~ 铁门 ~ 铁锁链 ~~~ 路过的你们请尽情嘲笑吧 , 我不怕!!!!
在mongodb官网的安装指南 上没有找到 ArchLinux
版本的安装包, 所以通过下载安装包解压使用是不太可能了, 只能自己下载源码编译安装或者看看Arch
官方仓库或AUR
仓库有没有了, 不过丰富的软件支持在Arch
里从来不是问题,! Arch
官方仓库有, AUR
仓库也有. 如:
pacman
AUR
随便挑选一个安装就可以了.
使用MongoDB
软件找到了以后, 然后找到mongodb
node.js的支持指南 按照指南安装好node.js的mongodb驱动包,然后编写一个小demo测试一下, Quick Start:
|
|
接着运行 node app.js
, 不是我想象的那般顺利, 错误如下:
|
|
网络上一顿狂搜, 好像安装好以后需要指定mongodb存放数据的目录, 默认在/data/db
于是:
|
|
大概意思是, 已经有mongodb服务在运行中,现在没有权限再创建一个mongodb实例. 然后我使用ps
确是查询到了很多个mongodb进程. 找到后一一都干死, 然后从Archlinux Wiki
MongoDB篇又了解到在Archlinux中MongoDB安装指南 需要使用systemctl
启动服务:
|
|
下面也有一些常用问题解决方案,例如mongodb服务异常关闭导致被锁,和mongodb使用指南, 很方便, 之前老听人说Archlinux Wiki
是Linux发行版最完整最详细的Wiki, 现在看来,越来越觉得确是如此, 平时archlinx 闹脾气也都是翻阅Wiki解决的.
这一通折腾之后, 使用--repair
修复之前的database
设置, 如:
|
|
然后运行mongo
进入mongodb命令行(MongoDB shell)并初始化数据库:
|
|
这代表mongodb服务已经成功启动了, 可以使用了, 到这里,我总算是半只脚迈进了mongodb的大门, 接下来可以在项目实践中一边学习一边使用mongodb了.
关于设置mongodb数据存储目录
在linux中,默认情况下手动安装或解压mongodb应用包后,缺少数据存储目录:
默认为
/data/db
这个目录最开始是不存在的,而且运行参数设定命令也不会自动帮我们新建. 所以需要提前将这个目录新建完成. 当然,这个目录是可以修改的, 使用--dbpath
自定义mongodb数据存储目录. 使用--port arg
可以自定义服务端口, 还有主机地址 host , 更多参数帮助可以使用:
|
|
查看
|
|
如果你将mongodb数据存储目录设置在非/home/
下,则需要注意权限, 需要让自定义目录拥有-r 可读 / -w 可写 / -x 可执行
的权限.