
چطور پروژه Node.js را روی VPS دیپلوی کنیم؟
آموزش کامل و حرفهای دیپلوی پروژه Node.js روی سرور مجازی (VPS)
مقدمه
اگر یک پروژه Node.js مانند API، پنل مدیریت، سایت شرکتی، فروشگاه اینترنتی یا اپلیکیشن مبتنی بر Express و Next.js ساختهاید، مرحله مهم بعدی دیپلوی و اجرای صحیح آن روی سرور است. بسیاری از توسعهدهندگان در این مرحله با مشکلاتی مثل خطاهای پورت، تنظیم Nginx، اجرای دائمی پروژه و SSL روبهرو میشوند.
استفاده از VPS به شما این امکان را میدهد که کنترل کامل روی سرور، امنیت بیشتر، منابع اختصاصی و عملکرد بهتر نسبت به هاست اشتراکی داشته باشید.

در این مقاله از نگارنوین (Negarnovin) بهصورت قدمبهقدم یاد میگیرید چگونه پروژه Node.js را روی VPS لینوکسی دیپلوی کنید و آن را بهصورت حرفهای برای استفاده واقعی آماده نمایید.
پیشنیازهای لازم
قبل از شروع به این موارد نیاز دارید:
- VPS لینوکسی (ترجیحاً Ubuntu 22.04)
- دسترسی root یا sudo
- دامنه متصل به سرور
- پروژه آماده Node.js
- آشنایی اولیه با SSH
- Git نصب شده
پیشنهاد میشود از VPS با SSD NVMe و حداقل 2GB RAM استفاده کنید.
مرحله اول: اتصال به VPS با SSH
ssh root@your-server-ip
پس از ورود به سرور، آماده نصب ابزارهای لازم هستید.
مرحله دوم: بروزرسانی سیستم
apt update && apt upgrade -y
این کار باعث جلوگیری از خطاهای نصب میشود.
مرحله سوم: نصب Node.js و npm
ابتدا NodeSource را اضافه کنید:
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
سپس نصب:
apt install -y nodejs
بررسی نسخه:
node -v
npm -v
مرحله چهارم: نصب Git
apt install git -y
برای دریافت پروژه از GitHub یا GitLab ضروری است.
مرحله پنجم: دریافت پروژه روی سرور
cd /var/www/
git clone https://github.com/your-project.git
cd your-project
یا فایل پروژه را بهصورت دستی آپلود کنید.
مرحله ششم: نصب وابستگیها
npm install
اگر پروژه production است:
npm install --production
مرحله هفتم: تنظیم فایل Environment
اگر پروژه از فایل .env استفاده میکند:
nano .env
اطلاعات دیتابیس، پورت و API Keyها را وارد کنید.
مثال:
PORT=3000
DB_HOST=localhost
DB_USER=root
DB_PASS=StrongPassword
مرحله هشتم: تست اجرای پروژه
npm start
یا:
node app.js
اگر پروژه روی پورت مشخص اجرا شد یعنی همه چیز درست است.
مرحله نهم: نصب PM2 برای اجرای دائمی
PM2 باعث میشود پروژه حتی بعد از ریبوت سرور فعال بماند.
npm install pm2 -g
اجرای پروژه:
pm2 start app.js --name myapp
بررسی:
pm2 list
ذخیره خودکار:
pm2 startup
pm2 save
مرحله دهم: نصب و تنظیم Nginx
apt install nginx -y
ساخت فایل کانفیگ:
nano /etc/nginx/sites-available/myapp
محتوا:
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
فعالسازی:
ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
nginx -t
systemctl restart nginx
مرحله یازدهم: نصب SSL رایگان
apt install certbot python3-certbot-nginx -y
certbot --nginx -d yourdomain.com -d www.yourdomain.com
اکنون پروژه شما با HTTPS فعال است.
مشکلات رایج
خطای Port Already in Use
پورت توسط سرویس دیگری اشغال شده است.
خطای Permission Denied
دسترسی فایلها باید اصلاح شود.
پروژه بعد از ریبوت خاموش میشود
PM2 بهدرستی تنظیم نشده است.
چرا Nginx + PM2 بهترین انتخاب است؟
- سرعت بالا
- مدیریت حرفهای فرآیندها
- امنیت بیشتر
- مناسب پروژههای production
- پایداری بالا
این ترکیب برای اکثر پروژههای Node.js ایدهآل است.
پیشنهاد حرفهای نگارنوین
برای اجرای حرفهای پروژههای Node.js نیاز به سرور پایدار و سریع دارید.
در Negarnovin میتوانید:
- VPS پرسرعت
- سرور مخصوص برنامهنویسی
- لایسنس LiteSpeed
- SSL معتبر
- سرور مناسب DevOps
- پشتیبانی حرفهای
را با بهترین کیفیت تهیه کنید.
سوالات متداول
آیا بدون PM2 میتوان پروژه را اجرا کرد؟
بله، اما برای production توصیه نمیشود.
بهترین وبسرور برای Node.js چیست؟
معمولاً Nginx در کنار PM2 بهترین انتخاب است.
آیا میتوان پروژه Next.js را هم به همین روش دیپلوی کرد؟
بله، دقیقاً همین ساختار قابل استفاده است.
جمعبندی نهایی
دیپلوی پروژه Node.js روی VPS یکی از مهمترین مراحل توسعه حرفهای است. با استفاده از Node.js، PM2، Nginx و SSL میتوانید یک زیرساخت قدرتمند، امن و پایدار برای پروژه خود ایجاد کنید.
اگر به دنبال بهترین سرور برای اجرای پروژههای Node.js هستید، همین حالا VPS مناسب خود را از نگارنوین تهیه کنید.