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

一、安装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

 

 





 

posted @ 2019-12-07 15:55  soleds  阅读(475)  评论(0编辑  收藏  举报