Download app

Quét mã QR để tải về ứng dụng

QR code
preload-home

Cài đặt n8n trên VPS Ubuntu [CHI TIẾT] và lưu ý quan trọng

12/06/2025, 01:55 pm
LeThiMai
11

Triển khai n8n trên VPS Ubuntu mở ra khả năng tự động hóa quy trình mạnh mẽ với hiệu năng cao và kiểm soát tối đa. Bài viết này, Nhân Hòa sẽ hướng dẫn cài đặt n8n trên VPS Ubuntu từng bước chi tiết, kèm theo những lưu ý bảo mật và vận hành quan trọng.

Lợi ích khi cài đặt n8n trên vps ubuntu

n8n là nền tảng mã nguồn mở chuyên về tự động hóa quy trình làm việc, giúp bạn liên kết và điều phối hàng trăm dịch vụ, ứng dụng web mà không phải viết những đoạn code rườm rà. Với giao diện trực quan và hệ thống node linh hoạt, bạn dễ dàng xây dựng các workflow tùy chỉnh để xử lý dữ liệu, gửi thông báo hay đồng bộ thông tin giữa các công cụ chỉ với vài thao tác kéo-thả.

Lợi ích khi cài đặt n8n trên vps ubuntu

Khi tự cài đặt n8n trên VPS Ubuntu, bạn hoàn toàn làm chủ hạ tầng và dữ liệu của mình, bao gồm việc thiết lập tường lửa, chứng chỉ SSL và sao lưu định kỳ, từ đó tăng cường bảo mật và đảm bảo tính riêng tư. Ngoài ra, bạn có thể điều chỉnh tài nguyên CPU, RAM, hay cấu hình mạng để đáp ứng chính xác nhu cầu sử dụng, đồng thời tiết kiệm đáng kể so với các gói SaaS trả phí và dễ dàng mở rộng khi khối lượng công việc tăng lên.

>>> Xem thêm: Các lợi ích và đặc điểm nổi bật của n8n

Điều kiện để cài đặt n8n trên VPS Ubuntu

Trước khi bắt đầu triển khai n8n trên VPS Ubuntu, bạn cần chuẩn bị một môi trường kỹ thuật đáp ứng các tiêu chí tối thiểu sau để đảm bảo hoạt động ổn định và hiệu suất tối ưu:

Ubuntu nên ở phiên bản 20.04 trở lên (đề xuất sử dụng 22.04) và bạn phải có quyền root hoặc sudo để cài đặt các công cụ cần thiết như Docker, Docker Compose, Node.js, npm hoặc PM2. Về phần cứng, một cấu hình cơ bản như 2 CPU cores, 2–4 GB RAM và 20–40 GB SSD đã đủ chạy mượt mà nhiều workflow, trong khi các môi trường lớn hơn nên sử dụng 4 cores, 8 GB RAM trở lên cho hiệu năng cao hơn.

Điều kiện để cài đặt n8n trên VPS Ubuntu

Ngoài ra, bạn cần chuẩn bị công cụ triển khai như Docker & Docker Compose hoặc Node.js (≥18) + npm + PM2, đồng thời nếu muốn truy cập qua HTTPS, hãy cấu hình subdomain trỏ về IP VPS và sử dụng reverse‑proxy (có thể là Traefik, Nginx, Caddy…) kèm chứng chỉ SSL từ Let's Encrypt hoặc tương đương . Với các điều kiện này, bạn sẽ sở hữu một nền tảng an toàn, sẵn sàng triển khai và dễ dàng mở rộng khi hệ thống phát triển.

Hướng dẫn 7 bước setup n8n vps server ubuntu nhanh chóng

Việc setup n8n trên vps server Ubuntu giúp bạn tận dụng tối đa khả năng tự động hóa trong môi trường kiểm soát và bảo mật. Dưới đây là các bước triển khai đầy đủ từ cài đặt Docker cho đến cấu hình hoạt động sản phẩm.

Bước 1: Cài đặt Docker

Docker là nền tảng không thể thiếu để vận hành n8n dạng container. Trên hệ điều hành Ubuntu, thực hiện lần lượt các lệnh dưới đây để cài đặt:

sudo apt-get remove docker docker-engine docker.io containerd runc

sudo apt-get update

sudo apt-get install ca-certificates curl gnupg lsb-release

sudo mkdir -p /etc/apt/keyrings

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io

 

Bước 2: Cài đặt Docker Compose

Docker Compose giúp dễ dàng quản lý và triển khai nhiều container trong một cấu hình đồng nhất. Để cài đặt plugin này, sử dụng

sudo apt-get install docker-compose-plugin

 

Bước 3: Cấu hình DNS cho tên miền

Nếu bạn dùng tên miền riêng để truy cập n8n, cần tạo bản ghi A cho subdomain trỏ về địa chỉ IP của VPS:

- Loại bản ghi: A

- Tên subdomain: n8n (hoặc tùy chọn khác)

- Địa chỉ IP: IP máy chủ VPS

Bước 4: Tạo file docker-compose.yml

Tiếp theo, trong thư mục cài đặt n8n, tạo tệp docker-compose.yml với nội dung sau:

version: "3.7"


services:

  traefik:

    image: traefik

    restart: always

    command:

      - "--api=true"

      - "--api.insecure=true"

      - "--providers.docker=true"

      - "--providers.docker.exposedbydefault=false"

      - "--entrypoints.web.address=:80"

      - "--entrypoints.web.http.redirections.entryPoint.to=websecure"

      - "--entrypoints.web.http.redirections.entryPoint.scheme=https"

      - "--entrypoints.websecure.address=:443"

      - "--certificatesresolvers.mytlschallenge.acme.tlschallenge=true"

      - "--certificatesresolvers.mytlschallenge.acme.email=${SSL_EMAIL}"

      - "--certificatesresolvers.mytlschallenge.acme.storage=/letsencrypt/acme.json"

    ports:

      - "80:80"

      - "443:443"

    volumes:

      - traefik_data:/letsencrypt

      - /var/run/docker.sock:/var/run/docker.sock:ro


  n8n:

    image: docker.n8n.io/n8nio/n8n

    restart: always

    ports:

      - "127.0.0.1:5678:5678"

    labels:

      - "traefik.enable=true"

      - "traefik.http.routers.n8n.rule=Host(${SUBDOMAIN}.${DOMAIN_NAME})"

      - "traefik.http.routers.n8n.tls=true"

      - "traefik.http.routers.n8n.entrypoints=web,websecure"

      - "traefik.http.routers.n8n.tls.certresolver=mytlschallenge"

      - "traefik.http.middlewares.n8n-headers.headers.SSLRedirect=true"

      - "traefik.http.middlewares.n8n-headers.headers.STSSeconds=315360000"

      - "traefik.http.middlewares.n8n-headers.headers.browserXSSFilter=true"

      - "traefik.http.middlewares.n8n-headers.headers.contentTypeNosniff=true"

      - "traefik.http.middlewares.n8n-headers.headers.forceSTSHeader=true"

      - "traefik.http.middlewares.n8n-headers.headers.SSLHost=${DOMAIN_NAME}"

      - "traefik.http.middlewares.n8n-headers.headers.STSIncludeSubdomains=true"

      - "traefik.http.middlewares.n8n-headers.headers.STSPreload=true"

      - "traefik.http.routers.n8n.middlewares=n8n-headers@docker"

    environment:

      - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}

      - N8N_PORT=5678

      - N8N_PROTOCOL=https

      - NODE_ENV=production

      - WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/

      - GENERIC_TIMEZONE=${GENERIC_TIMEZONE}

    volumes:

      - n8n_data:/home/node/.n8n

      - /local-files:/files


volumes:

  traefik_data:

    external: true

  n8n_data:

   external: true

 

Bước 5: Tạo file .env

Tạo tệp .env nằm cùng thư mục với docker-compose và thêm các biến môi trường cần thiết:

DOMAIN_NAME=cloudfly.vn

SUBDOMAIN=n8n

GENERIC_TIMEZONE=Asia/Ho_Chi_Minh

N8N_DEFAULT_BINARY_DATA_MODE=filesystem

N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true

EXECUTIONS_DATA_PRUNE=true

EXECUTIONS_DATA_MAX_AGE=168

EXECUTIONS_DATA_PRUNE_MAX_COUNT=50000

SSL_EMAIL=admin@cloudfly.vn

 

Bước 6: Tạo volume cho dữ liệu

Trước khi khởi động hệ thống, tạo volume để lưu dữ liệu cho n8n và chứng chỉ SSL của Traefik:

sudo docker volume create n8n_data

sudo docker volume create traefik_data

 

Bước 7: Khởi động n8n

Cuối cùng, bạn đã sẵn sàng để đưa hệ thống vào hoạt động. Dùng lệnh sau để khởi động:

sudo docker compose up -d

Các lệnh quản lý container bao gồm:

Dừng dịch vụ:

sudo docker compose stop

Cập nhật container:

sudo docker compose pull

>>> Click xem thêm: hướng dẫn cài đặt n8n trên Cpanel CHI TIẾT NHẤT

Khắc phục lỗi phổ biến khi cài đặt n8n trên VPS Ubuntu

Khi cài đặt n8n người dùng có thể gặp phải một số lỗi phổ biến do môi trường hệ thống hoặc cấu hình chưa phù hợp. Dưới đây là tổng hợp các lỗi thường gặp và cách khắc phục chi tiết để giúp quá trình cài đặt diễn ra suôn sẻ hơn.

Port bị chiếm dụng

Nếu bạn thấy n8n (port 5678) hoặc Nginx (port 80, 443) không thể khởi động, có thể là do cổng đã được tiến trình khác sử dụng. Hãy chạy lệnh sudo lsof -i :PORT_NUMBER hoặc sudo netstat -tulnp | grep PORT_NUMBER để xác định tiến trình đang chiếm dụng cổng đó. Sau đó, bạn có thể dừng tiến trình này hoặc thay đổi cổng của dịch vụ n8n/Nginx để tránh xung đột.

Lỗi liên quan đến quyền truy cập

Khi thực hiện lệnh npm install -g hoặc thao tác với Docker, nếu hệ thống báo lỗi phân quyền, hãy đảm bảo bạn đang dùng lệnh sudo một cách chính xác. Ngoài ra, để sử dụng Docker mà không cần thêm sudo, bạn có thể thêm tài khoản người dùng vào nhóm docker.

Khắc phục lỗi phổ biến khi cài đặt n8n trên VPS Ubuntu

Không tương thích phiên bản Node.js

n8n yêu cầu chạy trên một phiên bản Node.js nhất định. Nếu bạn sử dụng phiên bản sai, ứng dụng có thể không khởi động. Để xử lý, bạn nên dùng công cụ NVM để dễ dàng chuyển đổi và quản lý các phiên bản Node.js phù hợp.

Sai cấu hình Nginx

Sau khi điều chỉnh file cấu hình Nginx, đừng quên kiểm tra cú pháp bằng lệnh sudo nginx -t. Việc này giúp phát hiện lỗi trước khi bạn tiến hành khởi động lại Nginx. Nếu gặp sự cố, bạn có thể kiểm tra thêm nhật ký lỗi tại đường dẫn /var/log/nginx/error.log.

Webhook không hoạt động với reverse proxy

Trong trường hợp webhook không phản hồi sau khi thiết lập reverse proxy, hãy kiểm tra biến môi trường WEBHOOK_URL. Biến này cần được đặt chính xác với địa chỉ URL công khai của hệ thống, chẳng hạn: https://n8n.yourdomain.com/. Bạn có thể thiết lập trong tệp docker-compose.yml hoặc cấu hình môi trường khi sử dụng PM2.

>>> Khám phá thêm: Hosting n8n Nhân Hòa - Triển khai nhanh, tốc độ đỉnh

Các lưu ý quan trọng khi sử dụng n8n trên VPS

Khi triển khai và vận hành n8n trên môi trường VPS, bạn cần chú trọng một số yếu tố cốt lõi để đảm bảo tính ổn định hệ thống, bảo mật dữ liệu và tối ưu tài nguyên. Cụ thể như sau:

- Bảo mật truy cập giao diện n8n: Kích hoạt xác thực Basic Authentication để bảo vệ giao diện khỏi truy cập trái phép bằng cách cấu hình các biến môi trường như N8N_BASIC_AUTH_ACTIVE, N8N_BASIC_AUTH_USER, và N8N_BASIC_AUTH_PASSWORD. Đồng thời, nên triển khai HTTPS bằng Nginx và chứng chỉ SSL (Let's Encrypt) để bảo mật kết nối.

- Cấu hình cơ sở dữ liệu phù hợp: Tránh sử dụng SQLite trong môi trường sản phẩm. Thay vào đó, nên sử dụng PostgreSQL để đảm bảo hiệu suất và khả năng mở rộng. Cần thiết lập đầy đủ các biến môi trường liên quan đến PostgreSQL để đảm bảo kết nối ổn định.

- Thiết lập tự khởi động dịch vụ: Đảm bảo n8n khởi động lại tự động khi VPS được reboot. Nếu sử dụng Docker, hãy thêm restart: always vào file docker-compose.yml. Nếu dùng PM2, thực hiện các lệnh pm2 save và pm2 startup để duy trì tiến trình.

- Tối ưu hiệu suất và giám sát tài nguyên: Theo dõi định kỳ mức sử dụng CPU, RAM và ổ cứng của VPS vì n8n có thể tiêu tốn nhiều tài nguyên khi xử lý nhiều workflow. Kiểm tra log thường xuyên để phát hiện sớm các lỗi hoặc dấu hiệu bất thường.

- Cập nhật phần mềm định kỳ:  Luôn giữ n8n ở phiên bản mới nhất để được cập nhật các bản vá lỗi và tính năng mới. Có thể sử dụng lệnh npm update -g n8n (nếu cài qua npm) hoặc docker pull n8nio/n8n kèm docker-compose up -d (nếu dùng Docker).

- Sao lưu dữ liệu thường xuyên: Thiết lập kế hoạch backup định kỳ cho dữ liệu workflow. Nếu dùng SQLite, hãy sao lưu thư mục ~/.n8n; nếu dùng PostgreSQL, nên thiết lập backup tự động cho cơ sở dữ liệu. Đồng thời, lưu lại file .env và các cấu hình liên quan để dễ dàng phục hồi hệ thống khi cần.

Lời kết

Hy vọng hướng dẫn và những lưu ý kỹ thuật trên đã giúp bạn triển khai n8n một cách suôn sẻ và an toàn. Nếu bạn đang tìm kiếm giải pháp tự động hóa quy trình làm việc với chi phí hợp lý, thuê VPS n8n giá rẻ tại Nhân Hòa là lựa chọn SỐ 1 cho bạn. Với đa dạng cấu hình, công nghệ ảo hóa KVM/VMware cùng Data Center đặt tại Việt Nam, hệ thống của bạn sẽ hoạt động mượt mà, giảm độ trễ tối ưu.

>>> Đừng bỏ lỡ: Bảng giá VPS n8n  tốt nhất Nhân Hòa - Tìm hiểu ngay!

Hãy liên hệ với đội ngũ kỹ thuật của Nhân Hòa để được tư vấn giải pháp vps n8n phù hợp nhất cho doanh nghiệp.

Thông tin liên hệ Nhân Hòa:

+ Tổng đài: 1900 6680

+ Website: https://nhanhoa.com/

+ Fanpage: https://www.facebook.com/nhanhoacom

+ Khuyến mãi Nhân Hòa: https://nhanhoa.com/uu-dai-nhan-hoa.html

Bài viết liên quan
13/06/2025
Khi lưu lượng truy cập website tăng đột biến, hệ thống máy chủ dễ rơi vào trạng thái quá tải. Đây là lúc Cloud Load Balancing...
13/06/2025
Azure Databricks là nền tảng phân tích dữ liệu hợp nhất, tích hợp AI và Machine Learning, giúp doanh nghiệp xử lý dữ liệu...
12/06/2025
Cài đặt n8n trên aaPanel là lựa chọn thông minh giúp bạn tự động hóa quy trình làm việc hiệu quả mà không cần mã hóa...
Kết nối với Nhân Hoà
Công Ty TNHH Phần Mềm Nhân Hòa

Map Tầng 4 - Toà nhà 97 - 99 Láng Hạ, Quận Đống Đa, Thành Phố Hà Nội

Phone Điện thoại: 1900 6680 - (024) 7308 6680

Mail Mail: sales@nhanhoa.com

Hotline Phản ánh chất lượng dịch vụ: 091 140 8966

Công Ty TNHH Phần Mềm Nhân Hòa

Map 927/1 CMT8, Phường 7, Quận Tân Bình, Thành phố Hồ Chí Minh

Phone Điện thoại: 1900 6680 - (028) 7308 6680

Mail Mail: hcmsales@nhanhoa.com

Hotline Phản ánh chất lượng dịch vụ: 091 140 8966

Công Ty TNHH Phần Mềm Nhân Hòa

Map Tầng 2 Tòa nhà Sài Gòn Sky, ngõ 26 Nguyễn Thái Học, phường Đội Cung, TP. Vinh, Nghệ An

Phone Điện thoại: 1900 6680 - (028) 7308 6680 - nhánh 6

Mail Mail: contact@nhanhoa.com

Hotline Phản ánh chất lượng dịch vụ: 091 140 8966

Kết nối với Nhân Hoà
Gọi lại cho tôi
×
Thông báo

Đăng nhập thành công!

ưu đãi Nhân Hòa Ưu đãi