1. مقدمة في طريقة النشر العامة لتطبيق NodeJS
أخيرًا ، تم إطلاق نشر تطبيق NodeJS ، انسخ رمز المصدر إلى الدليل من خلال git
انسخ الرمز على النحو التالي:/الجذر/النشر/الفيلم
ثم اجعل الأمر:
نسخة الكود كما يلي:
~ CD/ROUT/SENPLOY/MOVIE
العقدة ./app.js
في الطريقة المذكورة أعلاه ، سيتم تشغيل برنامج NodeJS في واجهة وحدة التحكم الحالية ، وسيتم إيقاف التطبيق أيضًا بمجرد اكتمال وحدة التحكم. دعنا نغير الأمر للسماح للبرنامج بتشغيل الخلفية
نسخة الكود كما يلي:
~ العقدة ./app.js &
[1] 21333
[2013-06-21 09: 38: 30.696] [معلومات] وحدة التحكم-بدء التطبيق: http://vevb.com
[2013-06-21 09: 38: 30.700]
وبهذه الطريقة ، سيتم بدء البرنامج في الخلفية. تعمل العملية بشكل طبيعي ، ولا يتعين علي فعل الكثير.
ماذا لو أردت إيقاف هذا البرنامج؟ ابحث عن عملية نظام NodeJS وقتلها.
نسخة الكود كما يلي:
~ ps -aux | Grep Node
الجذر 21333 0.6 3.7 909200 38292 PTS/0 SL 09:38 0:00 NODE APP.JS
~ Kill -9 21333
حل العنف المباشر. كم سيكون رائعًا إذا كان يمكن أن يبدأ وإغلاق تطبيق NodeJS مثل خدمة النظام! بعد ذلك ، سوف نستخدم Upstart لتغليف تطبيقات NodeJS في خدمات النظام.
2. قم بتغليف التطبيق في نص مهمة
نسخة الكود كما يلي:
~ vi /etc/init/nodejs-moive.conf
الوصف "node.js vevb.com"
ابدأ في بدء التشغيل
توقف عند الإغلاق
السيناريو
الصفحة الرئيسية تصدير = "/الجذر/النشر/فيلم"
Echo $$> /var/run/moiveme.pid
تصدير node_env = الإنتاج
exec/usr/bin/node/root/deploy/movie/server.js
#log الإخراج
#exec/usr/bin/node/root/deploy/movie/server.js >> /var/log/moiveme.log 2> & 1
سيناريو نهاية
نص ما قبل البدء
ECHO "[` date -u +٪ y- ٪ m- ٪ dt ٪ t. ٪ 3nz`]
سيناريو نهاية
البرنامج النصي قبل توقف
rm /var/run/moiveme.pid
ECHO "[` date -u +٪ y- ٪ m- ٪ dt ٪ t. ٪ 3nz`]
سيناريو نهاية
3. استخدم Upstart لإدارة تطبيقات NodeJS
ابدأ تطبيق NodeJS-Moive (البرنامج النصي للمهمة أعلاه) ، معرف العملية: 21257
نسخة الكود كما يلي:
~ ابدأ nodejs-moive
بدء/تشغيل NodeJS-Moive ، العملية 21257
~ الذيل -f /var/log/moiveme.log
[2013-06-21T09: 21: 17.122z] (Moive.Me) بدءًا من
~ PS Aux | Grep Node
الجذر 21257 8.0 3.7 909204 37824؟ SSL 09:21 0:00/usr/bin/node/root/deploy/movie/server.js
تحقق من حالة التشغيل ، العملية 21257 تعمل بشكل طبيعي
نسخة الكود كما يلي:
~ الحالة nodejs-moive
بدء/تشغيل NodeJS-Moive ، العملية 21257
Kill Nodejs Application Application 21257 ، وإدارة من خلال UPSTART ، سيتم إعادة تشغيل تطبيق NodeJS-Moive تلقائيًا
نسخة الكود كما يلي:
~ Kill -9 21257
#إعادة تشغيل السجل
~ الذيل -f /var/log/moiveme.log
[2013-06-21T09: 21: 33.662z] (Moive.Me) بدءًا
# تحقق من عملية النظام ووجد أن المعرف قد تغير
~ ps -aux | Grep Node
الجذر 21280 9.1 3.7 909204 37704؟ SSL 09:21 0:00/usr/bin/node/root/deploy/movie/server.js
# تحقق من حالة العملية ، وقد تغير معرف العملية بالفعل ، ويتم إكماله تلقائيًا
~ الحالة nodejs-moive
بدء/تشغيل NodeJS-Moive ، العملية 21280
هذا يجعل من المريح للغاية بالنسبة لنا إدارة تطبيقات NodeJS في شكل خدمات النظام من خلال upstart. سيكون من السهل التشغيل والصيانة! !