在linux中 部署 mongo 数据库服务端
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 命令)
vim /etc/yum.repos.d/mongodb-org-3.4.repo
vim /etc/yum.repos.d/mongodb-org-3.4.repo
按 i 进入编辑模式,输入一下内容:
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
然后按Esc 按 :wq 保存并且推出vim
3 开始安装命令
yum install mongodb-org
4 出现 Complete! 字样 安装成功后 配置SELinux
setenforce 0
5 此时是可以启动mongo了
systemctl start mongod.service
然后输入以下命令查看是否启动成功了
systemctl status mongod.service
出现的结果中有 active(running)的字样代表启动成功
6 此时还不能用客户端连接成功,还需要防火墙配置
如果是亚马逊的服务器,需要到亚马逊服务器管理平台上去设置27017端口
进入ec2管理面板,点击安全组,选择linux实例,点击下面的入站
,
然后在linux服务器直接关闭防火墙(我用的是做测试用的,其实不关闭防火墙 只需开放27017端口也行的)
systemctl disable firewalld #永久关闭
systemctl stop firewalld #暂时关闭 下次重启还有
设置开机启动
systemctl enable mongod.service
还需mongodb远程访问 编辑mongod.conf注释bindIp(bindIp前面加#),并重启mongodb.
vim /etc/mongod.conf
重新启动mongo
systemctl restart mongod.service
以下附上几个其它的命令
#停止命令
systemctl start mongod
#删除安装包
yum erase $(rpm -qa | grep mongodb-org)
#删除数据目录
rm -r /var/log/mongodb
rm -r /var/lib/mongo
7重启mongo后就可以直接用mongo客户端工具连接了,此时验证方式选择none
8 登录进去后就可以用客户端创建其它用户了,当然也可以直接用mongo shell操作
启动mongo shell
mongo
输入
use admin;
db.createUser({user:"jiang232",pwd:"jiang233",roles:["dbAdminAnyDatabase","readWriteAnyDatabase","root"]})
开启登录认证机制后,方可用用户名密码登录,否则得用7步骤的登录方式
vim /etc/mongod.conf
#追加上
security:
authorization: "enabled"
然后重启mongo
#重启mongo服务
systemctl restart mongod
此时用客户端连接,用刚刚创建的超级管理员账号 jiang232 输入密码, 登录验证方式也变了。
到此mongo服务端已经完成创建,并客户端能够连接。
遇到的问题总结一下,主要是端口的问题,27017 端口开放需要3重设置,1亚马逊端配置,2配置SELinux 3关闭防火墙。
在linux中 部署 mongo 数据库服务端的更多相关文章
- 如何在linux中部署mongodb并设置连接认证
在windows上给mongodb设置连接认证权限:mongodb默认是不认证的,默认没有账号,现在就讲讲怎么设置账户和密码 1.首先进入C:\mongodb\bin下面双击运行mongo.exe启动 ...
- linux 中部署ant编译的包中缺少问题
今天遇到在window上部署ant编译的包,能运行正常,但部署在linux中出现跳不进jsp中,出现404问题,后来经过排查在jsp中<%@taglib prefix="c" ...
- Linux中部署JAVA程序
JAVA程序在开发完成后,需要部署到服务器,如果是WEB项目,需要部署到WEB服务器,否则部署到应用服务器. JAVA是跨平台的编程语言,服务器的操作系统可以是Windows.Linux或者其它,下面 ...
- 在linux中部署项目并创建shell脚本
1.首先要在idea中父工程maven包下执行clean生成的target包 2.执行package打包,打包时候讲test勾去掉 3.将target包中生成的jar包cp出来 此处注意打包时必须要保 ...
- linux中部署django项目
通过Nginx部署Django(基于ubuntu) Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器 ...
- linux 中部署 rsync 实现文件远程备份及 同步
客户端:数据源:服务端:数据接收方 rsync官方文档:https://www.samba.org/ftp/rsync/rsync.html 手动测试用“通过远程外壳访问"里的语法: 参考1 ...
- linux中部署jenkins(war包)及jenkins忘记登录账号密码
未登录状态 登录状态 一:部署jenkins(war包) 1.直接下载war包jenkins.war,下载地址https://jenkins.io/download 2.将下载的war包放到服务器上t ...
- 小试牛刀:Linux中部署RabbitMQ
一.下载地址 本人采用的是 RabbitMQ 3.8.20+ Erlang 23.3.4.16 1.Erlang下载:https://github.com/erlang/otp/releases 2. ...
- Linux中kettle自动化部署脚本
自己写的一个自动化在Linux中部署kettle的脚本,包括一些遇到的问题在脚本中都有涉及. kettle是官网最新版本pdi-ce-6.1.0.1-196.zip 目前最新版本下载地址:https: ...
随机推荐
- 类Vector
/* * Vector的特有功能 * * Vector出现较早,比集合更早出现 * * 1:添加功能 * public void addElement(Object obj);//用add()替代 * ...
- C# Thread2——线程优先级
C#中Thread的优先级不是决定每个线程被执行顺序.它决定了线程可以占用CPU的时间 Thread的优先级设置是自带的枚举类型"ThreadPriority" [ComVisib ...
- day17跨文件夹导入模块,模块的两种被执行方式,包,直接使用包中模块,包的管理
复习 ''' 1.模块 -- 一系列功能的集合体,用文件来管理一系列有联系的功能,该文件我们称之为模块,文件名就是模块名 -- import | from...import 来导入模块,从而使用模块中 ...
- 15 (H5*) JS第5天 对象
目录 1:创建对象 2:工厂模式创建对象 3:自定义构造函数创建对象 4:自定义构造函数做了那些事情 5:字面量方式创建对象:一次性对象 6:对象总结 7:json数据类型 8:简单数据类型和复杂数据 ...
- Docker中使用多阶段Dockerfile构建容器镜像image(镜像优化)
使用多阶段构建 预计阅读时间: 6分钟 多阶段构建是守护程序和客户端上需要Docker 17.05或更高版本的新功能.多阶段构建对于那些努力优化Dockerfiles同时使其易于阅读和维护的人来说非常 ...
- [Web 前端] 007 css 常见的七种选择器
1. 标签选择器 影响范围大 建议尽量应用在层级选择器中 举例 <!-- body 体中的 div --> <div>box...</div> /* style 中 ...
- mysql数据库监控工具-MONyog的配置和基本使用项
测试数据传输前,研发要求需要监控10万,50万,100万数量级的数据在传输过程数据库服务器的资源消耗情况,因为数据传输服务是定时任务执行,配置10秒中一次,一次处理500条,处理完10万数据可能要半个 ...
- JDK的下载与Java运行环境
JDK简介 什么是JDK JDK是Java Development Kit的缩写,意思是Java开发工具包.JDK就好比作人的心脏,人没有了心脏,生命也就失去存在的意义.Java也一样,JDK就是它的 ...
- VS2015+QT环境配置后,Lauch Qt Designer打开失败,无法打开*.ui文件
最近在VS2015上配置QT时出现了这个问题,遂百度其解决方法,解决之后记录下来.第一步: 在[解决方案资源管理器]中,右击你的 xxx.ui文件,选择[打开方式],此时列表中默认值是[ Qt des ...
- HDU 6070题解(二分+线段树)
题面 传送门 此题的题意不是很清晰,要注意的一点是在区间[L,R]中,默认题目编号最后一次出现的时候是AC的 比如1 2 1 2 3 ,在区间[1,4]中,第3次提交时AC第1题,第4次提交时AC第2 ...