2013-05-14 19 views
16

Bir projenin geliştirilmesini bitiriyoruz, istemci zaten kullanıyor ama bazen bazı hatalar meydana geliyor - sunucuyu çökertiyor.Bir düğüm sunucusunu otomatik olarak yeniden başlat nasıl?

Düğümümün kilitlendiğinde yeniden başlatılmasını sağlamak için linux üzerinde "upstart" komut dosyası olarak bir hizmet kaydedebileceğimi biliyorum.

Ancak sunucumuz başka şeyler çalıştırıyor, bu yüzden yeniden başlatamıyoruz. yeniden başlatmak zorunda kalmadan

  • Will 'sonradan görme' işi: yazarken Aslında, ben o zaman iki sorum var farkında mısın? Bir şey sadece benim için evet fısıldayan :)
  • Değilse, çöktüğümde benim düğüm sunucumun başka bir seçeneğiyle 'respawn' yapmam gerekecek mi?

cevap

25

Evet, upstart yeniden başlatmadan işleminizi yeniden başlatır.

Ayrıca, forever'a bakmalısınız.

+3

Genel Hata İşleyicisi, hata işleme ile ilgili neşe kılavuzundan vazgeçirilir: https://www.joyent.com/developers/node/design/errors. Bilinmeyen bir hatanın bir istisnaya neden olması durumunda, uygulamanın daha fazla hata yapması daha zordur hatalara yol açacak kötü bir durumda bırakmaktan çok daha iyidir. – syonip

+0

Doğru. Bu cevabı gönderdiğimde bunun farkında değildim. İşaret ettiğin için teşekkürler. Onu kaldıracağım. – Daniel

-2

nodemon'u da kullanabilirsiniz.

npm install -g nodemon 

nodemon başlandı nodemon dizindeki dosyaları izleyecek ve onlar değiştirirseniz, otomatik olarak düğüm uygulamayı yeniden başlayacaktır.


Düzenleme

sudo nodemon server.js 
+11

AFAIK nodemon, kaynak dosyalarındaki değişiklikleri izlemek içindir. Dev için harika ama canlı dağıtımlar için çok değil. Web sitesi alıntılamak için: "Nodemon, kaynağınızdaki değişiklikleri izleyecek ve sunucunuzu otomatik olarak yeniden başlatan bir yardımcı programdır." – Boon

+0

Dev ortamı için elbette bu kapalı, neden otomatik olarak sunucuyu yeniden başlatmanız gerekiyor? –

+1

nodemon kilitlenmeden yeniden başlatılmıyor. Sadece bazı dosyaları değiştirirseniz yeniden başlatır. diğer bilge değil – Toumi

6

PM2 node.js uygulama için üretim süreci yöneticisidir.

1

Otomatik yeniden başlatma özelliğiniz her zaman çalışan bir uygulama ise, bir işlem yöneticisi kullanmayı öneririm. Süreç yöneticisi genel olarak düğüm sürecini (kümenin etkinleştirilmiş olması) idare eder ve süreç/yürütmenin yürütülmesinden sorumludur. PM operatif sistem üzerinde eğilir: Düğümünüz ve işletim sisteminiz çok sıkı bir şekilde zincirlenmez, çünkü pm ortadadır.

Son numara: Süreç yöneticisini baştan başlatın.

Here, takip etmek için tam bir performans geliştirme yoludur.

İlgili konular