سؤال

أثناء التطوير، سيكون من الرائع إعادة تشغيل Node.js تلقائيًا عند حدوث تغييرات في دليل التطبيقات.عندما يكون التطبيق في مرحلة الإنتاج، يمكن أن تبدأ العقدة تمامًا كما هو معتاد.عند إعادة تشغيل الخادم بقصد أو بدون نية، فمن الواضح أن العقدة تحتاج إلى إعادة التشغيل.

لقد سمعت عنهما وجربتهما forever و supervisor.يعمل المشرف بشكل جيد، لكن لا يمكنني البدء أثناء التمهيد.من ناحية أخرى، يتجاهل Forever أية تغييرات في الدليل الخاص بي.

هل هناك بدائل متاحة من شأنها أن تفعل كل هذا بالنسبة لي؟

شكرًا

هل كانت مفيدة؟

المحلول

إليك ما انتهى بي الأمر بفعله:

تم وضع الكود أدناه /etc/init/myApplication.conf:

# Enter below
respawn
console none

start on runlevel [2345]
stop on runlevel [06]

script
  sudo always /var/www/backend/app.js > /var/www/backend/nodelog.log
end script

يتحقق دائمًا من التغييرات في دليل العقدة الخاصة بي بينما يضمن هذا البرنامج النصي بدء التشغيل دائمًا عند التمهيد.

نصائح أخرى

لقد بدأت مؤخرًا باستخدام مراقب عمال لإدارة تطبيقاتي.يمكنك التصدير من فورمان إلى مغرور والتي يجب أن تحل مشكلتك في التعامل مع عمليات إعادة التشغيل، وما إلى ذلك.في بيئة الإنتاج (على الرغم من أنني لم أفعل ذلك بنفسي بعد.)

لتحديث الملفات تلقائيًا عند التغيير، قم بالتحقق من ذلك دائماً.(ثم ​​قم بالتشغيل دائمًا من Procfile المحلي الخاص بك عبر Foreman - هذا هو الإعداد الخاص بي.)

لا أعتقد أنه من المحتمل أن تجد أي شيء يبدأ العقدة تلقائيًا عند التمهيد، ولكن اعتمادًا على نظام التشغيل لديك، فإن هذا ليس بالأمر الصعب للغاية.هل يمكن أن تخبرنا ما هو نظام التشغيل لديك؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top