在云服务器上安装并启动MongoDB

409 阅读4分钟

在云服务器上安装并启动MongoDB

在云服务器上安装并启动MongoDB

说明:

服务器系统为centos8.3

使用宝塔面板进行相关操作

1、将安装包下载到 /usr/local/mongodb

可以自定义目录


到官网复制下载的路径


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KLvTyCC6-1637671366430)(MongoDb学习笔记.assets/image-20211123195231139-16376683525434.png)]

在你准备好的目录下运行终端命令

wget https://repo.mongodb.org/yum/redhat/8/mongodb-org/5.0/x86_64/RPMS/mongodb-org-server-5.0.4-1.el8.x86_64.rpm

下载完成后目录里将会多出一个

​ mongodb…xxx.rpm的文件

在这里插入图片描述

宝塔视角:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bUdS9EWT-1637671366434)(MongoDb学习笔记.assets/image-20211123194843295-16376681248451-16376681283682.png)]

2、安装

安装前我们需要安装各个 Linux 平台依赖包。

Red Hat/CentOS:

sudo yum install libcurl openssl

Ubuntu 18.04 LTS (“Bionic”)/Debian 10 “Buster”:

sudo apt-get install libcurl4 openssl

Ubuntu 16.04 LTS (“Xenial”)/Debian 9 “Stretch”:

sudo apt-get install libcurl3 openssl

上面的bash命令按照自己服务器对应的系统选择

在mongodb…xxx.rpm文件的同级目录下运行bash

rpm -ivh  mongodb-org-server-5.0.4-1.el8.x86_64.rpm

在这里插入图片描述

查看安装路径

rpm -ql xxx  #xxx代表你的包名
rpm -ql mongodb-org-server-5.0.4-1.el8.x86_64

一些命令:

    rpm  -ql  包名     # 查询包中文件安装位置:
    rpm  -q  包名 	 # 查询包是否安装
    rpm  -qa  		  # 查询所有已经安装的RPM包
    rpm  -qi  包名 -i # 查询软件信息(information) 
    			  -p # 查询未安装包信息(package)

在这里插入图片描述

3、运行MongoDB

编辑配置文件:

vim /etc/mongod.conf

按 i 进入编辑,编辑完安 ESC退出,输入 :wq 保存并退出

在这里插入图片描述

基本配置

#数据库数据存放目录
dbpath=/usr/local/mongodb304/data

#数据库日志存放目录
logpath=/usr/local/mongodb304/logs/mongodb.log 

#以追加的方式记录日志
logappend = true

#端口号 默认为27017
port=27017 

#以后台方式运行进程
fork=true 

 #开启用户认证
auth=true

#关闭http接口,默认关闭http端口访问
nohttpinterface=true

#mongodb所绑定的ip地址
bind_ip = 127.0.0.1 

#启用日志文件,默认启用
journal=true 

#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=true 

启动MongoDB

bash命令:

/usr/bin/mongod -f /etc/mongod.conf

在这里插入图片描述

查看是否运行成功

bash命令:

netstat -ntlp

在这里插入图片描述

4、可能出现的错误

1、远程连接不上

a、在云服务器上开启端口 27017或自定义的端口

b、通过以下下方式再次配置(大体上 按顺序粘贴代码是可以的,稍加理解)

防火墙端口配置

27017是默认端口,可自定义

1 切换到root用户,并输入命令:firewall-cmd --query-port=27017/tcp 确认端口是否开放

返回no

可以看出,端口27017并没有对外开放

2 输入命令: firewall-cmd --get-active-zones 拿到zone名称

3 输入命令:firewall-cmd --zone=public --add-port=27017/tcp --permanent

永久开放27017端口

4 输入命令:firewall-cmd --reload ,重启防火墙

5 再次查看端口是否开放了:firewall-cmd --query-port=27017/tcp

可以看到返回yes,表明端口开放成功

在防火墙中设置27017开启远程服务

在防火墙中设置27017开启远程服务;


1、解决service iptables save 命令不能使用问题

在 CentOS 7与8下执行 service iptables save 命令,出现如下错误:

[root@test ~]# service iptables save
The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.
1、首先停止防火墙:
systemctl stop firewalld
systemctl mask firewalld
2、 安装 iptables-services

在 CentOS 7 和 RHEL 7 中,没有 /etc/sysconfig/iptables 这个配置文件,也不能执行 service iptables restart 命令,需要通过安装 iptables-services 才有。(centos8也同上)

[root@test ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 
[root@test ~]# rpm -qa|grep iptables
iptables-1.4.21-28.el7.x86_64
[root@test ~]# yum -y install iptables-services

然后就可以使用 service iptables [start | stop | restart | save …] 命令。

3、取消服务的锁定与重启
systemctl unmask firewalld
systemctl restart  firewalld.service

这里应该使用 systemctl start firewalld.service

启动、关闭、重启防火墙服务。

systemctl start  firewalld.service
systemctl stop  firewalld.service
systemctl restart  firewalld.service

查看已启动的服务列表。

systemctl list-unit-files|grep enabled

查看所有打开的端口。

firewall-cmd --zone=public --list-ports

重新载入,更新防火墙规则。

firewall-cmd --reload

开启80端口,–permanent永久生效,没有此参数重启后失效。

firewall-cmd --zone=public --add-port=80/tcp --permanent   

查看80端口是否开放。

firewall-cmd --zone=public --query-port=80/tcp 

删除80端口配置。

firewall-cmd --zone=public --remove-port=80/tcp --permanent 
在防火墙中设置27017开启远程服务并保存

在防火墙中设置27017开启远程服务;

/sbin/iptables -I INPUT -p tcp --dport 27017 -j ACCEPT

保存

service iptables save

查看

netstat -ntlp

5、本地连接工具

robot3t(免费)官网:robomongo.org/

在这里插入图片描述

6、其他方式

通过上传压缩包的方式

www.runoob.com/mongodb/mon…

笔者在使用此种方式在centos8云服务器上操作时碰壁太多,于是改用上述方式

希望对你有所帮助,感谢你的阅读。