آموزش نصب 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
هنوز هیچ رأیی داده نشده. اولین نفر باشید!


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