模拟搭建Web项目的真实运行环境(四)
本篇介绍如何部署mongodb环境,主要分为三个部分:
第一部分 介绍如何在ubuntu下安装mongodb,
第二部分 介绍如何在windows下安装使用MongoChef客户端,
第三部分 介绍在ubuntu下安装mongodb出现部分问题的解决方案。
一、在ubuntu环境安装mongodb
在ubuntu下安装mongodb,有两种方式:
① 使用apt-get安装mongodb(ubuntu系统安装方式)
② 下载mongo安装包,解压安装(linux系统通用安装方式)
这里先介绍apt-get的方法,以后在补上linux通用的安装方式。
(一) 使用apt-get安装mongodb:
1. 在终端下输入:sudo apt-get install mongodb,等待系统暗装,
如果中途出现找不到mongodb的安装包,
那就先执行 sudo apt-get update,然后再执行刚才的命令。
2. 安装成功后,可以通过 ps -def 命令查看mongodb的服务是否已经开启(如下图)
3. 通过上图可以看到mongodb的配置文件在 /etc 目录下,
执行 sudo gedit /etc/mongodb.conf,修改bind_ip的值为你的上网IP
4. 执行 sudo service mongodb restart重启mongodb服务
5. 执行以下几条命令,测试是否连接成功(如下图)
mongo –host 172.13.4.168
use admin
show collections
6. 添加用户登录权限
① 继续上面的,执行 db.addUser(“admin”, “admin”),添加用户名和密码
② 修改mongodb.conf配置文件,把auth = true前面的#号注释去掉(如下图)
③ 执行 sudo service mongodb restart,重启mongodb的服务
④ 连接mongo,执行use admin 切换到admin数据库
⑤ 执行db.auth(“admin”,“admin”)进行用户权限认证,如果返回1代表认证成功,如果返回0代表认证失败。(如下图)
二、在windows环境安装mongo的管理客户端——MongoChef
1. 从官网下载完后,解压然后进行安装,如下图
2. 安装完弹出如下界面,个人学习的话,选择第一个免费的个人版本,在弹出的窗口选择Ok,如下图
3. 安装成功后,运行mongochef程序,出现下图的界面,选择connection创建打开连接
4. 在弹出的窗口中,选择New Connection
5. 根据下图进行配置mongo服务的IP地址和端口号
6. 如果有用户登录认证的,则继续选择选项卡Authentication,
然后在Authentication Mode的下拉框中选择Standard(MONGODB-CR or SCRAM-SHA-1)
7. 根据下图提示配置用户名和密码,以及需要登录的数据库名称,然后点击Save,开始连接
8. 连接成功
MongoChef官方下载链接:http://3t.io/mongochef/download/
百度云链接:http://pan.baidu.com/s/1mhAAPUK【密码:uptf】
三、解决安装mongodb出现的一些问题
1. sudo service mongodb start失效
有时候输入命令sudo service mongodb start启动mongo服务,
提示成功,却找不到服务的进程(如下图)
小狼就是出现这情况,试了网上的很多中方法都不行,最后想了一下,昨天在公司测试的时候还是可以的,第二天就不能启动了,检察了一下发现原来是自己的上网IP和mongo绑定的IP不一致,于是修改了mongo的配置文件,最后启动成功(如下图)
2. 网上的教程介绍过,启动mongodb有两种方式,在这里简单介绍下。
① 采用service方式开启
开启命令:$sudo service mongodb start
关闭命令:$sudo service mongodb stop或在mongo连接中执行db.shutdownServer()
默认配置文件:/etc/mongodb.conf
默认的数据库存储位置:/var/lib/mongodb(安装mongodb的时候自动创建)
② 采用 mongod方式开启
开启命令:$sudo mongod –auth
关闭命令:Ctrl + C (异常关闭方式)或 mongo连接中执行db.shutdownServer()
默认配置文件:目前小狼只知道需要手动指定配置文件的位置,默认的暂时还不清楚,如果有了解的朋友可以留言告诉小狼o(∩_∩)o
默认的数据库存储位置:/data/db (安装mongodb的时候没有创建,需要手动去创建,不然执行命令mongod –auth的时候会提示找不到 /data/db)
3. 误删除mongodb.conf的配置文件
之前把 /etc目录下的mongodb.conf文件删除了,后来在用apt-get安装的时候总是没有自动生成mongodb.conf,重装几次都没有生成这个配置文件,
后来用locate mongo命令把mongo的所有文件列出来,试了几次才发现原来是因为没有把下面的两个文件删除掉
/usr/lib/dpkg/info/mongodb-server.list
/usr/lib/dpkg/info/mongodb-server.postrm
导致后面重装mongodb的时候没能生成mongodb.conf文件,删除上面两个文件,重新apt-get安装一次mongodb就可以了
Mongodb的安装与客户端连接的介绍先到这里,
下一篇将介绍如何在windows server2008下用iis来部署Web项目
模拟搭建Web项目的真实运行环境(四)的更多相关文章
- 模拟搭建Web项目的真实运行环境(一)
序言 最近尝试完整搭建一个Web项目的运行环境,总结一下这几个月学到的知识点. 后面的文章主要包括一下几个内容: A. 搭建一个Linux服务器,用来部署Redis.Mongo等数据存储环境: B. ...
- 模拟搭建Web项目的真实运行环境(七)
下面这个是mongo驱动的小案例,里面也有涉及到一点redis的操作 https://github.com/SuperRocky/MyMongoDriver 接下来通过几张图片主要介绍一下每个文件的具 ...
- 模拟搭建Web项目的真实运行环境(五)
一.开启IIS功能 刚安装完的server2008是没有默认开启IIS功能,在这里简单介绍一下如何开启IIS. 步骤: 1. 打开控制面板,选中[程序] 2. 在[程序和功能]下面,选择[打开或关闭w ...
- 模拟搭建Web项目的真实运行环境(六)
今天把Redis和Mongodb的操作整理一下,方便日后自己查看,废话不多说,直接进入主题. 一.Redis 1. 引用StackExchange.Redis.dll 由于ServiceStack.R ...
- 模拟搭建Web项目的真实运行环境(三)
一.解决Redis出现的RDB权限问题 当你在安装redis的时候,如果是使用超级用户root安装, 开启redis服务的时候没有用超级用户去开启, 在用客户端登录redis,然后使用shutdown ...
- 模拟搭建Web项目的真实运行环境(二)
上一节已经介绍了如何在虚拟机中部署测试环境,接下来将介绍怎么在ubuntu下部署redis. 一.在ubuntu安装Xrdp + Vnc 为了在以后可以通过windows系统来远程操作ubuntu ...
- 【maven】 在 MyEcplise上使用maven搭建Web项目
二.在My Ecplise上使用Maven搭建Web项目 1.新建一个maven项目 2.create一个简单的骨架 3.就像在ecplise中一样设置项目的以下配置 4.新创建的项目结构如下 ...
- Spring-Boot快速搭建web项目详细总结
最近在学习Spring Boot 相关的技术,刚接触就有种相见恨晚的感觉,因为用spring boot进行项目的搭建是在太方便了,我们往往只需要很简单的几步,便可完成一个spring MVC项目的搭建 ...
- 如何使用maven搭建web项目
博客园注册了有二十多天了,还没有写过博客,今天就发一篇,也便于后面查找笔记. 我个人已经做了几年的java web开发了,由于所在的公司是业务型公司,用的都是一些老旧的稳定技术,很少接触到稍微新点的内 ...
随机推荐
- BZOJ 4205: 卡牌配对
4205: 卡牌配对 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 173 Solved: 76[Submit][Status][Discuss] ...
- 【原】webp图片牛刀小试
其实今年很早就有接触到webp图片的概念,只是一直没怎么弄.今天在一个小项目中小用了一番.总结总结 采用 what,why,how的方式来总结 what? 什么是webp图片? 维基百科: ...
- mysql表单输入数据出现中文乱码解决方法
MySQL会出现中文乱码的原因在于1.server本身设定问题,一般来说是latin1 2.建库建表时没有制定编码格式. 解决方法: 1.建库的时候 CREATE DATABASE test CHAR ...
- latex均方极限符号l.i.m在lyx下的输入方法
$\mathop{l.i.m}\limits_{x\to +\infty}$ 命令说明: 1.指定数学环境$$ 2.\mathop{l.i.m}指数学符号自定义为l.i.m 3.\limits_{x\ ...
- thinkphp5.0助手函数占用服务器资源
db('user') 默认情况下,每次请求都会重新连接数据库,这样会占用服务器资源 方法1.如果不想每次都重连可以这样 db("List",[],false) 方法2.还可以直接 ...
- EFCore教程
https://docs.microsoft.com/en-us/ef/core/modeling/alternate-keys aspnet core 教程 https://docs.microso ...
- Could not find or load main class org.gradle.wrapper.GradleWrapperMain解决办法
解决办法: gradlew is the gradle wrapper executable - batch script on windows and shell script elsewhere. ...
- SQL语句判断数据库、表、字段是否存在
from master..sysdatabases where name='TestDB') print 'TestDB存在'else print 'TestDB不存在' --判断表[Te ...
- NFS
测试版本:CentOS 6.4 64b NFS监听2049(TCP/UDP)端口,但由于文件系统非常复杂,不同的功能都会使用不同的程序来启动,因此额外端口就会不固定(随机1024以下的),这就需要向远 ...
- Timequest收集命令
表 1. 收集命令 命令 说明 all_clocks 返回设计中所有时钟的收集. all_inputs 返回设计中输入端口的收集. all_outputs 返回设计中所有寄存器的收集. get_cel ...