نصب و راه‌اندازی n8n روی سرور مجازی

آموزش نصب n8n روی سرور مجازی با Docker و Nginx

می‌توانید خلاصه‌ای کوتاه از محتوای مقاله را با استفاده از هوش مصنوعی دریافت نمایید.

فهرست مطالب

ابزار n8n یکی از محبوب‌ترین و قدرتمندترین پلتفرم‌های متن‌باز برای اتوماسیون فرایندها و متصل کردن سرویس‌های مختلف به یکدیگر است. در این مقاله، نحوه نصب و راه‌اندازی n8n را به همراه دیتابیس PostgreSQL، Docker، معکوس‌سازی Nginx و گواهی رایگان SSL بررسی می‌کنیم.

پیش‌نیازهای نصب n8n

  • یک سرور مجازی با سیستم‌عامل اوبونتو (نسخه 22.04 و بالاتر پیشنهاد می‌شود).
  • حداقل 1 گیگابایت رم (RAM).
  • یک نام دامنه یا ساب‌دامین که به IP سرور اشاره می‌کند.
  • دسترسی SSH با دسترسی root یا کاربری دارای مجوز sudo.

نصب و راه‌اندازی n8n روی سرور مجازی

در این بخش مراحل نصب و پیکربندی n8n را گام‌به‌گام بررسی می‌کنیم.

  • آپدیت کردن سرور

ابتدا به‌عنوان کاربر root یا کاربری که دسترسی sudo دارد، وارد شوید و دستورات زیر را روی سرور خود اجرا کنید.

				
					apt update
apt upgrade -y

				
			
  • نصب Docker و Docker Compose

برای اجرای ایزوله و آسان n8n و دیتابیس، از Docker استفاده می‌کنیم.

				
					apt install -y docker.io docker-compose 
systemctl enable  --now docker

				
			

جهت اطمینان از نصب صحیح:

				
					docker --version
docker compose --version

				
			
  • ایجاد ساختار پوشه‌ها و تنظیم دسترسی‌ها

یک پوشه اختصاصی برای فایل‌های n8n ایجاد کرده و وارد آن شوید.

				
					mkdir -p ~/n8n-docker
cd ~/n8n-docker

				
			

در ادامه، پوشه‌های مورد نیاز برای ذخیره اطلاعات n8n و PostgreSQL را ایجاد کنید.

				
					mkdir -p n8n-data postgres-data
				
			

برای جلوگیری از بروز خطاهای مربوط به دسترسی، مجوزهای مناسب را برای این پوشه‌ها تنظیم کنید.

				
					chown -R 1000:1000 n8n-data
chown -R 999:999 postgres-data

				
			
  • ایجاد فایل Docker Compose

ابتدا فایل پیکربندی Docker Compose را ایجاد کنید.

				
					nano docker-compose.yml
				
			

سپس محتوای زیر را در فایل قرار دهید.

				
					version: '3.8'

services:
  postgres:
    image: postgres:16-alpine
    container_name: n8n-postgres
    restart: unless-stopped

    environment:
      POSTGRES_USER: n8n
      POSTGRES_PASSWORD: StrongPassword123
      POSTGRES_DB: n8n

    volumes:
      - ./postgres-data:/var/lib/postgresql/data

  n8n:
    image: docker.n8n.io/n8nio/n8n:latest
    container_name: n8n
    restart: unless-stopped

    depends_on:
      - postgres

    ports:
      - "5678:5678"

    environment:
      DB_TYPE: postgresdb
      DB_POSTGRESDB_HOST: postgres
      DB_POSTGRESDB_PORT: 5432
      DB_POSTGRESDB_DATABASE: n8n
      DB_POSTGRESDB_USER: n8n
      DB_POSTGRESDB_PASSWORD: StrongPassword123

      N8N_HOST: your-domain.com
      N8N_PROTOCOL: https
      N8N_PORT: 5678
      WEBHOOK_URL: https://your-domain.com/

      GENERIC_TIMEZONE: Asia/Tehran

      N8N_ENCRYPTION_KEY: CHANGE_THIS_RANDOM_KEY

    volumes:
      - ./n8n-data:/home/node/.n8n

volumes: {}


				
			
  • اجرای کانتینرها

سرویس‌ها را در حالت پس‌زمینه (Background) اجرا کنید:

				
					docker compose up -d
				
			

برای بررسی وضعیت اجرای کانتینرها و لاگ‌ها میتوانید از دستورات زیر استفاده کنید.

				
					docker compose ps
docker compose logs -f

				
			
  • نصب Nginx

برای نصب Nginx دستور زیر را وارد کنید.

				
					apt install nginx -y
				
			

پس از نصب، وضعیت سرویس را بررسی کنید.

				
					systemctl status nginx
				
			

در صورت فعال نبودن سرویس، دستور زیر را اجرا کنید.

				
					systemctl enable --now nginx
				
			
  • پیکربندی Nginx

ابتدا فایل پیکربندی مربوط به دامنه را ایجاد کنید.

				
					nano /etc/nginx/sites-available/your-domain.com
				
			

سپس محتوای زیر را در فایل قرار دهید. پس از قرار دادن محتوا، فایل را ذخیره کرده و از آن خارج شوید.

				
					server {

    listen 80;

    server_name your-domain.com;

    location / {

        proxy_pass http://127.0.0.1:5678;

        proxy_http_version 1.1;

        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;

    }

}


				
			
  • فعال کردن تنظیمات Nginx

برای فعال کردن فایل تنظیمات، لینک نمادین ایجاد کنید.

				
					ln -s /etc/nginx/sites-available/your-domain.com /etc/nginx/sites-enabled/
				
			

سپس تنظیمات Nginx را بررسی کنید.

				
					nginx -t
				
			

در صورت مشاهده پیام `syntax is ok`، سرویس را مجددا راه‌اندازی کنید.

				
					systemctl restart nginx
				
			
  • نصب Certbot

برای دریافت گواهی SSL رایگان، Certbot را نصب کنید.

				
					apt install certbot python3-certbot-nginx -y
				
			
  • دریافت گواهی SSL 

دستور زیر را برای نصب گواهی SSL اجرا کنید.

				
					certbot --nginx -d your-domain.com
				
			

در طول نصب:

    • آدرس ایمیل خود را وارد کنید.
    • قوانین Let’s Encrypt را تایید کنید.

پس از اتمام فرایند، گواهی SSL به‌صورت خودکار روی Nginx نصب خواهد شد. می‌توانید برای اطمینان از فعال بودن تمدید خودکار گواهی SSL، دستور زیر را اجرا کنید.

				
					systemctl status certbot.timer
				
			
  • دسترسی به پنل n8n

    برای دسترسی به پنل n8n، دستور زیر را وارد کنید.

				
					https://your-domain.com
				
			

در اولین ورود، صفحه ساخت حساب کاربری به شما نمایش داده می‌شود. اطلاعات مدیر را وارد کرده و حساب کاربری خود را ایجاد کنید.

در نهایت

در این مقاله، مراحل نصب و راه‌اندازی n8n روی سرور مجازی را از آماده‌سازی سرور و نصب Docker و PostgreSQL تا پیکربندی Nginx و فعال‌سازی گواهی SSL بررسی کردیم. با انجام این مراحل، می‌توانید n8n را به‌صورت پایدار و امن روی سرور خود اجرا کرده و از قابلیت‌های آن برای خودکارسازی فرایندها و اتصال سرویس‌های مختلف استفاده کنید.

استفاده از سرور مجازی برای میزبانی n8n، کنترل بیشتری روی منابع، تنظیمات و امنیت محیط اجرا در اختیار شما قرار می‌دهد. با توجه به نوع و حجم Workflowها، بهتر است منابع سرور را متناسب با نیاز خود انتخاب کنید تا n8n عملکرد مناسبی داشته باشد. اگر به دنبال محیطی مناسب برای اجرای n8n هستید، می‌توانید سرور n8n را با منابع مورد نیاز خود تهیه و فرایندهای خود را به‌صورت پایدار اجرا کنید.

سوالات متداول

جداسازی PostgreSQL و n8n باعث می‌شود هر سرویس چرخه عمر و منابع مستقل داشته باشد و مدیریت، نگهداری و پشتیبان‌گیری از دیتابیس ساده‌تر انجام شود.

Nginx به‌عنوان Reverse Proxy بین کاربر و n8n قرار می‌گیرد و وظیفه دریافت درخواست‌ها، مدیریت دامنه و HTTPS و انتقال درخواست‌ها به سرویس n8n را بر عهده دارد.

منابع

  • https://docs.n8n.io/deploy/host-n8n

به این مقاله امتیاز دهید!

میانگین امتیاز 0 / 5. تعداد رأی ها : 0

هنوز هیچ رأیی داده نشده. اولین نفر باشید!

و در ادامه بخوانید

اولین دیدگاه را اضافه کنید.

    برچسب ها

    Docker VPS