23/06/2025

Hướng Dẫn Cài Đặt n8n Trên VPS Ubuntu/Debian

n8n là một công cụ mạnh mẽ giúp bạn tự động hóa các quy trình làm việc (workflow automation) tương tự như Zapier, nhưng với khả năng tùy biến cao và hoàn toàn mã nguồn mở. Bài viết này sẽ hướng dẫn bạn cách cài đặt n8n trên server Ubuntu hoặc Debian một cách chi tiết và dễ hiểu nhất.

💡 Yêu Cầu Hệ Thống

Để cài đặt n8n, VPS của bạn cần đáp ứng tối thiểu các yêu cầu sau:

  • CPU: 1 core
  • RAM: Tối thiểu 1GB (khuyến nghị 2GB hoặc hơn để chạy ổn định)
  • Dung lượng ổ cứng: Còn trống ít nhất 10GB
  • Hệ điều hành: Ubuntu 22.04 / 24.04 hoặc Debian 12
    👉 Lưu ý: VPS nên là hệ điều hành sạch, chưa cài các dịch vụ web như Apache hoặc Nginx.

⚠️ Đây chỉ là yêu cầu tối thiểu. Nếu bạn chạy workflow nặng, nên sử dụng VPS có cấu hình cao hơn để đảm bảo hiệu năng.


🔧 Bước 1: Cập Nhật Hệ Thống

Trước tiên, bạn cần cập nhật hệ thống để đảm bảo mọi gói phần mềm đều mới nhất:
sudo apt update && sudo apt full-upgrade -y
sudo reboot

Sau khi hệ thống khởi động lại, tiếp tục với bước cài đặt.


🧱 Bước 2: Cài Đặt Node.js và npm

n8n yêu cầu Node.js để hoạt động. Chúng ta sẽ cài đặt phiên bản Node.js 20 LTS:

# Thêm kho NodeSource
curl -sL https://deb.nodesource.com/setup_20.x | sudo bash –

# Cài đặt Node.js và npm
sudo apt install -y nodejs npm

# Kiểm tra phiên bản đã cài
node –version
npm –version

Hãy đảm bảo Node.js và npm đã được cài đúng phiên bản.

✅ Yêu cầu: node phải >= 20.x, npm >= 9.x


⚙️ Bước 3: Cài Đặt n8n

Sử dụng npm để cài đặt n8n toàn cục:

sudo npm install -g n8n


🚀 Bước 4: Chạy n8n với PM2

PM2 giúp bạn quản lý tiến trình n8n hiệu quả hơn – tự khởi động lại khi gặp lỗi và chạy nền ổn định.

sudo npm install -g pm2

Giả sử bạn có subdomain là n8n.bacpv.com, hãy khởi chạy n8n như sau:

WEBHOOK_URL=https://n8n.bacpv.com pm2 start n8n
pm2 save
pm2 startup

✅ Lưu ý: Subdomain phải được trỏ về IP VPS để hoạt động chính xác, nhất là khi cài SSL.


🌐 Bước 5: Cài Đặt Nginx Làm Reverse Proxy

Nginx sẽ đóng vai trò chuyển tiếp yêu cầu từ trình duyệt đến cổng mặc định của n8n (5678):

sudo apt install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx

Tạo file cấu hình cho subdomain:

sudo nano /etc/nginx/conf.d/n8n.bacpv.com.conf

Nội dung file:

server {
listen 80;
server_name n8n.bacpv.com;

location / {
    proxy_pass http://127.0.0.1:5678;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}

}

Lưu lại với Ctrl + O, Enter rồi thoát bằng Ctrl + X.

Sau đó kiểm tra cấu hình:

sudo nginx -t

Nếu trả về syntax is ok – test is successful thì bạn có thể reload Nginx:
sudo systemctl reload nginx


🔐 Bước 6: Cài SSL Miễn Phí Với Certbot

Cài chứng chỉ SSL để bảo mật truy cập bằng HTTPS:

sudo apt install -y certbot python3-certbot-nginx
sudo certbot –nginx -d n8n.bacpv.com

Làm theo hướng dẫn trên màn hình để hoàn tất quá trình cấp chứng chỉ.


✅ Bước 7: Truy Cập Giao Diện n8n

Mở trình duyệt và truy cập:

https://n8n.bacpv.com

Bạn sẽ thấy giao diện khởi tạo tài khoản đầu tiên cho n8n. Từ đây, bạn đã có thể bắt đầu tạo các workflow tự động hóa của riêng mình.


🎉 Kết Luận

Chỉ với vài bước đơn giản, bạn đã triển khai thành công n8n trên server Ubuntu/Debian! Việc tự động hóa công việc chưa bao giờ dễ dàng đến thế.

Nếu bạn muốn tích hợp n8n với các công cụ khác, hãy khám phá n8n.io/integrations để xem danh sách các dịch vụ hỗ trợ.


Chúc bạn thành công trong hành trình tự động hóa!
Mọi thắc mắc có thể để lại bình luận hoặc gửi liên hệ qua trang hỗ trợ của BacPV.com