MongoDB VPS: NoSQL Database Trên VPS Offshore
MongoDB là NoSQL database document-oriented phổ biến nhất, lý tưởng cho ứng dụng cần lưu trữ dữ liệu linh hoạt, JSON-native và horizontal scaling. Chạy MongoDB trên VPS offshore của AnubizHost cho bạn toàn quyền kiểm soát version, configuration và không bị giới hạn bởi Atlas free tier hay pricing của managed MongoDB services.
Need this done for your project?
We implement, you ship. Async, documented, done in days.
Cài Đặt MongoDB trên VPS
Cài đặt MongoDB 7.0 từ repository chính thức:
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-7.0.list
apt update
apt install -y mongodb-org
systemctl enable mongod
systemctl start mongod
mongosh --versionBật Authentication và Tạo Admin User
MongoDB mặc định không có authentication - cần bật ngay:
mongoshuse admin
db.createUser({
user: "mongoAdmin",
pwd: "StrongAdminPassword123!",
roles: [{ role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase"]
})Bật authentication trong mongod.conf:
nano /etc/mongod.confsecurity:
authorization: enabled
net:
port: 27017
bindIp: 127.0.0.1systemctl restart mongodTạo user cho application:
mongosh -u mongoAdmin -p --authenticationDatabase adminuse myapp_db
db.createUser({
user: "appuser",
pwd: "AppPassword456!",
roles: [{ role: "readWrite", db: "myapp_db" }]
})Kết Nối từ Ứng Dụng Node.js
Connection string với authentication:
const mongoose = require('mongoose');
const MONGODB_URI = process.env.MONGODB_URI ||
'mongodb://appuser:AppPassword456!@localhost:27017/myapp_db?authSource=myapp_db';
mongoose.connect(MONGODB_URI, {
useNewUrlParser: true,
useUnifiedTopology: true,
serverSelectionTimeoutMS: 5000,
maxPoolSize: 10,
})
.then(() => console.log('MongoDB connected'))
.catch(err => console.error('MongoDB connection error:', err));Luôn sử dụng biến môi trường trong production:
# .env
MONGODB_URI=mongodb://appuser:AppPassword456!@localhost:27017/myapp_db?authSource=myapp_dbBackup và Restore MongoDB
Backup với mongodump:
mkdir -p /var/backups/mongodb
mongodump --uri="mongodb://mongoAdmin:StrongAdminPassword123!@localhost:27017/admin" --out=/var/backups/mongodb/dump-$(date +%Y%m%d)
tar czf /var/backups/mongodb/dump-$(date +%Y%m%d).tar.gz /var/backups/mongodb/dump-$(date +%Y%m%d)/Restore từ backup:
mongorestore --uri="mongodb://mongoAdmin:StrongAdminPassword123!@localhost:27017/admin" /var/backups/mongodb/dump-20260515/Cron job backup hàng ngày lúc 2 giờ sáng:
0 2 * * * mongodump --uri="mongodb://mongoAdmin:pass@localhost/admin" --out=/var/backups/mongodb/dump-$(date +%Y%m%d) && find /var/backups/mongodb -name "dump-*" -mtime +14 -exec rm -rf {} ;Related Services
Why Anubiz Host
Ready to get started?
Skip the research. Tell us what you need, and we'll scope it, implement it, and hand it back — fully documented and production-ready.