Ubuntu安裝MongoDB


一、下載安裝

首先,更新軟件包列表以獲取最新版本的存儲庫列表:

sudo apt update

2.接着安裝MongoDB包本身:

sudo apt install -y mongodb

×加-y是為了在后面安裝過程中跳過要輸入一次Y的步驟。

該命令安裝了幾個包含最新穩定版本的MongoDB的軟件包,以及MongoDB服務器的有用管理工具。 數據庫服務器在安裝后自動啟動。

二、檢查是否成功

首先檢查服務的狀態:

sudo systemctl status mongodb

如果輸出下面類似的內容,說明安裝成功了

● mongodb.service - An object/document-oriented database
   Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2018-11-03 14:21:52 CST; 2min 38s ago
     Docs: man:mongod(1)
 Main PID: 20731 (mongod)
    Tasks: 23 (limit: 4915)
   CGroup: /system.slice/mongodb.service
           └─20731 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf

可以通過實際連接到數據庫服務器並執行診斷命令來進一步驗證:

mongo --eval 'db.runCommand({ connectionStatus: 1 })'

這將輸出當前的數據庫版本,服務器地址和端口以及狀態命令的輸出:

MongoDB shell version v3.6.3
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.3
{
	"authInfo" : {
		"authenticatedUsers" : [ ],
		"authenticatedUserRoles" : [ ]
	},
	"ok" : 1
}

響應中的ok字段的值為1表示服務器工作正常。

 三、管理MongoDB

默認情況下,MongoDB被配置為自動啟動服務器。 如果希望禁用自動啟動:

sudo systemctl disable mongodb

再次啟用它同樣簡單:

sudo systemctl enable mongodb

要驗證服務的狀態:

sudo systemctl status mongodb

停止服務器:

sudo systemctl stop mongodb

啟動服務器:

sudo systemctl start mongodb

重新啟動服務器:

sudo systemctl restart mongodb

 四、防火牆設置(根據自己情況設置)

假設已經遵循了最初的服務器設置教程說明來啟用服務器上的防火牆,MongoDB服務器將無法從Internet訪問。

如果打算只在本地使用運行在同一台服務器上的應用程序的MongoDB服務器,則這是建議和安全的設置。 但是,如果希望能夠通過Internet連接到MongoDB服務器,則必須允許ufw的傳入連接。要允許從任何地方訪問其默認端口27017上的MongoDB,可以使用sudo ufw allow 27017 。 但是,通過默認安裝啟用對MongoDB服務器的互聯網訪問,任何人都可以不受限制地訪問數據庫服務器及其數據。

在大多數情況下,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 gedit /etc/mongodb.conf

將您的服務器的IP地址添加到bindIP值:

...
logappend=true

bind_ip = 127.0.0.1,your_server_ip
#port = 27017
...

務必在現有IP地址和添加的地址之間放置逗號。

保存文件,退出編輯器,然后重新啟動MongoDB:

sudo systemctl restart mongodb

MongoDB現在正在監聽遠程連接,但任何人都可以訪問它。 后面可以通過添加管理用戶並進一步鎖定。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM