در این آموزش نصب n8n روی سرور مجازی را از صفر تا صد یاد میگیرید و با روش راهاندازی این ابزار قدرتمند برای خودکارسازی فرایندها آشنا میشوید. n8n به شما امکان میدهد بدون نیاز به نوشتن کدهای پیچیده برای هر فرایند، سرویسها و APIهای مختلف را به یکدیگر متصل کنید و گردش کارهای خودکار بسازید. با اجرای n8n روی سرور مجازی، میتوانید گردش کارهای خود را بهصورت مداوم اجرا کنید و کنترل بیشتری بر محیط اجرا، دادهها و تنظیمات داشته باشید.
یکی از بهترین روشها برای استفاده مداوم از این ابزار، نصب n8n روی سرور مجازی است. با این روش، کنترل بیشتری بر محیط اجرا، دادهها و تنظیمات خواهید داشت و میتوانید گردش کارهای خود را بدون نیاز به روشن نگهداشتن رایانه شخصی اجرا کنید.
در این آموزش، از انتخاب سرور و اتصال به لینوکس تا نصب Docker، تنظیم دامنه، فعالسازی HTTPS، ورود به محیط n8n، ساخت اولین گردش کار و تهیه نسخه پشتیبان را مرحلهبهمرحله توضیح میدهیم.
حتی اگر تجربه زیادی در مدیریت سرور لینوکس ندارید، میتوانید با اجرای دستورات این راهنما، n8n را روی سرور مجازی خود راهاندازی کنید.
- آموزش نصب n8n روی سرور مجازی و آشنایی با کاربردهای آن
- مهمترین کاربردهای n8n پس از نصب روی سرور مجازی
- مزایای آموزش نصب n8n روی سرور مجازی و اجرای مداوم گردش کارها
- پیشنیازهای آموزش نصب n8n روی سرور مجازی
- حداقل منابع موردنیاز برای نصب n8n روی سرور مجازی
- مواردی که باید آماده داشته باشید
- مرحله اول: نصب Docker در آموزش نصب n8n روی سرور مجازی
- مرحله دوم: آموزش نصب n8n روی سرور مجازی با Docker Compose
- مرحله سوم: ساخت پوشه نصب n8n
- مرحله سوم: ساخت کلید امنیتی
- مرحله چهارم: نصب n8n روی IP سرور
- مرحله پنجم: دریافت IP سرور
- مرحله ششم: ساخت فایل تنظیمات
- مرحله هفتم: ساخت فایل تنظیمات
- مرحله هشتم: ساخت فایل Docker Compose
- مرحله نهم: بررسی فایروال
- مرحله دهم: نصب و اجرای n8n
- مرحله یازدهم: ورود به محیط n8n و ساخت حساب اولیه
- مرحله دوازدهم: ساخت اولین گردش کار پس از آموزش نصب n8n روی سرور مجازی
- گام اول: ساخت Workflow
- گام دوم: افزودن Webhook
- گام سوم: افزودن پاسخ
- گام چهارم: آزمایش گردش کار
- نکات امنیتی آموزش نصب n8n روی سرور مجازی
- ۱. همیشه از HTTPS استفاده کنید
- ۲. از اطلاعات محرمانه محافظت کنید
- ۳. از فایلهای حساس محافظت کنید
- ۴. سیستمعامل و سرویسها را بهروز نگه دارید
- ۵. از دادهها نسخه پشتیبان بگیرید
- ۶. از فایروال استفاده کنید
- ۷. قابلیتهای حساس را محدود کنید
- چگونه از n8n نسخه پشتیبان تهیه کنیم؟
- روش پیشنهادی
- بهروزرسانی n8n پس از نصب روی سرور مجازی
- مشکلات رایج در آموزش نصب n8n روی سرور مجازی و روش رفع آنها
- خطای بازنشدن دامنه
- خطای اتصال یا بازنشدن Webhook
- خطای کمبود حافظه
- خطای اجرای Docker Compose
- پرسشهای متداول درباره آموزش نصب n8n روی سرور مجازی
- ۱. آیا برای نصب n8n به دانش برنامهنویسی نیاز داریم؟
- ۲. آیا میتوان n8n را بدون دامنه نصب کرد؟
- ۳. برای n8n سرور مجازی ایران بهتر است یا خارج از ایران؟
- ۴. آیا با خاموش و روشنکردن سرور، اطلاعات n8n حذف میشوند؟
- ۵. آیا n8n برای اجرای اتوماسیونهای سنگین مناسب است؟
- جمعبندی: n8n را روی سرور مجازی خودتان راهاندازی کنید
- n8n را روی سرور مجازی مناسب اجرا کنید
فهرست مطالب
- n8n چیست و چه کاربردی دارد؟
- چرا n8n را روی سرور مجازی نصب کنیم؟
- پیشنیازهای نصب n8n
- اتصال به سرور مجازی
- نصب Docker و Docker Compose
- اتصال دامنه به سرور
- ساخت فایلهای تنظیمات n8n
- نصب و اجرای n8n با Docker Compose
- ورود به پنل و ساخت اولین گردش کار
- نکات امنیتی مهم پس از نصب
- تهیه نسخه پشتیبان و بهروزرسانی
- رفع خطاهای رایج
- پرسشهای متداول
- جمعبندی
آموزش نصب n8n روی سرور مجازی و آشنایی با کاربردهای آن
n8n یک ابزار اتوماسیون گردش کار است که به شما امکان میدهد برنامهها، APIها و سرویسهای مختلف را به یکدیگر متصل کنید. در این ابزار، هر مرحله از فرایند معمولاً با یک Node مشخص میشود و اتصال این Nodeها به یکدیگر، گردش کار یا Workflow را تشکیل میدهد.
برای مثال، تصور کنید یک فروشگاه اینترنتی دارید و میخواهید هر بار که سفارش جدیدی ثبت میشود، اطلاعات سفارش به یک سرویس دیگر ارسال شود، مشخصات مشتری در یک صفحه گسترده ذخیره شود و یک پیام اطلاعرسانی نیز برای تیم فروش ارسال شود.
بهجای انجام دستی این مراحل، میتوانید در n8n یک گردش کار طراحی کنید تا تمام مراحل بهصورت خودکار اجرا شوند.
مهمترین کاربردهای n8n پس از نصب روی سرور مجازی
- اتصال APIها و سرویسهای آنلاین به یکدیگر
- دریافت و پردازش اطلاعات از وبسایتها
- ارسال اعلان پس از ثبت سفارش یا دریافت فرم
- خودکارسازی فرایندهای فروش و پشتیبانی
- اتصال سرویسهای هوش مصنوعی به ابزارهای کسبوکار
- زمانبندی اجرای وظایف تکراری
- اجرای اسکریپتها و پردازش دادهها در گردش کارهای مشخص
یکی از مزیتهای n8n این است که برای بسیاری از فرایندها به کدنویسی نیاز ندارید؛ بااینحال، امکان استفاده از JavaScript، درخواستهای HTTP و API نیز وجود دارد.
مزایای آموزش نصب n8n روی سرور مجازی و اجرای مداوم گردش کارها
یکی از بهترین روشها برای استفاده مداوم از این ابزار، آموزش نصب n8n روی سرور مجازی و راهاندازی آن در یک محیط اختصاصی است. با این روش، کنترل بیشتری بر محیط اجرا، دادهها و تنظیمات خواهید داشت.
مهمترین مزیتهای اجرای n8n روی VPS عبارتاند از:
۱. اجرای مداوم گردش کارها: لازم نیست رایانه شخصی شما روشن بماند. تا زمانی که سرور و سرویس n8n در دسترس باشند، گردش کارها میتوانند اجرا شوند.
۲. کنترل بیشتر بر دادهها: میتوانید محیط اجرا، سیاستهای دسترسی و محل نگهداری اطلاعات را مدیریت کنید. البته امنیت دادهها به تنظیمات و شیوه نگهداری سرور نیز وابسته است.
۳. امکان اتصال به سرویسهای اختصاصی: در صورت تنظیم صحیح شبکه و دسترسیها، میتوانید n8n را به APIها، پایگاههای داده و سرویسهای موردنیاز خود متصل کنید.
۴. قابلیت توسعه: با افزایش تعداد گردش کارها یا حجم پردازش، امکان ارتقای منابع سرور وجود دارد.
۵. کنترل هزینه زیرساخت: هزینه اصلی میزبانی به منابع سرور، ترافیک، فضای ذخیرهسازی و خدمات جانبی موردنیاز شما بستگی دارد.
پیشنیازهای آموزش نصب n8n روی سرور مجازی
پیش از شروع آموزش نصب n8n روی سرور مجازی، باید سیستمعامل مناسب، منابع پردازشی کافی و دسترسی مدیریتی به سرور را آماده کنید.
حداقل منابع موردنیاز برای نصب n8n روی سرور مجازی
برای شروع و اجرای چند گردش کار سبک، یک سرور با ۲ گیگابایت RAM و ۲ هسته پردازنده میتواند نقطه شروع مناسبی باشد؛ اما این مقدار تضمینکننده عملکرد مطلوب در تمام شرایط نیست.
اگر گردش کارهای سنگین، پردازش فایل، اجرای کد یا استفاده همزمان از چندین سرویس دارید، بهتر است از ۴ گیگابایت RAM یا بیشتر شروع کنید و مصرف واقعی منابع را زیر نظر بگیرید.
| مؤلفه | پیشنهاد برای شروع |
|---|---|
| سیستمعامل | Ubuntu Server نسخه ۲۲٫۰۴ یا ۲۴٫۰۴ |
| پردازنده | حداقل ۲ هسته |
| حافظه RAM | ۲ گیگابایت برای شروع سبک؛ ۴ گیگابایت یا بیشتر برای بار سنگینتر |
| فضای ذخیرهسازی | حداقل ۲۰ گیگابایت SSD، متناسب با حجم داده و لاگها |
| دسترسی | SSH با دسترسی sudo |
| دامنه | یک دامنه یا زیردامنه اختصاصی |
| گواهی امنیتی | SSL/TLS برای دسترسی HTTPS |
این مقادیر توصیههای اولیه هستند، نه حداقل سختافزار رسمی و قطعی n8n. نیاز واقعی به تعداد اجراها، میزان داده، مدت نگهداری اطلاعات و نوع گردش کارها بستگی دارد.
مواردی که باید آماده داشته باشید
- آدرس IP سرور مجازی
- نام کاربری و اطلاعات ورود SSH
- دامنهای که مدیریت DNS آن در اختیار شماست
- دسترسی به تنظیمات فایروال سرور
- یک نشانی ایمیل معتبر برای صدور گواهی SSL
در این آموزش از Ubuntu و Docker Compose استفاده میکنیم. اگر از سیستمعامل دیگری استفاده میکنید، دستورات نصب Docker ممکن است متفاوت باشند.
مرحله اول: نصب Docker در آموزش نصب n8n روی سرور مجازی
ابتدا وارد سرور مجازی خود شوید. در ویندوز میتوانید از Windows Terminal یا PowerShell استفاده کنید. در این مقاله از نرم افزار Putty استفاده می کنیم. برای اینکار نرم افزار Putty را باز می کنیم و در قسمت Host Name (or IP address) آی پی خود را وارد می کنیم و Port را روی ۲۲ می گذاریم و از گزینه های Connection type، گزینه SSH را انتخاب می کنیم سپس Open را می زنیم.

دستور زیر را با IP واقعی سرور خود اجرا کنید:
ssh root@YOUR_SERVER_IP
عبارت YOUR_SERVER_IP را با IP سرور جایگزین کنید. اگر ورود مستقیم با کاربر root غیرفعال است، از نام کاربری دارای دسترسی sudo استفاده کنید.
در نخستین اتصال ممکن است از شما خواسته شود اثر انگشت کلید میزبان را تأیید کنید. فقط در صورتی آن را بپذیرید که از هویت سرور مطمئن هستید.
پس از ورود، اطلاعات سیستمعامل را بررسی کنید:
cat /etc/os-release
سپس فهرست بستهها را بهروزرسانی کنید:
sudo apt update
sudo apt upgrade -y
اگر با کاربر root وارد شدهاید، میتوانید sudo را از ابتدای دستورات حذف کنید.
مرحله دوم: آموزش نصب n8n روی سرور مجازی با Docker Compose
Docker به شما اجازه میدهد n8n را در یک محیط ایزوله اجرا کنید. Docker Compose نیز مدیریت سرویسها و تنظیمات آنها را سادهتر میکند.
برای نصب در محیط Ubuntu، بهتر است از مخزن رسمی Docker استفاده کنید.
در فرایند آموزش نصب n8n روی سرور مجازی، استفاده از Docker مدیریت سرویس، تنظیمات و اجرای مجدد برنامه را سادهتر میکند.
ابتدا بستههای موردنیاز را نصب کنید:
sudo apt update
sudo apt install ca-certificates curl -y
اگر بعد از اجرای دستورات بالا با صفحه زیر رو به رو شدید یعنی سرویس های لینوکس باید آپدیت شود و همه گزینه ها را انتخاب کنید و دکمه OK را بزنید، سپس دوباره دستورات بالا را اجرا کنید و بقیه مراحل زیر را پیش روید:

سپس کلید رسمی مخزن Docker را اضافه کنید:
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
-o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
اکنون مخزن رسمی Docker را به فهرست منابع APT اضافه کنید:
cat > /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
فهرست بستهها را دوباره بهروزرسانی کنید:
sudo apt update
حالا Docker Engine و افزونه Docker Compose را نصب کنید:
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
برای بررسی نصب، دستورات زیر را اجرا کنید:
sudo docker --version
sudo docker compose version
sudo systemctl status docker
اگر سرویس Docker فعال نیست، آن را اجرا کنید:
sudo systemctl enable --now docker
در پایان، یک تست ساده انجام دهید:
sudo docker run hello-world
اگر پیام موفقیتآمیز Docker نمایش داده شد، این مرحله با موفقیت انجام شده است.
نکته امنیتی: اضافهکردن کاربر به گروه docker امکان اجرای دستورات قدرتمند Docker را فراهم میکند و از نظر امنیتی میتواند معادل دسترسی مدیریتی به سرور باشد. بنابراین، برای راحتی بیشتر بدون بررسی پیامدهای امنیتی این کار را انجام ندهید.
مرحله سوم: ساخت پوشه نصب n8n
برای اینکه فایلهای تنظیمات و اطلاعات برنامه در مسیر مشخصی قرار بگیرند، یک پوشه اختصاصی بسازید:
mkdir -p /opt/n8n
سپس:
cd /opt/n8n
برای اطمینان از قرار گرفتن در مسیر درست:
pwd
باید خروجی زیر را ببینی:
/opt/n8n
یک پوشه برای فایلهایی که گردش کارها ممکن است به آن دسترسی داشته باشند نیز ایجاد کنید:
mkdir -p local-files
این پوشه در مراحل بعدی بهعنوان مسیر اشتراکی داخل کانتینر در دسترس n8n قرار میگیرد.
توجه داشته باشید که دسترسی به فایلها باید محدود باشد. پوشهای را که حاوی کلیدهای خصوصی، فایلهای حساس سیستم یا اطلاعات محرمانه است، بدون بررسی مجوزها در اختیار گردش کارها قرار ندهید.
مرحله سوم: ساخت کلید امنیتی
این دستور را اجرا کن:
openssl rand -hex 32
یک کلید طولانی تولید میشود.
حتماً آن را در یک فایل امن ذخیره کنید. این کلید برای رمزنگاری اطلاعات ورود و اتصالهای ذخیرهشده در n8n استفاده میشود. گم کردن آن میتواند دسترسی به اطلاعات رمزگذاریشده را غیرممکن کند.
مرحله چهارم: نصب n8n روی IP سرور
برای نصب اصولی، پیشنهاد میکنم n8n را روی یک زیردامنه نصب کنیم؛ مثلاً:
n8n.bia2host.com
در DNS دامنه باید یک رکورد از نوع A بسازی:
| Type | Name | Value |
|---|---|---|
| A | n8n | IP سرور |
برای فعال شدن SSL خودکار Caddy، دامنه باید به IP سرور اشاره کند و پورتهای ۸۰ و ۴۴۳ در دسترس باشند. اما در این آموزش می خواهیم n8n را روی IP نصب کنیم پس فعلا نیازی به دامنه نداریم. در این روش آدرس ورود به n8n به شکل زیر خواهد بود:
http://IP-SERVER:5678
یک نکته: چون دامنه و SSL نداریم، اتصال HTTPS نخواهیم داشت. برای استفاده عمومی و تبادل اطلاعات حساس، این روش امنیت کمتری دارد. فعلاً دسترسی را با رمز عبور قوی محافظت میکنیم.
مرحله پنجم: دریافت IP سرور
در PuTTY دستور زیر را اجرا کنید:
curl -4 https://api.ipify.org
IP عمومی سرورتان نمایش داده میشود.
مرحله ششم: ساخت فایل تنظیمات
این دستور را اجرا کنید:
nano /opt/n8n/.env
فعلاً قالب زیر را داخل آن قرار دهید:
GENERIC_TIMEZONE=Asia/Tehran
TZ=Asia/Tehran
N8N_HOST=YOUR_SERVER_IP
N8N_PROTOCOL=http
N8N_PORT=5678
WEBHOOK_URL=http://YOUR_SERVER_IP:5678/
N8N_SECURE_COOKIE=false
N8N_ENCRYPTION_KEY=YOUR_SECRET_KEY
بهجای YOUR_SERVER_IP آیپی سرور و بهجای YOUR_SECRET_KEY کلیدی که ساختیم را قرار می دهیم.
برای ذخیره فایل:
Ctrl + X- سپس
Y - سپس
Enter
مرحله هفتم: ساخت فایل تنظیمات
دستور زیر را اجرا کنید:
nano .env
متن زیر را داخل فایل قرار دهید:
N8N_HOST=YOUR_SERVER_IP
N8N_PROTOCOL=http
N8N_PORT=5678
N8N_EDITOR_BASE_URL=http://YOUR_SERVER_IP:5678/
N8N_WEBHOOK_URL=http://YOUR_SERVER_IP:5678/
N8N_SECURE_COOKIE=false
N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
N8N_ENCRYPTION_KEY=کلید_امنیتی_خودت
GENERIC_TIMEZONE=Asia/Tehran
TZ=Asia/Tehran
بهجای کلید_امنیتی_خودت کلیدی را که در مرحله قبل ساختید را قرار دهید.
برای ذخیره:
Ctrl + XYEnter
سپس دسترسی فایل را محدود کنید:
chmod 600 .env
مرحله هشتم: ساخت فایل Docker Compose
دستور زیر را اجرا کنید:
nano docker-compose.yml
این کد را کامل داخل آن قرار دهید:
services:
n8n:
image: docker.n8n.io/n8nio/n8n:latest
restart: unless-stopped
ports:
- "5678:5678"
environment:
- N8N_HOST=${N8N_HOST}
- N8N_PROTOCOL=${N8N_PROTOCOL}
- N8N_PORT=${N8N_PORT}
- N8N_EDITOR_BASE_URL=${N8N_EDITOR_BASE_URL}
- N8N_WEBHOOK_URL=${N8N_WEBHOOK_URL}
- N8N_SECURE_COOKIE=${N8N_SECURE_COOKIE}
- N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
- N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=${N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS}
- GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
- TZ=${TZ}
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:
ذخیره کنید و خارج شوید. این تنظیمات باعث میشود اطلاعات، Workflowها و Credentialهای n8n بعد از خاموش و روشن شدن سرور باقی بمانند.
مرحله نهم: بررسی فایروال
ابتدا این دستور را اجرا کنید:
ufw status
اگر وضعیت active بود، دستور زیر را اجرا کنید:
ufw allow 5678/tcp
اگر inactive بود، فعلاً فایروال را فعال نکنید. باید وضعیت فایروال پنل ارائهدهنده سرور را هم بررسی کنیم.
مرحله دهم: نصب و اجرای n8n
حالا دستور زیر را اجرا کنید:
docker compose pull
پس از اتمام دانلود:
docker compose up -d
چند دقیقه صبر کنید و سپس:
docker compose ps
باید سرویس n8n را با وضعیت Running ببینید و برای بررسی گزارش اجرا دستور زیر را بزنید:
docker compose logs --tail=50 n8n
مرحله یازدهم: ورود به محیط n8n و ساخت حساب اولیه
اگر همه مراحل درست انجام شده باشند، مرورگر Chrome را باز کنید و این آدرس را وارد کنید:
http://YOUR_SERVER_IP:5678

پس از بازکردن آدرس n8n، مراحل راهاندازی اولیه را در رابط کاربری دنبال کنید.
در نسخههای فعلی n8n، راهاندازی اولیه شامل ایجاد حساب مالک یا تنظیم دسترسی اولیه است. گزینهها و جزئیات رابط کاربری ممکن است با بهروزرسانی نسخه تغییر کنند.
برای امنیت بیشتر:
- از یک رمز عبور طولانی و منحصربهفرد استفاده کنید.
- اطلاعات ورود را در اختیار افراد غیرمجاز قرار ندهید.
- در صورت استفاده تیمی، دسترسیها را متناسب با نقش هر کاربر تنظیم کنید.
- حسابهای غیرضروری و دسترسیهای قدیمی را حذف کنید.
پس از ورود، صفحه ویرایش گردش کار یا Workflow Editor را مشاهده خواهید کرد. از اینجا میتوانید Node اضافه کنید، تنظیمات را تغییر دهید و گردش کار خود را آزمایش کنید.
مرحله دوازدهم: ساخت اولین گردش کار پس از آموزش نصب n8n روی سرور مجازی
برای اطمینان از اینکه n8n درست کار میکند، بهتر است یک گردش کار ساده بسازید.
در این مثال، یک Webhook ایجاد میکنیم که با دریافت درخواست HTTP، اطلاعات را دریافت کرده و نتیجه را برمیگرداند.
گام اول: ساخت Workflow
از محیط n8n یک گردش کار جدید ایجاد کنید و نام آن را First Webhook Test بگذارید.
گام دوم: افزودن Webhook
یک Node از نوع Webhook اضافه کنید و روش HTTP را روی GET قرار دهید.
Webhook یک نشانی اختصاصی در اختیار شما قرار میدهد که میتواند درخواستهای ورودی را دریافت کند.
گام سوم: افزودن پاسخ
یک Node از نوع Respond to Webhook اضافه کنید و آن را به Webhook متصل کنید. تنظیمات پاسخ را به شکلی قرار دهید که یک پیام متنی ساده یا خروجی JSON برگرداند.
برای مثال، پاسخ میتواند چنین ساختاری داشته باشد:
{
"status": "success",
"message": "n8n is working"
}
در تنظیمات Webhook، گزینه پاسخدهی را متناسب با Node پاسخ تنظیم کنید. نام گزینهها ممکن است در نسخههای مختلف تفاوت داشته باشد.
گام چهارم: آزمایش گردش کار
ابتدا گردش کار را در حالت آزمایشی اجرا کنید و نشانی Test URL نمایشدادهشده در Node را باز کنید.
اگر پاسخ مورد انتظار را دریافت کردید، ارتباط Nodeها درست کار میکند.
برای استفاده دائمی، گردش کار را ذخیره و فعال کنید و از نشانی Production URL استفاده کنید. نشانی تست و تولید را با هم اشتباه نگیرید.
در یک پروژه واقعی، میتوانید Webhook را با سرویس فروشگاه، فرم تماس، API یا سامانه پیامرسان خود متصل کنید. اگر قرار است Webhook اطلاعات محرمانه دریافت کند، احراز هویت، اعتبارسنجی دادهها و محدودیت دسترسی را نیز در نظر بگیرید.
نکات امنیتی آموزش نصب n8n روی سرور مجازی
راهاندازی n8n پایان کار نیست. این ابزار ممکن است به APIها، حسابهای کاربری، اطلاعات مشتریان و سرویسهای مهم کسبوکار دسترسی داشته باشد؛ بنابراین امنیت آن اهمیت زیادی دارد.
۱. همیشه از HTTPS استفاده کنید
در این آموزش، Traefik درخواستها را از طریق HTTPS مدیریت میکند. آدرس نهایی را با https:// باز کنید و از دسترسی مستقیم عمومی به پورت ۵۶۷۸ خودداری کنید.
۲. از اطلاعات محرمانه محافظت کنید
کلیدهای API، توکنها و رمزهای اتصال را در بخش Credentials خود n8n ذخیره کنید. آنها را بهصورت متن ساده در کدها، لاگها یا پیامهای گردش کار قرار ندهید.
۳. از فایلهای حساس محافظت کنید
در این پیکربندی، دسترسی فایل در n8n به مسیر /files محدود شده است. بااینحال، فایلهایی که داخل این پوشه قرار میدهید باید از نظر سطح دسترسی بررسی شوند.
۴. سیستمعامل و سرویسها را بهروز نگه دارید
بهروزرسانیها میتوانند مشکلات امنیتی را برطرف کنند؛ اما پیش از ارتقای نسخه اصلی n8n، از اطلاعات خود نسخه پشتیبان تهیه کنید و تغییرات را بررسی کنید.
۵. از دادهها نسخه پشتیبان بگیرید
اطلاعات مهم n8n فقط شامل گردش کارها نیست؛ Credentials، تنظیمات و کلید رمزگذاری نیز اهمیت دارند. تهیه نسخه پشتیبان باید با حفظ محرمانگی اطلاعات انجام شود.
۶. از فایروال استفاده کنید
فقط پورتهای موردنیاز را در دسترس عمومی قرار دهید. دقت کنید که انتشار پورت کانتینر در Docker میتواند بر رفتار قوانین فایروال تأثیر بگذارد؛ بنابراین تنظیمات شبکه Docker و فایروال میزبان را با هم بررسی کنید.
۷. قابلیتهای حساس را محدود کنید
اجرای کد دلخواه، دسترسی به فایلها و اتصال به سرویسهای داخلی میتواند خطرناک باشد. فقط قابلیتهای موردنیاز را فعال کنید و دسترسی کاربران و گردش کارها را متناسب با نیاز واقعی محدود نگه دارید.
چگونه از n8n نسخه پشتیبان تهیه کنیم؟
برای نصبهای کوچک، اطلاعات برنامه در Volume با نام n8n_data نگهداری میشود. این Volume حاوی اطلاعات مهمی از جمله پایگاه داده داخلی و کلید رمزگذاری n8n است.
برای نسخه پشتیبان، صرفاً کپیکردن فایلهای YAML کافی نیست. باید دادههای پایدار و تنظیمات محرمانه را نیز پوشش دهید.
روش پیشنهادی
۱. پیش از تهیه نسخه پشتیبان، گردش کارها را متوقف یا عملیات نوشتن را به شکل کنترلشده متوقف کنید تا دادهها در وضعیت سازگار باشند.
۲. از Volume دادهها نسخه پشتیبان تهیه کنید. برای مثال، پس از توقف سرویس n8n میتوان از یک کانتینر موقت برای آرشیو Volume استفاده کرد.
۳. فایل .env و فایل compose.yaml را نیز در محل امن نگهداری کنید.
۴. نسخه پشتیبان را به سرور یا فضای ذخیرهسازی جداگانه منتقل کنید. نگهداری بکاپ فقط روی همان سرور، در برابر خرابی کامل سرور محافظت کافی ایجاد نمیکند.
۵. روند بازیابی را در یک محیط آزمایشی بررسی کنید تا مطمئن شوید بکاپ واقعاً قابل استفاده است.
نکته مهم: کلید رمزگذاری n8n برای دسترسی به برخی اطلاعات محرمانه ذخیرهشده ضروری است. اگر این کلید را از دست بدهید، ممکن است نتوانید Credentials بازیابیشده را رمزگشایی کنید. بنابراین، از کلیدها و فایلهای محرمانه بهصورت امن نسخه پشتیبان بگیرید.
برای محیطهای پرترافیک یا عملیاتی، استفاده از پایگاه داده PostgreSQL و طراحی فرایند بکاپ متناسب با آن میتواند گزینه مناسبتری باشد. تغییر پایگاه داده به PostgreSQL به تنظیمات و برنامه مهاجرت جداگانه نیاز دارد و نباید بدون بررسی، صرفاً با تغییر متغیرها انجام شود.
بهروزرسانی n8n پس از نصب روی سرور مجازی
بهروزرسانی n8n باید با احتیاط انجام شود؛ زیرا تغییر نسخه میتواند بر سازگاری Nodeها، گردش کارها و اتصال سرویسها تأثیر بگذارد.
برای دریافت نسخه جدید تصویر کانتینر، ابتدا از دادههای خود نسخه پشتیبان تهیه کنید. سپس در پوشه نصب اجرا کنید:
sudo docker compose pull n8n
پس از بررسی نسخه موردنظر و تغییرات آن، کانتینر را بازسازی کنید:
sudo docker compose up -d
وضعیت سرویس را بررسی کنید:
sudo docker compose ps
sudo docker compose logs --tail=100 n8n
اگر از برچسب latest استفاده میکنید، این فرایند ممکن است نسخه جدیدتری را دریافت کند. برای سیستمهای عملیاتی، بهتر است نسخه را بهصورت مشخص و کنترلشده مدیریت کنید.
مشکلات رایج در آموزش نصب n8n روی سرور مجازی و روش رفع آنها
پس از آموزش نصب n8n روی سرور مجازی ممکن است هنگام بازکردن دامنه، دریافت گواهی SSL یا اجرای Webhook با خطاهایی روبهرو شوید. در ادامه، رایجترین علتها و روش بررسی آنها را میخوانید.
خطای بازنشدن دامنه
علتهای احتمالی عبارتاند از:
- رکورد DNS هنوز به IP صحیح اشاره نمیکند.
- پورت ۸۰ یا ۴۴۳ بسته است.
- سرویس Traefik اجرا نشده است.
- گواهی SSL هنوز صادر نشده است.
برای شروع، این دستورات را اجرا کنید:
sudo docker compose ps
sudo docker compose logs --tail=100 traefik
سپس تنظیمات DNS و فایروال را بررسی کنید.
خطای اتصال یا بازنشدن Webhook
اگر محیط n8n باز میشود اما Webhook کار نمیکند، مقدار WEBHOOK_URL را بررسی کنید. این مقدار باید با دامنه و پروتکل واقعی شما هماهنگ باشد.
همچنین بررسی کنید گردش کار فعال است و از نشانی صحیح Test یا Production استفاده میکنید.
خطای کمبود حافظه
اگر n8n هنگام اجرای گردش کارهای سنگین متوقف میشود، مصرف RAM و CPU را بررسی کنید. اجرای همزمان چندین گردش کار، پردازش فایلهای بزرگ و نگهداری دادههای زیاد میتواند منابع سرور را مصرف کند.
در این شرایط، ابتدا گردش کارهای پرمصرف را شناسایی کنید؛ سپس در صورت نیاز منابع سرور را ارتقا دهید یا معماری اجرای کارها را بهینه کنید.
خطای اجرای Docker Compose
اگر دستور docker compose up -d با خطا مواجه شد، ابتدا اعتبار فایل را بررسی کنید:
sudo docker compose config
سپس وضعیت سرویسها و لاگها را بررسی کنید. خطاهای YAML، مقادیر اشتباه فایل .env و تداخل پورتها از علتهای رایج هستند.
پرسشهای متداول درباره آموزش نصب n8n روی سرور مجازی
۱. آیا برای نصب n8n به دانش برنامهنویسی نیاز داریم؟
خیر. نصب اولیه با Docker Compose انجام میشود و بسیاری از گردش کارها را میتوان بدون کدنویسی ساخت. بااینحال، برای اتصال APIهای اختصاصی یا پردازشهای پیچیده، آشنایی با HTTP، JSON و JavaScript مفید است.
۲. آیا میتوان n8n را بدون دامنه نصب کرد؟
بله، برای آزمایش میتوانید n8n را روی خود سرور اجرا کنید؛ اما برای استفاده پایدار، دسترسی امن و دریافت Webhookهای عمومی، دامنه و HTTPS انتخاب مناسبتری هستند.
۳. برای n8n سرور مجازی ایران بهتر است یا خارج از ایران؟
انتخاب به سرویسهایی که قرار است به آنها متصل شوید بستگی دارد. اگر بیشتر سرویسهای شما داخل ایران هستند، سرور ایران میتواند از نظر مسیر ارتباطی مناسب باشد. اگر به سرویسهای خارجی وابستهاید، دسترسی شبکه، تأخیر و محدودیتهای احتمالی را پیش از انتخاب بررسی کنید. صرف موقعیت جغرافیایی سرور، دسترسی به همه APIها را تضمین نمیکند.
۴. آیا با خاموش و روشنکردن سرور، اطلاعات n8n حذف میشوند؟
در پیکربندی این آموزش، اطلاعات اصلی n8n در Volume پایدار ذخیره میشوند؛ بنابراین راهاندازی مجدد کانتینر بهتنهایی نباید اطلاعات را حذف کند. بااینحال، حذف Volume یا خرابی دیسک میتواند باعث از دست رفتن دادهها شود. تهیه نسخه پشتیبان ضروری است.
۵. آیا n8n برای اجرای اتوماسیونهای سنگین مناسب است؟
بله، اما ظرفیت آن به منابع سرور، تعداد اجراها، نوع گردش کارها و تنظیمات پایگاه داده بستگی دارد. برای بارهای سنگین، باید مصرف منابع را اندازهگیری کنید و در صورت نیاز به سرور قویتر، PostgreSQL یا معماری اجرای مقیاسپذیرتر مهاجرت کنید.
جمعبندی: n8n را روی سرور مجازی خودتان راهاندازی کنید
آموزش نصب n8n روی سرور مجازی راهی کاربردی برای راهاندازی یک محیط اختصاصی جهت خودکارسازی فرایندهای کسبوکار، اتصال APIها و اجرای گردش کارهای مداوم است. در این آموزش، مراحل لازم از آمادهسازی Ubuntu و نصب Docker تا اتصال دامنه، راهاندازی HTTPS، اجرای n8n، ساخت Webhook آزمایشی و نکات امنیتی را بررسی کردیم.
برای اینکه نصب شما فقط به بالا آمدن پنل محدود نشود، این موارد را فراموش نکنید:
- منابع سرور را متناسب با حجم کار انتخاب کنید.
- از دامنه و HTTPS استفاده کنید.
- دسترسیهای شبکه و فایلها را محدود نگه دارید.
- اطلاعات و کلیدهای رمزگذاری را بهصورت امن پشتیبانگیری کنید.
- بهروزرسانیها را پس از تهیه بکاپ و بررسی سازگاری انجام دهید.
n8n را روی سرور مجازی مناسب اجرا کنید
اگر قصد دارید اتوماسیونهای کسبوکار خود را بهصورت مداوم اجرا کنید، ابتدا یک سرور مجازی متناسب با تعداد گردش کارها، میزان پردازش و نیازهای شبکه خود انتخاب کنید.
در بیا تو هاست میتوانید سرویسهای سرور مجازی را بررسی و گزینه متناسب با نیاز پروژه خود را انتخاب کنید. پیش از خرید، منابع پردازشی، حافظه، فضای ذخیرهسازی و کیفیت ارتباط شبکه را در نظر بگیرید تا زیرساخت مناسبی برای اجرای n8n داشته باشید.
قدم بعدی: منابع موردنیاز پروژه خود را مشخص کنید، سرور را آماده کنید و مراحل این راهنما را بهترتیب اجرا کنید تا نخستین گردش کار خودکار شما آماده بهرهبرداری شود.
نیاز به سرور مجازی پرسرعت، پایدار و با پورت ۱۰ گیگابیت دارید؟
سرورهای مجازی ایران و آلمان بیا تو هاست با درایو فوقسریع NVMe Enterprise، پایداری ۹۹.۹٪ و تحویل فوری، مناسبترین بستر برای اجرای پروژههای حرفهای شما هستند.