阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Debian 8 上 MongoDB 安装教程

422次阅读
没有评论

共计 3571 个字符,预计需要花费 9 分钟才能阅读完成。

介绍

MongoDB 是一种常用的免费开源 NoSQL 文档数据库。本教程将帮助您在服务器上设置 MongoDB,以便在生产应用程序环境中使用。您将安装 MongoDB 并配置防火墙规则以限制对 MongoDB 的访问。

步骤 1 – 安装 MongoDB

MongoDB 已经包含在 Debian 的软件包存储库中,但是官方 MongoDB 存储库提供了最新版本,并且是安装软件的推荐方法。在这一步中,我们将把这个官方的存储库添加到我们的服务器中。

Debian 通过验证它们是否使用 GPG 密钥进行签名来确保软件包的真实性,因此我们首先必须导入他们用于官方 MongoDB 存储库的密钥。

sudo apt-key adv --keyserver hkp://keyserver.Ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6

成功导入密钥后,您将看到:

gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

接下来,我们必须添加 MongoDB 存储库详细信息,以便 apt 知道从哪里下载软件包。

为 MongoDB 创建列表文件:

echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.4 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list

添加存储库详细信息后,更新软件包列表:

sudo apt-get update

现在使用以下命令安装 MongoDB 包本身:

sudo apt-get install -y mongodb-org

这将安装 MongoDB 的最新稳定版本,以及 MongoDB 服务器的一些有用的管理工具。

一旦安装了 MongoDB,启动服务,并确保在服务器重新启动时启动该服务:

sudo systemctl enable mongod.service

sudo systemctl start mongod

然后用 systemctl 来检查服务是否正常启动:

sudo systemctl status mongod

您应该看到以下输出,表示该服务正在运行:

mongod.service - High-performance, schema-free document-oriented database


Loaded: loaded (/lib/systemd/system/mongod.service; enabled)
   Active: active (running) since Tue 2017-02-28 19:51:51 UTC; 7s ago
     Docs: https://docs.mongodb.org/manual
 Main PID: 8958 (mongod)
   CGroup: /system.slice/mongod.service
           └─8958 /usr/bin/mongod --quiet --config /etc/mongod.conf

Feb 28 19:51:51 cart-61037 systemd[1]: Started High-performance, schema-free document-oriented database.

现在,MongoDB 成功安装,我们用软件防火墙来保护它。

步骤 2 – 使用防火墙保护 MongoDB

在大多数情况下,MongoDB 只能从某些受信任的位置访问,例如托管应用程序的其他服务器。要完成此任务,您可以允许访问 MongoDB 的默认端口,同时指定将被明确允许连接的另一个服务器的 IP 地址。我们将使用 iptables 防火墙来设置此规则,以及一些其他规则来保护系统。

在我们编写任何规则之前,请安装 iptables-persistent 软件包,以便您可以保存创建的规则。这样,每次重新启动服务器时都会应用规则。执行此命令:

sudo apt-get install iptables-persistent

注意:在安装过程中,可能会询问您是否要保留现有规则。您可以丢弃现有的规则。

接下来,删除可能存在的任何现有规则,以防万一:

sudo iptables -F

然后添加允许已建立的连接继续通话的规则。这样我们现有的 SSH 连接不会中断:

sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

接下来,确保允许 SSH 访问:

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

如果您计划从远程服务器连接到 MongoDB,请添加这些规则,以允许从应用程序服务器访问 MongoDB 的默认端口:

sudo iptables -A INPUT -s your_other_server_ip -p tcp --destination-port 27017 -m state --state NEW,ESTABLISHED -j ACCEPT

sudo iptables -A OUTPUT -d your_other_server_ip -p tcp --source-port 27017 -m state --state ESTABLISHED -j ACCEPT

接下来,添加允许本地环回设备上的流量的这些规则:

sudo iptables -A INPUT -i lo -j ACCEPT

sudo iptables -A OUTPUT -o lo -j ACCEPT

最后,更改防火墙策略以删除所有其他流量:

sudo iptables -P INPUT DROP

验证规则是否正确:

sudo iptables -S

你应该看到类似的输出:

-P INPUT DROP


-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -s your_other_server_ip/32 -p tcp -m tcp --dport 27017 -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A OUTPUT -d your_other_server_ip/32 -p tcp -m tcp --sport 27017 -m state --state ESTABLISHED -j ACCEPT
-A OUTPUT -o lo -j ACCEPT

最后,保存规则:

netfilter-persistent save

步骤 3 – 启用对外部服务器的访问(可选)

MongoDB 的当前版本默认不接受外部连接。如果您使用防火墙限制对特定 IP 地址的访问,则可以修改 MongoDB 的配置以接受远程连接。

编辑 MongoDB 配置文件:

sudo nano /etc/mongod.conf

找到这一节:


  # network interfaces
  net:
  port: 27017
  bindIp: 127.0.0.1
  

Mongo 正在监听本地环回地址,所以它只接受本地连接。更改 bindIp 值,使其包含您的 MongoDB 服务器的 IP 地址:


# network interfaces
  net:
  port: 27017
  bindIp: 127.0.0.1, your_server_ip
 

保存文件并退出编辑器。

然后重新启动 MongoDB 应用更改:

sudo systemctl restart mongod

您的远程机器现在应该能够连接。但是,您可能还需要启用身份验证以进一步保护数据库。

更多 MongoDB 相关教程见以下内容

MongoDB 文档、集合、数据库简介  http://www.linuxidc.com/Linux/2016-12/138529.htm

MongoDB 3 分片部署及故障模拟验证  http://www.linuxidc.com/Linux/2016-12/138529.htm

Linux CentOS 6.5 yum 安装 MongoDB  http://www.linuxidc.com/Linux/2016-12/137790.htm

CentOS 7 yum 方式快速安装 MongoDB  http://www.linuxidc.com/Linux/2016-11/137679.htm

MongoDB 的查询操作  http://www.linuxidc.com/Linux/2016-10/136581.htm

MongoDB 权威指南第 2 版 PDF 完整带书签目录 下载见 http://www.linuxidc.com/Linux/2016-12/138253.htm

MongoDB 的详细介绍:请点这里
MongoDB 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-05/143865.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计3571字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7970472
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

  星哥带你玩飞牛 NAS-16:不再错过公众号更新,飞牛 NAS 搭建 RSS 对于经常关注多个微...
浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍 前言 在 AI 自动化快速发展的当下,浏览器早已不再只是...
150元打造低成本NAS小钢炮,捡一块3865U工控板

150元打造低成本NAS小钢炮,捡一块3865U工控板

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...
星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛 NAS-8:有了 NAS 你可以干什么?软件汇总篇 前言 哈喽各位玩友!我是是星哥,不少朋友私...
星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛 NAS-11:咪咕视频订阅部署全攻略 前言 在家庭影音系统里,NAS 不仅是存储中心,更是内容...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级 大家好,我是星哥,之前写了一篇文章 自己手撸一...
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...
自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个 AI 智能体 — 跟创业大佬对话 前言 智能体(Agent)已经成为创业者和技术人绕...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

  告别 Notion 焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁” 引言 在数字笔记工...