1 首先需要一台linux服务器(我用的redhat linux,其它的也大同小异),

玩一玩的话,推荐亚马逊上面去创建一个免费的linux服务器,有关具体创建linux服务器不在这赘述。

https://us-west-2.console.aws.amazon.com/ec2/v2/home?region=us-west-2#Instances:sort=instanceId

2 安装MongoDB3.4社区版,配置MongoDB的yum源,输入命令:(最好用root登录,如果不是请在命令前加 sudu 命令)

  1. vim /etc/yum.repos.d/mongodb-org-3.4.repo

  

vim /etc/yum.repos.d/mongodb-org-3.4.repo

按 i 进入编辑模式,输入一下内容:

  1. [mongodb-org-3.4]
  2. name=MongoDB Repository
  3. baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
  4. gpgcheck=1
  5. enabled=1
  6. gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

然后按Esc  按 :wq  保存并且推出vim

3 开始安装命令

  1. yum install mongodb-org

4 出现 Complete! 字样 安装成功后 配置SELinux

  1. setenforce 0

5 此时是可以启动mongo了

  1. systemctl start mongod.service

然后输入以下命令查看是否启动成功了

  1. systemctl status mongod.service

出现的结果中有  active(running)的字样代表启动成功

6 此时还不能用客户端连接成功,还需要防火墙配置  

如果是亚马逊的服务器,需要到亚马逊服务器管理平台上去设置27017端口

进入ec2管理面板,点击安全组,选择linux实例,点击下面的入站

然后在linux服务器直接关闭防火墙(我用的是做测试用的,其实不关闭防火墙 只需开放27017端口也行的)

  1. systemctl disable firewalld #永久关闭
  2. systemctl stop firewalld #暂时关闭 下次重启还有

设置开机启动

  1. systemctl enable mongod.service

还需mongodb远程访问 编辑mongod.conf注释bindIp(bindIp前面加#),并重启mongodb.

  1. vim /etc/mongod.conf

重新启动mongo

  1. systemctl restart mongod.service

以下附上几个其它的命令

  1. #停止命令
    systemctl start mongod
  1. #删除安装包
    yum erase $(rpm -qa | grep mongodb-org)
  1. #删除数据目录 
    rm -r /var/log/mongodb
  2. rm -r /var/lib/mongo

7重启mongo后就可以直接用mongo客户端工具连接了,此时验证方式选择none

8 登录进去后就可以用客户端创建其它用户了,当然也可以直接用mongo shell操作

启动mongo shell

  1. mongo

输入

  1. use admin;
    db.createUser({user:"jiang232",pwd:"jiang233",roles:["dbAdminAnyDatabase","readWriteAnyDatabase","root"]})

开启登录认证机制后,方可用用户名密码登录,否则得用7步骤的登录方式

  1. vim /etc/mongod.conf
  1. #追加上
  2. security:
  3. authorization: "enabled"

然后重启mongo

  1. #重启mongo服务
  2. systemctl restart mongod

此时用客户端连接,用刚刚创建的超级管理员账号 jiang232  输入密码, 登录验证方式也变了。

到此mongo服务端已经完成创建,并客户端能够连接。

遇到的问题总结一下,主要是端口的问题,27017 端口开放需要3重设置,1亚马逊端配置,2配置SELinux   3关闭防火墙。

  

在linux中 部署 mongo 数据库服务端的更多相关文章

  1. 如何在linux中部署mongodb并设置连接认证

    在windows上给mongodb设置连接认证权限:mongodb默认是不认证的,默认没有账号,现在就讲讲怎么设置账户和密码 1.首先进入C:\mongodb\bin下面双击运行mongo.exe启动 ...

  2. linux 中部署ant编译的包中缺少问题

    今天遇到在window上部署ant编译的包,能运行正常,但部署在linux中出现跳不进jsp中,出现404问题,后来经过排查在jsp中<%@taglib prefix="c" ...

  3. Linux中部署JAVA程序

    JAVA程序在开发完成后,需要部署到服务器,如果是WEB项目,需要部署到WEB服务器,否则部署到应用服务器. JAVA是跨平台的编程语言,服务器的操作系统可以是Windows.Linux或者其它,下面 ...

  4. 在linux中部署项目并创建shell脚本

    1.首先要在idea中父工程maven包下执行clean生成的target包 2.执行package打包,打包时候讲test勾去掉 3.将target包中生成的jar包cp出来 此处注意打包时必须要保 ...

  5. linux中部署django项目

    通过Nginx部署Django(基于ubuntu) Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器 ...

  6. linux 中部署 rsync 实现文件远程备份及 同步

    客户端:数据源:服务端:数据接收方 rsync官方文档:https://www.samba.org/ftp/rsync/rsync.html 手动测试用“通过远程外壳访问"里的语法: 参考1 ...

  7. linux中部署jenkins(war包)及jenkins忘记登录账号密码

    未登录状态 登录状态 一:部署jenkins(war包) 1.直接下载war包jenkins.war,下载地址https://jenkins.io/download 2.将下载的war包放到服务器上t ...

  8. 小试牛刀:Linux中部署RabbitMQ

    一.下载地址 本人采用的是 RabbitMQ 3.8.20+ Erlang 23.3.4.16 1.Erlang下载:https://github.com/erlang/otp/releases 2. ...

  9. Linux中kettle自动化部署脚本

    自己写的一个自动化在Linux中部署kettle的脚本,包括一些遇到的问题在脚本中都有涉及. kettle是官网最新版本pdi-ce-6.1.0.1-196.zip 目前最新版本下载地址:https: ...

随机推荐

  1. 阶段1 语言基础+高级_1-3-Java语言高级_03-常用API第二部分_第1节 Object类_1_Object类的toString方法

    任何一个类都可以使用Object类中的方法 ## 1.1 概述 `java.lang.Object`类是Java语言中的根类,即所有类的父类.它中描述的所有方法子类都可以使用.在对象实例化的时候,最终 ...

  2. 测开之路一百一十三:bootstrap媒体对象

    实现效果,左边是图片或者其他媒体,右边是对应的描述 引入bootstrap和jquery标签 class="media" 数量多一些看着就会很规整 <!DOCTYPE htm ...

  3. CSS3------box-shadow,即单边阴影效果设置

    box-shadow修改元素的阴影效果要方便得多,因为box-shadow可以修改六个参数,得到不同的效果.下面结合一些简单的案例来对box-shadow属性进行演示说明. 1.单边阴影效果 定义元素 ...

  4. 38 是否要使用memory引擎的表

    38 是否要使用memory引擎的表 内存表的数据组织结构 create table t1(id int primary key, c int) engine=Memory; create table ...

  5. 20190827 On Java8 第十四章 流式编程

    第十四章 流式编程 流的一个核心好处是,它使得程序更加短小并且更易理解.当 Lambda 表达式和方法引用(method references)和流一起使用的时候会让人感觉自成一体.流使得 Java ...

  6. OuterXml和InnerXml(2)

    官方例子:https://msdn.microsoft.com/en-us/library/system.xml.xmlnode.outerxml.aspx using System; using S ...

  7. SQL复制远程数据库数据到本地-及查询结果少显示一列

    网上找了查询结果怎么少显示一列,因为数据很多列,结果不是视图就是嵌套,太麻烦,这里用临时表做 exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB', '19 ...

  8. Leveldb源码分析--3

    http://blog.csdn.net/sparkliang/article/details/8604416

  9. 触摸板PCB制作-TM12

    1.布局: 使 PSoC 与Sensor之间的距离保持最小化是一个不错的做法. 通常将 PSoC 与其他组件一起贴装到底层,而将 CapSense Sensor置于顶层上.  Sensor和栅格地层位 ...

  10. MySQL-第十四篇事务管理

    1.什么是事务 事务是由一步或者几步数据库操作序列组成的逻辑执行单元,这系列操作要么全部执行,要么全部放弃执行. 2.事务具备的4个特性: 1>原子性(Atomicity):事务是应用中最小的执 ...