Thứ sáu, 31/07/2020 | 00:00 GMT+7

Cách cài đặt MongoDB trên Ubuntu 20.04 từ site chính thức của Mongodb

MongoDB , còn gọi là Mongo , là một opensource database được sử dụng trong nhiều ứng dụng web hiện đại. Nó được gọi là cơ sở dữ liệu NoSQL vì nó không dựa trên cấu trúc database quan hệ dựa trên bảng truyền thống.

Thay vào đó, nó sử dụng các tài liệu giống JSON với các schemas động, nghĩa là , không giống như database quan hệ, MongoDB không yêu cầu một schemas được định nghĩa trước khi bạn thêm dữ liệu vào database . Bạn có thể thay đổi schemas bất kỳ lúc nào và thường xuyên khi cần thiết mà không cần phải cài đặt một database mới với một schemas được cập nhật.

Trong hướng dẫn này, bạn sẽ cài đặt MongoDB trên server Ubuntu 20.04, kiểm tra nó và tìm hiểu cách quản lý nó như một dịch vụ systemd .

Yêu cầu

Để làm theo hướng dẫn này, bạn cần :

Bước 1 - Cài đặt MongoDB

Repository chính thức của Ubuntu bao gồm version ổn định của MongoDB. Tuy nhiên, tại thời điểm viết bài này, version MongoDB có sẵn từ repository mặc định của Ubuntu là 3.6 , trong khi version ổn định mới nhất là 4.4 .

Để có được version mới nhất của phần mềm này, bạn phải bao gồm repository chuyên dụng của MongoDB vào các nguồn APT của bạn . Sau đó, bạn có thể cài đặt mongodb-org , một gói meta luôn trỏ đến version MongoDB mới nhất.

Để bắt đầu, hãy nhập khóa GPG công khai cho version MongoDB ổn định mới nhất. Bạn có thể tìm file khóa thích hợp bằng cách chuyển đến server khóa MongoDB và tìm file có số version ổn định mới nhất và kết thúc bằng .asc . Ví dụ: nếu bạn muốn cài đặt version 4.4 của MongoDB, bạn sẽ tìm file có tên server-4.4.asc .

Nhấp chuột phải vào file và chọn Sao chép địa chỉ liên kết . Sau đó, dán liên kết đó vào lệnh curl sau, thay thế URL được đánh dấu:

  • curl -fsSL https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -

cURL là một công cụ dòng lệnh có sẵn trên nhiều hệ điều hành được sử dụng để truyền dữ liệu. Nó đọc bất kỳ dữ liệu nào được lưu trữ tại URL được chuyển đến nó và in nội dung ra kết quả của hệ thống. Trong ví dụ sau, cURL in nội dung của file khóa GPG và sau đó chuyển nó vào sudo apt-key add - sau đây, do đó thêm khóa GPG vào danh sách khóa tin cậy của bạn.

Ngoài ra, hãy lưu ý lệnh curl này sử dụng các tùy chọn -fsSL , về cơ bản, về cơ bản, thông báo cho cURL không thành công. Điều này nghĩa là nếu vì lý do nào đó, cURL không thể kết nối với server GPG hoặc server GPG bị lỗi, nó sẽ không vô tình thêm mã lỗi kết quả vào danh sách các khóa tin cậy của bạn.

Lệnh này sẽ trả về OK nếu khóa được thêm thành công:

Output
OK 

Nếu bạn muốn kiểm tra lại xem khóa đã được thêm đúng chưa, bạn có thể làm như vậy bằng lệnh sau:

  • apt-key list

Thao tác này sẽ trả về khóa MongoDB ở đâu đó trong kết quả :

Output
/etc/apt/trusted.gpg -------------------- pub   rsa4096 2019-05-28 [SC] [expires: 2024-05-26]       2069 1EEC 3521 6C63 CAF6  6CE1 6564 08E3 90CF B1F5 uid           [ unknown] MongoDB 4.4 Release Signing Key <packaging@mongodb.com> . . . 

Đến đây, cài đặt APT của bạn vẫn chưa biết tìm gói mongodb-org mà bạn cần để cài đặt version MongoDB mới nhất.

Có hai nơi trên server của bạn, nơi APT tìm kiếm các nguồn gói trực tuyến để download và cài đặt: file sources.list và folder sources.list.d . sources.list là một file liệt kê các nguồn dữ liệu APT đang hoạt động, với một nguồn trên mỗi dòng và các nguồn ưu tiên nhất được liệt kê đầu tiên. Thư mục sources.list.d cho phép bạn thêm các mục nhập sources.list như các file riêng biệt.

Chạy lệnh sau, lệnh này sẽ tạo một file trong folder sources.list.d có tên mongodb-org-4.4.list . Nội dung duy nhất trong file này là một dòng duy nhất đọc deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse :

  • echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

Dòng đơn này cho APT biết mọi thứ nó cần biết về nguồn là gì và tìm nó ở đâu:

  • deb : Điều này nghĩa là mục nhập nguồn tham chiếu đến kiến trúc Debian thông thường. Trong các trường hợp khác, phần này của dòng có thể đọc deb-src , nghĩa là mục nhập nguồn đại diện cho mã nguồn của bản phân phối Debian.
  • [ arch=amd64,arm64 ] : Điều này chỉ định cấu trúc nào mà dữ liệu APT sẽ được download . Trong trường hợp này, nó chỉ định amd64arm64 .
  • https://repo.mongodb.org/apt/ubuntu : Đây là một URI đại diện cho vị trí có thể tìm thấy dữ liệu APT. Trong trường hợp này, URI trỏ đến địa chỉ HTTPS nơi đặt repository MongoDB chính thức.
  • focal/mongodb-org/4.4 : Kho Ubuntu có thể chứa một số bản phát hành khác nhau. Điều này chỉ định rằng bạn chỉ muốn version 4.4 của gói mongodb-org có sẵn cho bản phát hành focal của Ubuntu (“Focal Fossa” là tên mã của Ubuntu 20.04).
  • multiverse : Phần này trỏ APT đến một trong bốn repository chính của Ubuntu. Trong trường hợp này, nó trỏ đến kho lưu trữ multiverse .

Sau khi chạy lệnh này, hãy cập nhật index gói local của server của bạn để APT biết nơi tìm gói mongodb-org :

  • sudo apt update

Sau đó, bạn có thể cài đặt MongoDB:

  • sudo apt install mongodb-org

Khi được yêu cầu , hãy nhấn Y rồi ENTER để xác nhận bạn muốn cài đặt gói.

Khi lệnh kết thúc, MongoDB sẽ được cài đặt trên hệ thống. Tuy nhiên nó vẫn chưa sẵn sàng để sử dụng. Tiếp theo, bạn sẽ khởi động MongoDB và xác nhận nó hoạt động bình thường.

Bước 2 - Khởi động Dịch vụ MongoDB và Kiểm tra Database

Quá trình cài đặt được mô tả trong bước trước sẽ tự động cấu hình MongoDB để chạy như một daemon được điều khiển bởi systemd , nghĩa là bạn có thể quản lý MongoDB bằng các lệnh systemctl khác nhau. Tuy nhiên, quy trình cài đặt này không tự động khởi động dịch vụ.

Chạy lệnh systemctl sau để bắt đầu dịch vụ MongoDB:

  • sudo systemctl start mongod.service

Sau đó kiểm tra trạng thái của dịch vụ. Lưu ý lệnh này không bao gồm .service trong định nghĩa file dịch vụ. systemctl sẽ nối hậu tố này vào bất kỳ đối số nào bạn truyền tự động nếu nó chưa có, vì vậy không cần thiết phải bao gồm nó:

  • sudo systemctl status mongod

Lệnh này sẽ trả về kết quả kết quả như sau, cho biết rằng dịch vụ đang hoạt động và hoạt động:

Output
● mongod.service - MongoDB Database Server      Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)      Active: active (running) since Tue 2020-06-09 12:57:06 UTC; 2s ago        Docs: https://docs.mongodb.org/manual    Main PID: 37128 (mongod)      Memory: 64.8M      CGroup: /system.slice/mongod.service              └─37128 /usr/bin/mongod --config /etc/mongod.conf 

Sau khi xác nhận dịch vụ đang chạy như mong đợi, hãy bật dịch vụ MongoDB khởi động khi server khởi động :

  • sudo systemctl enable mongod

Bạn có thể xác minh thêm rằng database đang hoạt động bằng cách kết nối với server database và chạy lệnh kiểm tra . Lệnh sau sẽ kết nối với database và xuất ra version , địa chỉ server và cổng hiện tại của nó. Nó cũng sẽ trả về kết quả của lệnh Internal connectionStatus của MongoDB:

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

connectionStatus sẽ kiểm tra và trả về trạng thái của kết nối database . Giá trị 1 cho trường ok trong phản hồi cho biết rằng server đang hoạt động như mong đợi:

Output
MongoDB shell version v4.4.0 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("1dc7d67a-0af5-4394-b9c4-8a6db3ff7e64") } MongoDB server version: 4.4.0 {     "authInfo" : {         "authenticatedUsers" : [ ],         "authenticatedUserRoles" : [ ]     },     "ok" : 1 } 

Ngoài ra, lưu ý database đang chạy trên cổng 27017 trên 127.0.0.1 , địa chỉ loopback cục bộ đại diện cho localhost . Đây là số cổng mặc định của MongoDB.

Tiếp theo, ta sẽ xem xét cách quản lý version server MongoDB với systemd .

Bước 3 - Quản lý Dịch vụ MongoDB

Như đã đề cập trước đây, quá trình cài đặt được mô tả trong Bước 1 cấu hình MongoDB để chạy như một dịch vụ systemd . Điều này nghĩa là bạn có thể quản lý nó bằng các lệnh systemctl tiêu chuẩn như cách bạn làm với các dịch vụ hệ thống Ubuntu khác.

Như đã đề cập trước đây, lệnh systemctl status kiểm tra trạng thái của dịch vụ MongoDB:

  • sudo systemctl status mongod

Bạn có thể dừng dịch vụ bất cứ lúc nào bằng lệnh :

  • sudo systemctl stop mongod

Để bắt đầu dịch vụ khi nó dừng, hãy chạy:

  • sudo systemctl start mongod

Bạn cũng có thể khởi động lại server khi nó đang chạy:

  • sudo systemctl restart mongod

Ở Bước 2, bạn đã bật MongoDB để tự động khởi động với server . Nếu bạn muốn tắt tính năng khởi động tự động này, hãy nhập:

  • sudo systemctl disable mongod

Sau đó, để chạy lại nó khởi động khi server khởi động , hãy chạy lại lệnh enable :

  • sudo systemctl enable mongod

Để biết thêm thông tin về cách quản lý các dịch vụ systemd , hãy xem Systemd Essentials: Làm việc với Dịch vụ, Đơn vị và Nhật ký .

Kết luận

Trong hướng dẫn này, bạn đã thêm repository MongoDB chính thức vào version APT của bạn và cài đặt version MongoDB mới nhất. Sau đó, bạn đã thử nghiệm chức năng của Mongo và thực hành một số lệnh systemctl .

Là một bước tiếp theo ngay lập tức, ta khuyên bạn cứng an ninh cài đặt MongoDB của bạn theo hướng dẫn của ta về Làm thế nào để an toàn MongoDB trên Ubuntu 20.04 . Khi nó được bảo mật, bạn có thể cấu hình MongoDB để chấp nhận các kết nối từ xa .

Bạn có thể tìm thêm hướng dẫn về cách cấu hình và sử dụng MongoDB trong các bài viết cộng đồng DigitalOcean này . Ta cũng khuyến khích bạn xem tài liệu chính thức của MongoDB , vì đó là một tài nguyên tuyệt vời về các khả năng mà MongoDB cung cấp.


Tags:

Các tin liên quan

Cách cấu hình truy cập từ xa cho MongoDB trên Ubuntu 20.04
2020-07-31
Cách bảo mật MongoDB trên Ubuntu 20.04
2020-07-31
Cách thiết lập Mattermost trên Ubuntu 20.04
2020-07-29
Làm thế nào để quản lý OpenSSH trên Ubuntu 18.04
2020-07-28
Cách sử dụng Discord Webhooks để nhận thông báo về trạng thái trang web của bạn trên Server
2020-07-27
Cách cài đặt Discourse trên Ubuntu 18.04
2020-07-14
Cách cài đặt Discourse trên Ubuntu 20.04
2020-07-14
Cách thiết lập máy tính từ xa với X2Go trên Ubuntu 20.04
2020-07-14
Cách tập trung log với Journald trên Ubuntu 20.04
2020-07-10
Cách cài đặt và cấu hình Drone trên Ubuntu 20.04
2020-07-09