在debian9上安装mongodb
MongoDB是一个免费的开源NoSQL文档数据库,在现代Web应用程序中常用。在本教程中,您将安装MongoDB,管理其服务,并可选择启用远程访问。要遵循这个......
介绍
MongoDB是一个免费的开源NoSQL文档数据库,在现代Web应用程序中常用。
在本教程中,您将安装MongoDB,管理其服务,并可选择启用远程访问。
先决条件
要学习本教程,您需要按照此初始服务器设置教程设置一个Debian 9服务器,包括启用了sudo的非root用户和防火墙。
第1步 - 安装MongoDB
Debian 9的官方软件包存储库包含稍微过时的MongoDB版本,这意味着我们将从官方的MongoDB repo安装。
首先,我们需要使用apt-key add MongoDB签名密钥。 在执行此操作之前,我们需要确保安装了curl命令:
sudo apt install curl
接下来我们下载密钥并将其传递给apt-key add :
curl https://www.mongodb.org/static/pgp/server-4.0.asc | sudo apt-key add -
接下来我们将为MongoDB repo创建一个源列表,因此apt知道从哪里下载。 首先在文本编辑器中打开源列表文件:
sudo nano /etc/apt/sources.list.d/mongodb-org-4.0.list
这将打开一个新的空白文件。 粘贴如下:
/etc/apt/sources.list.d/mongodb-org-4.0.list
deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main
保存并关闭该文件,然后更新包缓存:
sudo apt update
安装mongodb-org软件包以安装服务器和一些支持工具:
sudo apt-get install mongodb-org
最后,启用并启动mongod服务以使MongoDB数据库运行:
sudo systemctl enable mongod
sudo systemctl start mongod
我们现在已经安装并启动了最新的稳定版MongoDB,以及MongoDB服务器的有用管理工具。
接下来,让我们验证服务器是否正在运行并正常运行。
第2步 - 检查服务和数据库
我们在上一步中启动了MongoDB服务,现在让我们验证它是否已启动且数据库是否正常工作。
首先,检查服务的状态:
sudo systemctl status mongod
你会看到这个输出:
Output● mongod.service - MongoDB Database Server
Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2018-09-05 16:59:56 UTC; 3s ago
Docs: https://docs.mongodb.org/manual
Main PID: 4321 (mongod)
Tasks: 26
CGroup: /system.slice/mongod.service
└─4321 /usr/bin/mongod --config /etc/mongod.conf
根据systemd ,MongoDB服务器已启动并运行。
我们可以通过实际连接到数据库服务器并执行诊断命令来进一步验证这一点
执行以下命令:
mongo --eval 'db.runCommand({ connectionStatus: 1 })'
这将输出当前数据库版本,服务器地址和端口以及status命令的输出:
OutputMongoDB shell version v4.0.2
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 4.0.2
{
"authInfo" : {
"authenticatedUsers" : [ ],
"authenticatedUserRoles" : [ ]
},
"ok" : 1
}
响应中ok字段的值为1表示服务器正常工作。
接下来,我们将了解如何管理服务器实例。
第3步 - 管理MongoDB服务
MongoDB作为systemd服务安装,这意味着您可以使用标准systemd命令以及Ubuntu中的所有其他系统服务来管理它。
要验证服务的状态,请键入:
sudo systemctl status mongod
您可以通过键入以下命令随时停止服务器:
sudo systemctl stop mongod
要在服务器停止时启动它,请键入:
sudo systemctl start mongod
您还可以使用以下命令重新启动服务器:
sudo systemctl restart mongod
在上一步中,我们启用了MongoDB以自动启动服务器。 如果要禁用自动启动,请键入:
sudo systemctl disable mongod
再次启用它也很容易。 为此,请使用:
sudo systemctl enable mongod
接下来,让我们调整MongoDB安装的防火墙设置。
第4步 - 调整防火墙(可选)
假设您已按照初始服务器设置教程说明在服务器上启用防火墙,则无法从Internet访问MongoDB服务器。
如果您打算仅在本地使用MongoDB服务器与在同一服务器上运行的应用程序,则这是推荐的安全设置。 但是,如果您希望能够从Internet连接到MongoDB服务器,则必须允许ufw的传入连接。
要允许从任何地方访问默认端口27017上的MongoDB,可以使用sudo ufw allow 27017 。 但是,在默认安装上启用对MongoDB服务器的Internet访问可以使任何人无限制地访问数据库服务器及其数据。
在大多数情况下,只能从某些受信任的位置访问MongoDB,例如托管应用程序的另一台服务器。 要完成此任务,您可以允许访问MongoDB的默认端口,同时指定将明确允许连接的另一台服务器的IP地址:
sudo ufw allow from your_other_server_ip/32 to any port 27017
您可以使用ufw验证防火墙设置的更改:
sudo ufw status
您应该看到输出中允许的端口27017流量:
Status: active To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
27017 ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
27017 (v6) ALLOW Anywhere (v6)
如果您决定仅允许某个IP地址连接到MongoDB服务器,则将在输出中列出允许位置的IP地址而不是Anywhere 。
您可以在UFW Essentials中找到更高级的防火墙设置,以限制对服务的访问:通用防火墙规则和命令 。
即使端口是打开的,MongoDB当前只监听本地地址127.0.0.1 。 要允许远程连接,请将服务器的可公共路由IP地址添加到mongod.conf文件中。
在编辑器中打开MongoDB配置文件:
sudo nano /etc/mongod.conf
将服务器的IP地址添加到bindIP值:
/etc/mongod.conf
. . .
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1,your_server_ip
. . .
请务必在现有IP地址和您添加的IP地址之间放置逗号。
保存文件,退出编辑器,然后重新启动MongoDB:
sudo systemctl restart mongod
MongoDB现在正在监听远程连接,但任何人都可以访问它。 按照如何在Ubuntu 16.04上安装和保护MongoDB的第2部分添加管理用户并进一步锁定。
结论
您可以在这些DigitalOcean社区文章中找到有关如何配置和使用MongoDB的更深入的教程。 MongoDB官方文档也是MongoDB提供的可能性的绝佳资源。
参考https://www.howtoing.com/how-to-install-mongodb-on-debian-9
在debian9上安装mongodb的更多相关文章
- 在 CentOS7 上安装 MongoDB
在 CentOS7 上安装 MongoDB 1 通过 SecureCRT 连接至 CentOS7 服务器: 2 进入到 /usr/local/ 目录: cd /usr/local 3 在当前目录下创建 ...
- 如何在CentOS/RHEL & Fedora上安装MongoDB 3.2
MongoDB(名称取自"huMONGOus")是一个有着全面灵活的索引支持和丰富的查询的数据库.MongoDB通过GridFS提供强大的媒体存储.点击这里获取MongoDB的更多 ...
- Ubuntu上安装MongoDB(译)
add by zhj:直接从第四步开始就可以了,而且安装好MongoDB后会自动启动的,不必自己去执行启动命令 原文:https://docs.mongodb.com/manual/tutorial/ ...
- 在Windows上安装MongoDB
原文官方文档:https://docs.mongodb.org/v2.6/tutorial/install-mongodb-on-windows/ 基于版本:MongoDB 2.6 概览 通过这个示例 ...
- 在 Ubuntu 上安装 MongoDB
在 Ubuntu 上安装 MongoDB 运行下列命令,导入 MongoDB 公开 GPG 键: sudo apt-key adv --keyserver hkp://keyserver.ubuntu ...
- Ubuntu 12.04上安装 MongoDB并运行
Ubuntu 12.04上安装 MongoDB并运行 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 在Terminal输入 sudo apt-key ...
- window上安装 MongoDB 及其 PHP扩展
window上安装 MongoDB 及其 PHP扩展 工具/原料 window MongoDB MongoDB 方法/步骤 MongoDB 下载 MongoDB提供了可用于32位和64 ...
- (转)在 CentOS7 上安装 MongoDB
在 CentOS7 上安装 MongoDB 1 通过 SecureCRT 连接至 CentOS7 服务器: 2 进入到 /usr/local/ 目录: cd /usr/local 3 在当前目录下创建 ...
- Linux上安装MongoDB
使用本教程使用.rpm 软件包在红帽企业Linux或CentOS Linux版本6和7上安装MongoDB Community Edition . 平台支持 本安装指南仅支持64位系统.详细信息请参见 ...
随机推荐
- php -- 修改字符串的编码格式
网上的都是这样用的 $content = iconv("utf-8","gb2312",$content); 这样做其实也对着了,看着确实是把utf-8转化为g ...
- Apache -- 压力测试工具ab.exe
ab全称ApacheBench是Apache超文本传输协议(HTTP)的性能测试工具.是描绘当前所安装的Apache的执行性能, 主要是显示你安装的Apache每秒可以处理多少个请求Apache自带的 ...
- Android的Parcelable中describeContents方法的作用
这个方法返回的值通常为0,那什么情况下需要填写其他值呢? 这个方法到目前为止返回其他唯一有效的值就是CONTENTS_FILE_DESCRIPTOR(0x01),指明这个Parcel的内容包含文件描述 ...
- C++关键字之explicit(显式)
C++ Code 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 ...
- 三、Gradle初级教程——Gradle除了签名打包还能配置jar包
1.gradle概念 构建工具,Groovy,Java. 2.gradle配置jar包,和libs文件夹导入jar包的区别 到此,还是这种方法导入JAR包比较方便.每次更新JAR包,只需要修改版本号就 ...
- 我使用过的Linux命令之sftp - 安全文件传输命令行工具
用途说明 sftp命令可以通过ssh来上传和下载文件,是常用的文件传输工具,它的使用方式与ftp类似,但它使用ssh作为底层传输协议,所以安全性比ftp要好得多. 常用方式 格式:sftp <h ...
- matlab 中关于 varargin 参数
varargin 提供了一种函数可变参数列表机制,允许调用者调用该函数时根据需要来改变输入参数的个数: varargin{1}代表可变参数列表的第一个实参,同理varargin{2}代表可变参数列表的 ...
- Math.max得到数组中最大值
Math.max(param1,param2) 因为参数不支持数组. 所以可以根据apply的特点来解决, var max = Math.max.apply(null,array),这样就可以轻易的得 ...
- 第一个MapReduce的例子
第一个MapReduce的例子 Hadoop Guide的第一个MapReduce的例子是处理气象数据的(数据来源ncdc),终于跑通了.总结一下步骤,安装hadoop不在本文中介绍 1 数据预处理 ...
- PHP疑难杂症
下面这种写法是否允许? echo '\n' // \n echo "\n" // 输出换行 直接访问对象不存在的属性,会怎样? $o = new stdClass(); echo ...