在Ubuntu 16.04上安装MongoDB的方法

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

简介

MongoDB 是一款常用于现代 Web 应用程序的免费开源 NoSQL 文档数据库。本教程将帮助您在服务器上为生产应用程序环境设置 MongoDB。

先决条件

要按照本教程操作,您需要:

  • 一个 Ubuntu 16.04 服务器,按照初始服务器设置教程进行设置,包括一个具有 sudo 非根用户和防火墙。

步骤 1 --- 添加 MongoDB 仓库

MongoDB 已经包含在 Ubuntu 软件包仓库中,但官方 MongoDB 仓库提供了最新版本并且是安装该软件的推荐方式。在这一步中,我们将在服务器上添加官方仓库。

Ubuntu 通过验证软件包是否使用 GPG 密钥签名来确保软件包的真实性,因此我们首先要导入官方 MongoDB 仓库的密钥。

command 复制代码
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -

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

复制代码
OK

接下来,我们需要添加 MongoDB 仓库的详细信息,以便 apt 知道从哪里下载软件包。

执行以下命令创建 MongoDB 的列表文件。

command 复制代码
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

添加仓库详细信息后,我们需要更新软件包列表。

command 复制代码
sudo apt-get update

步骤 2 --- 安装和验证 MongoDB

现在我们可以安装 MongoDB 软件包本身。

command 复制代码
sudo apt-get install -y mongodb-org

此命令将安装包含最新稳定版本 MongoDB 及 MongoDB 服务器的有用管理工具的多个软件包。

接下来,使用 systemctl 启动 MongoDB。

command 复制代码
sudo systemctl start mongod

您还可以使用 systemctl 检查服务是否已正确启动。

command 复制代码
sudo systemctl status mongod
复制代码
● mongodb.service - 高性能、无模式的面向文档的数据库
   Loaded: loaded (/etc/systemd/system/mongodb.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2016-04-25 14:57:20 EDT; 1min 30s ago
 Main PID: 4093 (mongod)
    Tasks: 16 (limit: 512)
   Memory: 47.1M
      CPU: 1.224s
   CGroup: /system.slice/mongodb.service
           └─4093 /usr/bin/mongod --quiet --config /etc/mongod.conf

最后一步是在系统启动时自动启动 MongoDB。

command 复制代码
sudo systemctl enable mongod

MongoDB 服务器现在已配置并运行,您可以使用 systemctl 命令管理 MongoDB 服务(例如 sudo systemctl stop mongod,sudo systemctl start mongod)。

步骤 3 --- 调整防火墙(可选)

假设您已按照初始服务器设置教程的说明在服务器上启用了防火墙,则 MongoDB 服务器将无法从互联网访问。

如果您打算仅在同一服务器上运行应用程序时使用 MongoDB 服务器,则这是一个推荐的安全设置。但是,如果您希望能够从互联网连接到 MongoDB 服务器,我们需要在 ufw 中允许传入连接。

要允许从任何地方访问 MongoDB 的默认端口 27017,您可以使用 sudo ufw allow 27017。但是,在默认安装上启用互联网访问 MongoDB 服务器将给整个数据库服务器提供无限制的访问。

在大多数情况下,应该只允许从某些受信任的位置访问 MongoDB,例如另一台托管应用程序的服务器。为了完成这个任务,您可以允许在 MongoDB 的默认端口上访问,同时指定另一台服务器的 IP 地址,该 IP 地址将被明确允许连接。

command 复制代码
sudo ufw allow from your_other_server_ip/32 to any port 27017

您可以使用 ufw 验证防火墙设置的更改。

command 复制代码
sudo ufw status

您应该在输出中看到允许 27017 端口的流量。如果您决定只允许某个 IP 地址连接到 MongoDB 服务器,则输出中将列出允许位置的 IP 地址,而不是 Anywhere。

复制代码
Status: active

To                         Action      From
--                         ------      ----
27017                      ALLOW       Anywhere
OpenSSH                    ALLOW       Anywhere
27017 (v6)                 ALLOW       Anywhere (v6)
OpenSSH (v6)               ALLOW       Anywhere (v6)

有关限制对服务访问的更高级防火墙设置的更多信息,请参阅 UFW Essentials: Common Firewall Rules and Commands。

结论

您可以在这些 DigitalOcean 社区文章中找到有关 MongoDB 安装和配置的更详细的说明。

相关推荐
周洲08302 小时前
STM32片内Flash读写深度详解|掉电参数保存、底层原理
linux·前端·stm32
shimly1234562 小时前
比 find + grep 更好用的 nm + addr2line
linux
迷途之人不知返2 小时前
【进程控制】-3-进程等待
linux
_upupup3 小时前
包管理器和vim
linux·服务器
一颗小树x3 小时前
NVIDIA 驱动故障排查实录:内核升级导致 nvidia-smi 失效
linux·服务器·nvidia驱动·启动失败·内核升级
_smart_boy__3 小时前
I.MX6U开发板Uboot无法ping Ubuntu问题解决方案(二)
linux·运维·ubuntu
DianSan_ERP3 小时前
多平台订单自动下载与回传的技术实现:从消息推送到状态闭环引言
java·linux·服务器·前端·网络·架构·自动化
Android系统攻城狮3 小时前
Linux Gstreamer深度解析之gst_audio_decoder_get_parse_state调用流程与实战(四十九)
linux·音视频·gstreamer音视频·gstreamer音视频进阶
~光~~4 小时前
【嵌入式Linux学习】GFP_NOIO / GFP_NOFS(Linux 内核 gfp 分配标志)
linux·运维·学习
坤坤子吖4 小时前
ELF加载、动态链接、GOT与PLT
linux·笔记·学习