Mục lục
Chào các bạn, hôm nay BNIX xin chia sẻ cách cài đặt n8n trên VPS Ubuntu/Debian phiên bản nodejs.
Bạn nào cần docker thì tham khảo bài này nhé: https://doc.bnix.vn/cai-dat-n8n-bang-docker/
Tại sao lại là Ubuntu/Debian? Đơn giản vì nó chung tập lệnh, lệnh chạy bên nào cũng được.
Hôm nay chúng ta sẽ tiến hành cài đặt trên nền nodejs và npm, quản lý bằng pm2 và ra domain bằng nginx proxy.
1. Yêu cầu VPS:
- CPU: 1 core
- RAM: 1GB
- Disk trống: 10GB
- Hệ điều hành: Ubuntu 22.04 hoặc Ubuntu 24.04 hoặc Debian 12. Các hệ điều hành phải mới, chưa cài đặt các webserver khác nhé
2. Cập nhật hệ điều hành
Các bạn chạy lệnh sau để cập nhật trước khi cài đặt
apt -y update && apt -y upgrade
reboot
3. Cài đặt nodejs
Các bạn cài đặt nodejs và npm bằng lệnh sau:
# Thêm NodeSource repository (ví dụ muốn cài Node.js 20 LTS)
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
# Cài Node.js và npm
apt -y install nodejs npm
# Kiểm tra phiên bản
node -v
npm -v
4. Cài đặt n8n
Chúng ta sẽ cài đặt n8n bằng npm như sau:
npm install n8n -g
5. Cài đặt pm2
npm install -g pm2
6. Khởi động chạy n8n
Các bạn chạy lệnh sau để khởi chạy n8n, nhớ đổi thành sub domain của mình nhé
# thay domain.com thành địa chỉ website của bạn
WEBHOOK_URL=https://sub.domain.com pm2 start n8n
pm2 save && pm2 startup
7. Cài đặt nginx
Để cài đặt nginx cũng khá dễ và nhanh, các bạn chạy lệnh sau:
# Cài đặt nginx
apt -y install nginx
# Khởi động nginx
systemctl start nginx
# Cho nginx khởi động cùng hệ thống
systemctl enable nginx
8. Thêm tên miền
Để thêm tên miền, chúng ta chạy lệnh sau để tạo file cấu hình
nano /etc/nginx/conf.d/sub.domain.com.conf
Sau đó thêm nội dung như sau vào, rồi bấm Ctrl + O để save lại và Ctrl + X để thoát ra
server {
listen 80;
server_name sub.domain.com;
location / {
proxy_pass http://localhost:5678;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
Nhớ thay subdomain nhé.
Sau đó khởi động lại nginx để nó nhận subdomain
systemctl restart nginx
9. Cài đặt SSL
Để cài đặt SSL cho subdomain thì ta dùng certbot. Cài đặt như sau:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d sub.domain.com
Khi bạn thấy ảnh bên dưới là đã cài đặt thành công

Hãy truy cập ngay vào sub domain của mình để hoàn thành bước tạo tài khoản sử dụng n8n nhé.
Chúc các bạn thực hiện thành công!