ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Linux学习、Mongodb部署 踩到的坑学习

2019-12-07 16:00:55  阅读:242  来源: 互联网

标签:文件 Mongodb Linux 端口 cd 学习 usr mongodb local


一、安装Centos 7虚拟机系统

  1、系统安装

      下载阿里云的镜像,下载后安装,默认全程图形界面;虚拟机使用Win10自带的Hyper;碰到的坑记录下

      1、在Hyper加载镜像启动的时候,提示“虚拟机服务未开启”类似的错误,需要进BIOS里设置Momory Profile设置为启用,包括检查任务管理器里的性能、CPU选项卡右下角的虚拟化是否已启用;重启机器继续安装;

      2、全程Linux图形界面安装完成后,由于勾选的服务比较多,安装的时间太长,其实最小化安装应该就是最好的,需要什么再安装什么就成。

      3、安装后,在图形界面,按CTRL+ALT+Fn(1-6),可以进入字符界面,使用root登录;如果在字符界面要回图形界面,输入startx回车。

  2、系统安装后无法上网的问题:

      系统安装后,需要指定网卡,然后设置PC实际网卡的共享选项,需要设置为共享,否则虚拟机虚拟出来的网卡无法上网。

二、安装Mongodb

  1、通过wget命令,下载tgz的压缩包;网上也有教程说用curl,反正有问题,可能是参数使用不当,后来改用wget下载包。下载地址: https://www.mongodb.com/download-center/community 在这个网址上,Centos需要选择的版本为rhel类型的,即RedHat版的linux,文件扩展名建议选tgz格式。Centos选择带RHEL的安装包,这里选择RHEl 7 Linux 64-bit x64版本的安装包即可

  

# 1.在usr/local/下创建mongodb文件夹
cd /usr/local/
mkdir mongodb

# 2.解压文件
tar -xzvf mongodb-linux-x86_64-rhel70-4.0.1.tgz

# 3.将解压后的文件下所有内容移动到mongodb文件夹下
# 注意这里不是将mongodb-linux-x86_64-rhel70-4.0.1文件夹移动到创建好的mongodb下,而是文件下的内容
mv mongodb-linux-x86_64-rhel70-4.0.1/*  /usr/local/mongodb/

# 4.添加mongodb的环境变量
vi /etc/profile

# 5.在文件末尾插入如下内容
export MONGODB_HOME=/usr/local/mongodb  
export PATH=$PATH:$MONGODB_HOME/bin

# 6.修改保存后要重启系统配置,执行命令如下
source /etc/profile

  

经过上述步骤,基本的配置已经完成了,接下来创建mongodb数据文件和日志文件的存放位置,并且对启动项进行配置,启动项配置其中包含数据库文件路径和日志文件路径,填写上述将要创建的文件夹或文件路径。具体步骤如下:

 

# 1.创建数据库文件存放路径
cd /usr/local/mongodb
mkdir -p data/db
chmod -r 777 data/db

# 2.创建日志文件
cd /usr/local/mongodb
mkdir logs
cd logs
touch mongodb.log

# 3.创建启动文件
cd /usr/local/mongodb/bin
touch mongodb.conf

# 4.编辑启动文件
vi mongodb.conf

# 5.在文件中插入如下内容
dbpath=/usr/local/mongodb/data/db  #数据文件存放目录
logpath=/usr/local/mongodb/logs/mongodb.log #日志存放目录
port=27017 #端口
fork=true #以守护程序的方式启用,即在后台运行
logappend=true
maxConns=5000
storageEngine = mmapv1

 上述步骤基本上没有什么问题,后续出现的问题还在于上面的配置文件里,

storageEngine = mmapv1 这句无法识别,后来把它删除掉。
部署完成后,发现外面无法访问,经查发现在监听回环地址的27017端口,加上:bind_ip_all=true 表示监听所有端口;
处理完后,发现外面依然还是无法访问,经查是防火墙需要放行,加入端口后还需要重新加载防火墙配置文件;

用到的一些linux命令:
ls 列举当前目录下的文件清单
ls /usr/local/ 例举该目录下的文件清单
tail /usr/local/mongodb/logs/mongodb.log 查看文件内容
cd .. 返回上一级目录
cd /usr/local/mongodb/bin/ 进入指定目录
cp 复制命令
tar -xzvf ....tgz 解压指定文件。
mv mongodb /usr/local/mongodb 将指定目录移动到目标目录
touch /usr/local/mongodb/logs/mongodb.log 新建文件?
vi /usr/local/mongodb/bin/mongodb.conf 编辑指定的文本文件,进入后按Insert进入插入模式和替换模式间切换,编辑完毕后按ESC返回,并输入:wq 保存并退出。
mkdir dirname 在当前目录下创建目录
rm /usr/local/mongodb/data/* 删除目录下的全部文件,如果要删除具体文件,把*号替换为具体文件名。该命令无法删除目录,对每个文件删除前都会要求确认,若要删除目录,则加上 -r 选项。例如:rm -r /usr/local/mongodb/data/*
[root]# rm -ivrf dirname 删除指定目录下的所有东西
netstat -nltp|grep 27000 查看端口监听情况
mongod -f /usr/local/mongodb/bin/mongodb.conf 按指定的配置文件启动服务
pkill mongod 结束服务;

//开放27017端口
[root@localhost /]# firewall-cmd --zone=public --add-port=27017/tcp --permanent
success

//重新加载防火墙

[root@localhost /]# firewall-cmd --reload

//查看端口是否开放
[root@localhost /]# firewall-cmd --query-port=27017/tcp
yes

操作完成后,需要重启mongodb服务,完成后外网就可以访问啦。

[root@localhost /]# netstat -anp | grep mongod   查询进程的端口信息。

https://blog.csdn.net/u010821666/article/details/78114391/ 这里有另一个方案,没试过。另一编文章:https://blog.csdn.net/lin_xiaofeng/article/details/8762922

 

 





 

标签:文件,Mongodb,Linux,端口,cd,学习,usr,mongodb,local
来源: https://www.cnblogs.com/soleds/p/12001992.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有