MongoDB là một cơ sở dữ liệu tài liệu NoSQL miễn phí và mã nguồn mở được sử dụng phổ biến trong các ứng dụng web hiện đại.
Bài viết sẽ hướng dẫn cách cài đặt MongoDB, quản lý dịch vụ và tùy chọn cho phép truy cập từ xa.
MongoDB cài đặt như một dịch vụ systemd, có nghĩa là bạn có thể quản lý nó bằng cách sử dụng các lệnh systemd
cùng với tất cả các dịch vụ sytem khác trong Ubuntu.
sudo systemctl status mongodb
sudo systemctl stop mongodb
sudo systemctl start mongodb
sudo systemctl restart mongodb
Theo mặc định, MongoDB được cấu hình để khởi động tự động với máy chủ, nếu bạn muốn vô hiệu hóa việc khởi động tự động, hãy dùng lệnh:
sudo systemctl disable mongodb
Kích hoạt dịch vụ mongodb
sudo systemctl enable mongodb
Nếu bạn sử dụng máy chủ MongoDB chỉ cục bộ với các ứng dụng đang chạy trên cùng một máy chủ, đây là thiết lập được khuyến nghị và bảo mật. Tuy nhiên, nếu bạn muốn có thể kết nối với máy chủ MongoDB của bạn từ internet, bạn phải cho phép các kết nối đến ufw
.
Để cho phép truy cập MongoDB trên cổng mặc định của nó 27017
từ mọi nơi, bạn có thể sử dụng . Tuy nhiên, cho phép truy cập internet đến máy chủ MongoDB trên một cài đặt mặc định cho phép bất kỳ ai truy cập không giới hạn vào máy chủ cơ sở dữ liệu và dữ liệu của nó.
sudo ufw allow
27017
Trong hầu hết các trường hợp, MongoDB chỉ nên được truy cập từ các vị trí tin cậy nhất định, chẳng hạn như một máy chủ lưu trữ một ứng dụng khác. Để thực hiện nhiệm vụ này, bạn có thể cho phép truy cập vào cổng mặc định của MongoDB trong khi chỉ định địa chỉ IP của một máy chủ khác sẽ được cho phép kết nối rõ ràng:
sudo ufw allow from your_other_server_ip/32 to any port 27017
Xác minh thay đổi trong cài đặt tường lửa với ufw
:
sudo ufw status
Xem lưu lượng truy cập đến cổng 27017
được phép trong đầu ra:
Thông tin đầu ra:
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
27017 ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
27017 (v6) ALLOW Anywhere (v6)
Nếu bạn đã quyết định chỉ cho phép một địa chỉ IP nhất định kết nối với máy chủ MongoDB, địa chỉ IP của vị trí được phép sẽ được liệt kê thay vì bất kỳ đâu trong đầu ra.
Bạn có thể tìm hiểu các cài đặt tường lửa nâng cao hơn để hạn chế quyền truy cập vào các dịch vụ trong UFW Essentials.
Mặc dù cổng đang mở, MongoDB hiện chỉ nghe trên địa chỉ cục bộ 127.0.0.1
. Để cho phép các kết nối từ xa, hãy thêm địa chỉ IP có thể định tuyến công khai của máy chủ của bạn vào file mongod.conf
.
Mở file cấu hình MongoDB và cấu hình như sau:
sudo nano /etc/mongodb.conf
Thêm địa chỉ IP của máy chủ của bạn vào bindIP
:
...
logappend=true
bind_ip = 127.0.0.1
,your_server_ip
#port = 27017
...
Bạn phải đảm bảo đặt đúng dấu phẩy giữa địa chỉ IP hiện tại và IP thêm vào.
Lưu file, thoát trình soạn thảo và khởi động lại MongoDB:
sudo systemctl restart mongodb
MongoDB hiện đang lắng nghe các kết nối từ xa, nhưng bất cứ ai cũng có thể truy cập nó.
Xem Phần 1 >> Cài đặt MongoDB và Kiểm tra dịch vụ và cơ sở dữ liệu
» Tin mới nhất:
» Các tin khác: