وبلاگ
نصب و راهاندازی n8n روی سرور شخصی: راهنمای گام به گام
فهرست مطالب
“تسلط به برنامهنویسی پایتون با هوش مصنوعی: آموزش کدنویسی هوشمند با ChatGPT”
"تسلط به برنامهنویسی پایتون با هوش مصنوعی: آموزش کدنویسی هوشمند با ChatGPT"
"با شرکت در این دوره جامع و کاربردی، به راحتی مهارتهای برنامهنویسی پایتون را از سطح مبتدی تا پیشرفته با کمک هوش مصنوعی ChatGPT بیاموزید. این دوره، با بیش از 6 ساعت محتوای آموزشی، شما را قادر میسازد تا به سرعت الگوریتمهای پیچیده را درک کرده و اپلیکیشنهای هوشمند ایجاد کنید. مناسب برای تمامی سطوح با زیرنویس فارسی حرفهای و امکان دانلود و تماشای آنلاین."
ویژگیهای کلیدی:
بدون نیاز به تجربه قبلی برنامهنویسی
زیرنویس فارسی با ترجمه حرفهای
۳۰ ٪ تخفیف ویژه برای دانشجویان و دانش آموزان
0 تا 100 عطرسازی + (30 فرمولاسیون اختصاصی حامی صنعت)
دوره آموزش Flutter و برنامه نویسی Dart [پروژه محور]
دوره جامع آموزش برنامهنویسی پایتون + هک اخلاقی [با همکاری شاهک]
دوره جامع آموزش فرمولاسیون لوازم آرایشی
دوره جامع علم داده، یادگیری ماشین، یادگیری عمیق و NLP
دوره فوق فشرده مکالمه زبان انگلیسی (ویژه بزرگسالان)
شمع سازی و عودسازی با محوریت رایحه درمانی
صابون سازی (دستساز و صنعتی)
صفر تا صد طراحی دارو
متخصص طب سنتی و گیاهان دارویی
متخصص کنترل کیفی شرکت دارویی
“`html
نصب و راهاندازی n8n روی سرور شخصی: راهنمای گام به گام
n8n یک پلتفرم اتوماسیون گردش کار متنباز قدرتمند است که به شما امکان میدهد بدون نیاز به کدنویسی، فرایندهای مختلف را در برنامهها و سرویسهای مختلف خودکار کنید. با نصب n8n روی سرور شخصی خود، کنترل کاملی بر دادههای خود خواهید داشت و میتوانید گردشکارهای پیچیده را با امنیت و حریم خصوصی بیشتری اجرا کنید. این راهنما، یک راهنمای گام به گام برای نصب و راهاندازی n8n روی سرور شخصی شما، با تمرکز بر جامعه تخصصی و ارائه جزئیات فنی مورد نیاز است.
پیشنیازها
قبل از شروع فرآیند نصب، اطمینان حاصل کنید که موارد زیر را در اختیار دارید:
- یک سرور: یک سرور با سیستم عامل لینوکس (مانند Ubuntu، Debian یا CentOS) با دسترسی SSH.
- دسترسی SSH: دسترسی SSH به سرور با یک کاربر دارای دسترسی sudo.
- Docker و Docker Compose: Docker و Docker Compose باید روی سرور نصب و پیکربندی شده باشند. اگر هنوز این کار را نکردهاید، به بخش مربوطه مراجعه کنید.
- نام دامنه (اختیاری): اگر میخواهید n8n را از طریق یک نام دامنه در دسترس قرار دهید، یک نام دامنه و DNS recordهای مربوطه را پیکربندی کنید.
- Nginx یا Apache (اختیاری): برای پیکربندی reverse proxy و SSL/TLS encryption، به یک وبسرور مانند Nginx یا Apache نیاز دارید.
نصب Docker و Docker Compose
اگر Docker و Docker Compose از قبل روی سرور شما نصب نشدهاند، میتوانید از دستورالعملهای زیر استفاده کنید:
نصب Docker
برای نصب Docker روی Ubuntu یا Debian، دستورات زیر را اجرا کنید:
sudo apt update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker
برای CentOS:
sudo yum update
sudo yum install docker
sudo systemctl start docker
sudo systemctl enable docker
نصب Docker Compose
برای نصب Docker Compose، دستورات زیر را اجرا کنید:
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
پس از نصب، میتوانید با اجرای دستور `docker –version` و `docker-compose –version` از نصب صحیح آنها اطمینان حاصل کنید.
پیکربندی فایل Docker Compose برای n8n
در این مرحله، یک فایل `docker-compose.yml` برای پیکربندی n8n ایجاد میکنیم. این فایل، نحوه اجرا و پیکربندی کانتینرهای Docker برای n8n را مشخص میکند. یک دایرکتوری برای فایلهای n8n ایجاد کنید و فایل `docker-compose.yml` را در آن دایرکتوری ایجاد کنید:
mkdir n8n
cd n8n
nano docker-compose.yml
محتوای زیر را در فایل `docker-compose.yml` قرار دهید:
version: '3.9'
services:
n8n:
image: n8nio/n8n
restart: always
ports:
- "5678:5678"
environment:
- N8N_HOST=${N8N_HOST}
- N8N_PORT=${N8N_PORT}
- N8N_PROTOCOL=${N8N_PROTOCOL}
- NODE_ENV=production
- WEBHOOK_URL=${WEBHOOK_URL}
- GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:
توضیحات:
- image: n8nio/n8n: مشخص میکند که از image رسمی n8n از Docker Hub استفاده شود.
- restart: always: اطمینان حاصل میکند که کانتینر n8n در صورت crash شدن، به طور خودکار restart شود.
- ports: “5678:5678”: پورت 5678 سرور را به پورت 5678 کانتینر n8n متصل میکند.
- environment: متغیرهای محیطی مورد نیاز n8n را تنظیم میکند.
- volumes: n8n_data:/home/node/.n8n: یک volume به نام `n8n_data` را به دایرکتوری `/.n8n` در کانتینر متصل میکند. این کار باعث میشود که دادههای n8n (مانند گردشکارها و تنظیمات) بین restartها حفظ شوند.
تنظیم متغیرهای محیطی
متغیرهای محیطی مورد نیاز n8n را در یک فایل `.env` تنظیم کنید. در همان دایرکتوری که فایل `docker-compose.yml` قرار دارد، فایل `.env` را ایجاد کنید:
nano .env
محتوای زیر را در فایل `.env` قرار دهید:
N8N_HOST=localhost
N8N_PORT=5678
N8N_PROTOCOL=http
WEBHOOK_URL=http://localhost:5678/
GENERIC_TIMEZONE=Etc/UTC
توضیحات:
- N8N_HOST: نام hostی که n8n روی آن اجرا میشود. اگر از یک نام دامنه استفاده میکنید، آن را در اینجا وارد کنید.
- N8N_PORT: پورتی که n8n روی آن listen میکند.
- N8N_PROTOCOL: پروتکل مورد استفاده برای دسترسی به n8n (http یا https).
- WEBHOOK_URL: URLی که برای webhookها استفاده میشود. این URL باید قابل دسترسی از اینترنت باشد.
- GENERIC_TIMEZONE: منطقه زمانی مورد استفاده n8n.
نکته: اگر از https استفاده میکنید، باید Nginx یا Apache را به عنوان reverse proxy پیکربندی کنید و SSL/TLS encryption را فعال کنید. در این صورت، `N8N_PROTOCOL` را به `https` تغییر دهید و `WEBHOOK_URL` را به URLی که از طریق https قابل دسترسی است، تنظیم کنید.
اجرای n8n با Docker Compose
پس از پیکربندی فایلهای `docker-compose.yml` و `.env`، میتوانید n8n را با استفاده از Docker Compose اجرا کنید. در دایرکتوری `n8n`، دستور زیر را اجرا کنید:
docker-compose up -d
این دستور، کانتینر n8n را در پسزمینه اجرا میکند. میتوانید با استفاده از دستور `docker-compose logs -f` logهای کانتینر را مشاهده کنید.
پس از اجرای موفقیتآمیز دستور، میتوانید با مراجعه به آدرس `http://localhost:5678` (یا آدرس و پورتی که در فایل `.env` تنظیم کردهاید) به رابط کاربری n8n دسترسی پیدا کنید.
پیکربندی Nginx به عنوان Reverse Proxy (اختیاری)
اگر میخواهید n8n را از طریق یک نام دامنه و با استفاده از https در دسترس قرار دهید، باید Nginx یا Apache را به عنوان reverse proxy پیکربندی کنید.
در این بخش، نحوه پیکربندی Nginx را توضیح میدهیم. ابتدا یک فایل configuration برای n8n در دایرکتوری `sites-available` ایجاد کنید:
sudo nano /etc/nginx/sites-available/n8n
محتوای زیر را در فایل `n8n` قرار دهید (مقادیر را با توجه به تنظیمات خود تغییر دهید):
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://localhost:5678/;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
توضیحات:
- listen 80: مشخص میکند که Nginx روی پورت 80 (HTTP) listen کند.
- server_name yourdomain.com: نام دامنه خود را در اینجا وارد کنید.
- proxy_pass http://localhost:5678/: ترافیک را به آدرس `http://localhost:5678/` (کانتینر n8n) هدایت میکند.
- proxy_set_header: هدرهای HTTP را تنظیم میکند تا WebSocketها به درستی کار کنند.
سپس، این فایل را در دایرکتوری `sites-enabled` لینک کنید:
sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
فایل configuration پیشفرض Nginx را غیرفعال کنید:
sudo rm /etc/nginx/sites-enabled/default
Nginx را restart کنید تا تغییرات اعمال شوند:
sudo systemctl restart nginx
در نهایت، باید SSL/TLS encryption را فعال کنید تا ترافیک به صورت امن انتقال یابد. میتوانید از Let’s Encrypt برای دریافت گواهینامه SSL رایگان استفاده کنید:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com
Certbot به طور خودکار Nginx را پیکربندی میکند و گواهینامه SSL را نصب میکند. پس از اتمام این مراحل، میتوانید با مراجعه به آدرس `https://yourdomain.com` به n8n دسترسی پیدا کنید.
بهروزرسانی n8n
برای بهروزرسانی n8n به آخرین نسخه، مراحل زیر را انجام دهید:
- دایرکتوری `n8n` را متوقف کنید:
- آخرین image n8n را pull کنید:
- دایرکتوری `n8n` را دوباره اجرا کنید:
docker-compose down
docker pull n8nio/n8n
docker-compose up -d
با انجام این مراحل، n8n شما به آخرین نسخه بهروزرسانی میشود.
پیکربندی پایگاه داده خارجی (اختیاری)
به طور پیشفرض، n8n از یک پایگاه داده SQLite برای ذخیره دادهها استفاده میکند. با این حال، برای production workloads، توصیه میشود از یک پایگاه داده خارجی مانند PostgreSQL یا MySQL استفاده کنید.
برای پیکربندی یک پایگاه داده خارجی، ابتدا باید یک instance از پایگاه داده مورد نظر خود را ایجاد کنید. سپس، متغیرهای محیطی مربوطه را در فایل `.env` تنظیم کنید:
PostgreSQL:
DB_TYPE=postgresdb
DB_POSTGRESDB_HOST=your_postgres_host
DB_POSTGRESDB_PORT=5432
DB_POSTGRESDB_DATABASE=n8n
DB_POSTGRESDB_USER=n8n
DB_POSTGRESDB_PASSWORD=your_postgres_password
MySQL:
DB_TYPE=mysqldb
DB_MYSQLDB_HOST=your_mysql_host
DB_MYSQLDB_PORT=3306
DB_MYSQLDB_DATABASE=n8n
DB_MYSQLDB_USER=n8n
DB_MYSQLDB_PASSWORD=your_mysql_password
مقادیر را با توجه به تنظیمات پایگاه داده خود تغییر دهید. پس از تنظیم متغیرهای محیطی، کانتینر n8n را restart کنید تا تغییرات اعمال شوند.
عیبیابی
در صورت بروز مشکل در فرآیند نصب و راهاندازی n8n، میتوانید از راهکارهای زیر برای عیبیابی استفاده کنید:
- بررسی logهای کانتینر: با استفاده از دستور `docker-compose logs -f` logهای کانتینر n8n را مشاهده کنید تا پیامهای خطا و هشدارها را بررسی کنید.
- بررسی متغیرهای محیطی: اطمینان حاصل کنید که تمام متغیرهای محیطی مورد نیاز به درستی در فایل `.env` تنظیم شدهاند.
- بررسی پیکربندی Nginx/Apache: اگر از reverse proxy استفاده میکنید، اطمینان حاصل کنید که فایل configuration Nginx یا Apache به درستی پیکربندی شده است.
- جستجو در مستندات n8n: مستندات رسمی n8n حاوی اطلاعات جامعی در مورد نصب، پیکربندی و عیبیابی است.
- پرسش در انجمن n8n: اگر نتوانستید مشکل خود را حل کنید، میتوانید در انجمن رسمی n8n سوال خود را مطرح کنید.
نتیجهگیری
با دنبال کردن این راهنما، میتوانید n8n را با موفقیت روی سرور شخصی خود نصب و راهاندازی کنید. n8n یک ابزار قدرتمند برای اتوماسیون گردش کار است که به شما امکان میدهد فرایندهای مختلف را در برنامهها و سرویسهای مختلف خودکار کنید. با نصب n8n روی سرور شخصی خود، کنترل کاملی بر دادههای خود خواهید داشت و میتوانید گردشکارهای پیچیده را با امنیت و حریم خصوصی بیشتری اجرا کنید. این راهنما با هدف ارائه یک مرجع کامل و جامع برای جامعه تخصصی تهیه شده است و امیدواریم برای شما مفید واقع شود.
“`
“تسلط به برنامهنویسی پایتون با هوش مصنوعی: آموزش کدنویسی هوشمند با ChatGPT”
"تسلط به برنامهنویسی پایتون با هوش مصنوعی: آموزش کدنویسی هوشمند با ChatGPT"
"با شرکت در این دوره جامع و کاربردی، به راحتی مهارتهای برنامهنویسی پایتون را از سطح مبتدی تا پیشرفته با کمک هوش مصنوعی ChatGPT بیاموزید. این دوره، با بیش از 6 ساعت محتوای آموزشی، شما را قادر میسازد تا به سرعت الگوریتمهای پیچیده را درک کرده و اپلیکیشنهای هوشمند ایجاد کنید. مناسب برای تمامی سطوح با زیرنویس فارسی حرفهای و امکان دانلود و تماشای آنلاین."
ویژگیهای کلیدی:
بدون نیاز به تجربه قبلی برنامهنویسی
زیرنویس فارسی با ترجمه حرفهای
۳۰ ٪ تخفیف ویژه برای دانشجویان و دانش آموزان