由于自己的博客上线部署时需要用到mongodb来存储图片文件,所以先在本地电脑上安装了mongodb做测试,由于之前没接触过mongodb,所以安装过程中遇到了各种小问题,折腾了好久终于安装好并成功启动服务了。这里决定写一篇博客来记录一下安装过程以及遇到的问题的解决方案。

注:文末有福利!

  先写一下安装并启动mongodb正确的步骤,然后再总结其中遇到的问题。

一、安装过程

1.到mongodb官网下载对应系统的压缩包,我的系统是Ubuntu16.04,64位。(注意不要选错系统版本,也可以在本地下载好后上传到云服务器)

2.默认下载路径是到用户目录下的Downloads目录,将其解压

tar -zxvf mongodb-linux-x86_64-3.2..tgz

3.将解压后的文件夹移动到/usr/local/的mongodb目录下

mv -r mongodb-linux-x86_64-3.2. /usr/local/mongodb

4.配置系统文件profile

sudo vi /etc/profile

插入下列内容:

export MONGODB_HOME=/usr/local/mongodb
export PATH=$PATH:$MONGODB_HOME/bin

注意保存后要重启系统配置:

source /etc/profile

5.创建用于存放数据和日志文件的文件夹,并修改其权限增加读写权限

cd /usr/local/mongodb
sudo mkdir -p data/db
sudo chmod -r 777 data/db
sudo mkdir logs
cd logs
touch mongodb.log

6.mongodb启动配置

进入到bin目录,增加一个配置文件:

cd /usr/local/mongodb/bin
sudo vi mongodb.conf

插入下列内容:

dbpath = /usr/local/mongodb/data/db #数据文件存放目录
logpath = /usr/local/mongodb/logs/mongodb.log #日志文件存放目录
port = #端口
fork = true #以守护程序的方式启用,即在后台运行
nohttpinterface = true

7. 启动mongod数据库服务,以配置文件的方式启动

cd /usr/local/mongodb/bin
./mongod -f mongodb.conf

8.连接mongodb数据库

./mongo

9.设置mongodb.service启动服务,设置开机启动

cd /lib/systemd/system
sudo vi mongodb.service

编辑其内容为:

[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target [Service]
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/bin/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config /usr/local/mongodb/bin/mongodb.conf
PrivateTmp=true [Install]
WantedBy=multi-user.target

10.设置mongodb.service权限

chmod  mongodb.service

11.系统mongodb.service的操作命令如下:

#启动服务
systemctl start mongodb.service
#关闭服务
systemctl stop mongodb.service
#开机启动
systemctl enable mongodb.service

12.mongodb.service启动测试

二、安装过程中遇到的问题

1.

mongod: error while loading shared libraries: libnetsnmpmibs.so.: cannot open shared object file: No such file or directory

这个报错信息是说找不到对应的库文件,原因是一开始我下错了安装包版本,所以在下载是一定要注意自己系统的版本

2.通过配置文件启动服务:mongod -f /etc/mongodb.conf 时报错

Error parsing INI config file: unrecognised option 'nohttpinterface' try './

这个一开始让我查了好久,后面查到是因为我下载的最新版本的mongodb,而最新的版本貌似不支持以这种配置文件的方式来启动服务,所以无奈我又重新下载安装了3.2.12的版本,然后再次启动服务就正常了。

3.启动服务时报错:

about to fork child process, waiting until server is ready for connections.
forked process:
ERROR: child process failed, exited with error number

这个错误原因是dbpath文件的权限问题,data和logs目录增加写权限即可,上面提到了。

参考链接:

http://blog.csdn.net/a123demi/article/details/70238972

最后,给大家推荐一个良心公众号【IT资源社】:

本公众号致力于免费分享全网最优秀的视频资源,学习资料,面试经验等,前端,PHP,JAVA,算法,Python,大数据等等,你想要的这都有

IT资源社-QQ交流群:601357554

微信搜索公众号:ITziyuanshe 或者扫描下方二维码直接关注,

里面基本什么资料都有,基础到进阶到项目实战,如果觉得不够还可以加群跟群主要,最重要的是全部免费!

Linux安装mongodb总结的更多相关文章

  1. linux 安装mongodb

    Linux 安装mongodb 1.下载mongodb linux wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-amazon- ...

  2. Linux安装mongoDB步骤和方法

    Linux安装mongoDB步骤和方法 下载mongoDB数据库 mongodb-linux-x86_64-3.0.15.tgz 存放到linux文件夹中 ftp软件直接拖上去 解压文件夹(解压后,会 ...

  3. linux安装mongodb并启动

    CentOS6.4 安装MongoDB   1.下载MongoDB(64位) http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.9.tg ...

  4. linux安装mongodb(设置非root用户和开机启动)

    官网地址:https://www.mongodb.com/ 在官网上选择不同的linux系统得到不同的下载地址,我们用的下载地址是:https://fastdl.mongodb.org/linux/m ...

  5. linux安装mongodb磁盘空间不足

    Insufficient free space for journal filesPlease make at least 3379MB available in /export/servers/mo ...

  6. Linux 安装 MongoDB

    一.下载 Linux:CentOS 7.3 64位 MongoDB:3.6.4 安装目录:/usr/local cd /usr/local wget https://fastdl.mongodb.or ...

  7. Linux 安装MongoDB 并设置防火墙,使用远程客户端访问

    1. 下载 MongoDB 提供了 linux 各发行版本 64 位的安装包  下载地址:https://www.mongodb.com/download-center#community 2. 安装 ...

  8. Linux 安装 MongoDB数据库

    1下载: wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.7.tgz (下载较慢) 2.安装: mv mongodb-li ...

  9. linux安装mongodb,设为全局和后台启动

    curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.5.tgz # 下载 tar -zxvf mongodb-linux ...

  10. 【Mongo】Linux安装MongoDB

    呵呵哒,每天都是小惊喜. 一 下载 https://www.mongodb.org/downloads可进行下载,根据需要选择合适的版本和操作系统 二 上传服务器 1 上传服务器路径并解压 2 创建数 ...

随机推荐

  1. 初学者第二节之HelloWorld

    ava具有简单性.面向对象.分布式.健壮性.安全性.平台独立与可移植性.多线程.动态性等特点.Java可以编写桌面应用程序.Web应用程序.分布式系统和嵌入式系统应用程序等. 一.首先创建一个Hell ...

  2. 【BZOJ4237】稻草人(CDQ分治,单调栈)

    [BZOJ4237]稻草人(CDQ分治,单调栈) 题面 BZOJ 题解 \(CDQ\)分治好题呀 假设固定一个左下角的点 那么,我们可以找到的右下角长什么样子??? 发现什么? 在右侧是一个单调递减的 ...

  3. CSS中image和text显示高度不一致的问题

    将它们分别添加新的属性: float: left 就可以解决

  4. Python模块之hashlib模块、logging模块

    一.hashlib模块 hashlib模块介绍:hashlib这个模块提供了摘要算法,例如 MD5.hsa1 摘要算法又称为哈希算法,它是通过一个函数,把任意长度的数据转换为一个长度固定的数据串,这个 ...

  5. [.Net Core] 简单使用 Mvc 内置的 Ioc

    简单使用 Mvc 内置的 Ioc 本文基于 .NET Core 2.0. 鉴于网上的文章理论较多,鄙人不才,想整理一份 Hello World(Demo)版的文章. 目录 场景一:简单类的使用 场景二 ...

  6. WordPress修改标签云大小及颜色

    修改WordPress标签字体大小: 在cpanel面板中依次打开「wp-includes」→「category-template.php」,找到wp_tag_cloud, 1 2 3 4 5 6 7 ...

  7. canvas描绘渐变的矩形

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  8. linux下Tomcat 安装后执行startup.sh,出现– Cannot find …bin/catalina.sh

    linux下Tomcat 安装后执行startup.sh,出现– Cannot find …bin/catalina.sh 是因为权限不够,执行以下命令就可以: chmod +x startup.sh ...

  9. UWP 圆形菜单

    用过Surface dial的童鞋们都很熟悉,当使用Dial的时候,那个圆形菜单很漂亮,那么我们在普通的uwp中是否也可以实现吗? 答案是肯定的. 其实这是来源于GayHub的一个开源项目,做的很不错 ...

  10. angularJs模块ui-router之状态嵌套和视图嵌套

    原文地址:http://bubkoo.com/2014/01/01/angular/ui-router/guide/nested-states%20&%20nested-views/ 状态嵌套 ...