由于自己的博客上线部署时需要用到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. 12-7jquery选择器学习

    p:odd 选择奇数个数的p标签   p:even选择奇数个数的p标签   p:gt(n)选择下标 大于n的p标签   p:lt(n)选择下标小于n的p标签   $(":root " ...

  2. 【SDOI2009】HH去散步(矩阵快速幂)

    题面 题目描述 HH有个一成不变的习惯,喜欢饭后百步走.所谓百步走,就是散步,就是在一定的时间 内,走过一定的距离. 但是同时HH又是个喜欢变化的人,所以他不会立刻沿着刚刚走来的路走回. 又因为HH是 ...

  3. Vue-自带vue-resource插件实现http请求

    安装 本地环境安装路由插件vue-resource:    cnpm install vue-resource --save-dev *没有安装淘宝镜像的可以将 cnpm 替换成 npm 想要安装的可 ...

  4. 踩坑系列の Oracle dbms_job简单使用

    二话不说先上代码 --创建存储过程 create or replace procedure job_truncateState is begin --此处就是要定时执行的sql execute imm ...

  5. 微信小程序之实现页面缩放式侧滑效果

    效果图: 实现原理:点击按钮,往需要动画的div中添加或移除拥有动画效果的class. 由于微信小程序中不能操作page这个根节点,所以,只有用一个div(view)来模仿page根节点. 1.结构 ...

  6. systemd的作用

    早上群上讨论了一下systemd的作用,还导致了一个人的直接退群,出于求知心理,搜索了一些systemd,对此也作出了一些相应的整理: 一.systemd的诞生: 学习嵌入式bootloader与ke ...

  7. UML类图二

    在软件系统中,类并不是孤立存在的,类与类之间存在各种关系,对于不同类型的关系,UML提供了不同的表示方式.       1. 关联关系 关联(Association)关系是类与类之间最常用的一种关系, ...

  8. php类中双冒号和->的区别

    就是为了区分对象的方法和属性,和是访问类的静态方法和静态变量,类的静态方法和静态变量是类公用的,不需要实例化也能访问,而对象的方法和属性是每个对象特有的,因此必须先实例化.其他语言如C++,JAVA等 ...

  9. 用jquery实现日期控件

    用jquery实现的日期控件,代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta ch ...

  10. Java设计模式(二)抽象工厂模式

    一.场景描述 接<Java设计模式(一)工厂模式>https://www.cnblogs.com/mahongbiao/p/8618970.html 工厂模式有一缺点,就是破坏了类的封闭性 ...