آموزش نصب n8n در سرور مجازی لینوکس

آیفا > آموزش هوش مصنوعی > هوش مصنوعی در کار و تجارت > آموزش نصب n8n در سرور مجازی لینوکس
آموزش نصب n8n در سرور

برای استفاده از ابزار اتوماسیون n8n چند راه وجود داره که اینجا یکی از اون‌ها رو بهتون آموزش می‌دم.

پیش نیازهای نصب n8n به صورت Self-Host در سرور

برای نصب n8n در سرور، شما قاعدتا به یک سرور نیاز دارید. ما از سرور مجازی لینوکس استفاده می‌کنیم، مهم نیست چه نسخه‌ای اما لینوکس اوبونتو ۲۴ گزینه مناسبی می‌تونه باشه.

برای خرید سرور کافیه سرچ کنید «سرور مجازی لینوکس» یا «خرید VPS». یک سرور ارزان با هزینه زیر ۵ دلار ماهانه برای امور سبک و کم حجم مناسبه و نیاز به هزینه اضافه نیست.

حالا با استفاده از ابزارهای مختلف مثل Termius یا Putty در ویندوز و Termux در اندروید، با استفاده از آدرس آی‌پی، یوزرنیم و پسورد سرور، واردش می‌شیم.

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

مرحله ۱. دستور زیر رو وارد کنید تا آپدیت‌های سیستم عامل رو دریافت کنید:

sudo apt update && sudo apt upgrade

مرحله ۲. نصب NodeJS که پیشنهاد ما در حال حاضر نسخه ۲۲ هست:

curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs

مرحله ۳. نصب نیتن:

sudo npm install -g n8n

مرحله ۴. حالا تست کنیم ببینیم درست نصب شده:

export N8N_SECURE_COOKIE=false
n8n

با npx n8n یا npm n8n هم می‌‎شه.

بعد در مرورگر وارد این آدرس بشید:
http://ServerIP:5678

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

تا اینجا یاد گرفتیم که n8n رو با سه تا دستور نصب کنیم و واردش بشیم اما اگر ترمینال SSH خودمون رو ببندیم، نیتن رو هم بستیم و دیگه هیچ تسکی انجام نمی‌شه تا زمانی که دوباره با دستور n8n بازش کنیم.

بعد از نصب n8n چطور همیشه روی سرور فعال نگهش داریم؟

برای تغییر این حالت باز هم به چند تا دستور ساده نیاز داریم تا n8n همیشه در پس‌زمینه داخل سرور در حال اجرا باشه.

مرحله ۱. ساخت فایل سرویس:

sudo nano /etc/systemd/system/n8n.service

دستورات زیر رو داخلش کپی و فایل رو با ctrl+x بعد Y و بعد اینتر، ذخیره می‌کنیم:

[Unit]
Description=n8n Automation Service
After=network.target

[Service]
Type=simple

Environment=N8N_HOST=0.0.0.0
Environment=N8N_PORT=5678
Environment=N8N_PROTOCOL=http

ExecStart=/usr/bin/n8n start

Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

مرحله ۲. فعال‌سازی سرویس:

sudo systemctl daemon-reload
sudo systemctl enable n8n
sudo systemctl start n8n

الان دیگه n8n داخل سرور شما همیشه فعال و از طریق http://ServerIP:5678 قابل دسترسه و نیازی نیست همزمان باهاش ترمینال SSH هم حتما باز بمونه.

چطور پنل N8N رو به دامنه خودمون وصل کنیم؟

پنل ابزار n8n در حال حاضر به صورت پیش‌فرض با استفاده از IP سرور قابل دسترسی هست. حالا اگر بخواهیم با استفاده از دامنه خودمون وارد نیتن بشیم باید مراحل زیر رو انجام بدیم.

روش ساده استفاده از دامنه و پورت پیش‌فرض n8n با استفاده از http هست که امنیت کمتری داره.

مرحله ۱. برای این کار کافیه محتوای فایل سرویس رو تغییر بدیم:

sudo nano /etc/systemd/system/n8n.service

حالا محتوا رو با کد زیر جابجا کنید:

[Unit]
Description=n8n Automation Service
After=network.target

[Service]
Type=simple

Environment=N8N_HOST=n8ndomain.com
Environment=N8N_PORT=5678
Environment=N8N_PROTOCOL=http
Environment=N8N_EDITOR_BASE_URL=http://n8ndomain.com
Environment=WEBHOOK_URL=http://n8ndomain.com

ExecStart=/usr/bin/n8n start

Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

آدرس n8ndomain.com رو با دامنه خودتون تعویض کنید.

مرحله ۲. سرویس‌ها رو مجدد راه‌اندازی می‌کنیم:

sudo systemctl daemon-reload
sudo systemctl enable n8n
sudo systemctl start n8n

حالا پنل n8n از طریق آدرس زیر در دسترس شماست:

http://n8ndomain.com:5678

اتصال دامنه با SSL به N8N (پروتکل https)

برای اینکه امنیت اطلاعات و سرور و کلیدها رو کمی بالاتر ببریم می‌تونیم از https برای دسترسی به نیتن استفاده کنیم.

مرحله ۱. ابتدا Nginx رو نصب می‌کنیم:

sudo apt install nginx -y

مرحله ۲. یک Reverse پروکسی می‌سازیم:

sudo nano /etc/nginx/sites-available/n8n

قطعه کد زیر رو داخلش کپی و فایل رو ذخیره می‌کنیم:

server {
    listen 80;
    server_name n8ndomain.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-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        proxy_read_timeout 300s;
        proxy_connect_timeout 300s;

        proxy_buffering off;
    }
}

حالا پروکسی رو فعال می‌کنیم:

sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
sudo systemctl reload nginx

مرحله ۳. تنطیمات فایروال رو بررسی و تغییراتی توش انجام می‌دیم:

sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable

مرحله ۴. Certbot رو نصب می‌کنیم:

sudo apt install certbot python3-certbot-nginx -y

مرحله ۵. درخواست گواهی SSL خودمون رو ثبت می‌کنیم:

sudo certbot --nginx -d n8ndomain.com

مرحله ۶. محتوای فایل سیستم رو باید تغییر بدیم:

sudo nano /etc/nginx/sites-available/n8n

کد زیر رو داخل فایل کپی کنید:

[Unit]
Description=n8n Automation Service
After=network.target

[Service]
Type=simple

Environment=N8N_HOST=n8ndomain.com
Environment=N8N_PORT=5678
Environment=N8N_PROTOCOL=https
Environment=N8N_EDITOR_BASE_URL=https://n8ndomain.com
Environment=WEBHOOK_URL=https://n8ndomain.com
Environment=N8N_SECURE_COOKIE=true

ExecStart=/usr/bin/n8n start

Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

مرحله ۶. یکبار دیگه سرویس‌ها رو ریست می‌کنیم:

sudo systemctl restart nginx
sudo systemctl restart n8n

حالا ابزار اتوماسیون n8n از طریق آدرس https://n8ndomain.com امکان استفاده داره.

نوشته‌های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *