Weblines Cloudمستندات

خطای دیپلوی

اپ به ERROR رفت یا مدام ری‌استارت می‌شود؟ مسیرِ گام‌به‌گامِ عیب‌یابی — از لاگ تا پورت، build و منابع.

آخرین به‌روزرسانی:

وقتی سرویسی به ERROR می‌رود یا بعد از RUNNING مدام ری‌استارت می‌شود، تقریباً همیشه لاگ علت را نشان می‌دهد.

گام ۱ — لاگ را بخوانید#

روی کارتِ سرویس پنلِ لاگ را باز کنید و از آخرین خط به بالا بخوانید. وضعیت، لاگ و شِل

در لاگیعنی
stack trace یا Error:خطای کدِ خودِ اپ
EADDRINUSEدو پردازش روی یک پورت
connection refused به دیتابیسدیتابیس STOPPED است یا اطلاعاتِ اتصال اشتباه
Killed یا OOMRAMِ پک کافی نیست
authentication failed یا Permission denied (publickey)دسترسی به ریپوی خصوصی ناقص است

گام ۲ — رایج‌ترین علت‌ها#

پورت#

پورتِ ویزارد باید همان پورتی باشد که اپ داخلِ container رویش گوش می‌دهد، و bind روی 0.0.0.0 باشد:

js
app.listen(process.env.PORT || 3000, "0.0.0.0");

build#

  • مسیرِ Dockerfile یا compose اشتباه است.
  • npm ci بدونِ package-lock.json.
  • بسته‌ی خصوصیِ npm در ریپو بدونِ دسترسی.
  • image برای arm64 ساخته شده؛ amd64 لازم است.

دیتابیس هنوز آماده نیست#

اپ قبل از دیتابیس بالا آمده. در کدِ اتصال retry بگذارید، یا بعد از RUNNING شدنِ دیتابیس RESTART بزنید.

منابع#

اگر لاگ OOM نشان می‌دهد، پکِ بزرگ‌تر لازم است یا نشتِ حافظه دارید. منابع و پک‌ها

اعتبار#

با اعتبارِ ناکافی، ساختِ سرویسِ جدید متوقف می‌شود. کیف پول

چک‌لیست#

  • پورت درست و bind روی 0.0.0.0
  • image محلی با docker run امتحان شده
  • دیتابیس لینک شده و بعد از لینک DEPLOY زده شده
  • پک برای مصرفِ RAM کافی است

هنوز حل نشد؟#

از پنل تیکت بزنید (یا با ۰۲۱-۸۸۷۱۷۴۵۱ تماس بگیرید) و این‌ها را بفرستید: نامِ سرویس، روشِ ساخت (image یا گیت)، پک، و آخرین خطوطِ لاگ.

جوابت را پیدا نکردی؟

تیکت از پنل یا تماس در ساعاتِ کاری: ۰۲۱-۸۸۷۱۷۴۵۱

ثبتِ تیکت