ถัดไปมาดูกันว่าตลอดไปสามารถบรรลุเป้าหมายได้หรือไม่
1. บทนำตลอดไป
Forever เป็น daemon nodejs ที่จำเป็นอย่างยิ่งที่สามารถเริ่มหยุดและรีสตาร์ทแอปแอพ ตลอดไปนั้นขึ้นอยู่กับการดำเนินการบรรทัดคำสั่งอย่างสมบูรณ์ ภายใต้กระบวนการตลอดกาลกระบวนการเด็กโหนดถูกสร้างขึ้นและกระบวนการเด็กโหนดจะถูกตรวจสอบผ่านจอภาพ เมื่อไฟล์ได้รับการอัปเดตหรือกระบวนการหมดลงตลอดกาลจะรีสตาร์ทเซิร์ฟเวอร์โหนดโดยอัตโนมัติเพื่อให้แน่ใจว่าแอปพลิเคชันทำงานตามปกติ
2. การติดตั้งตลอดไป
การติดตั้งทั่วโลกตลอดไป
การคัดลอกรหัสมีดังนี้:
~ d:/workspace/javascript> npm ติดตั้ง -g ตลอดไป
d:/toolkit/nodejs/forever -> d:/toolkit/nodejs/node_modules/forever/bin/forever/forever
d:/toolkit/nodejs/foreverd -> d:/toolkit/nodejs/node_modules/forever/bin/foreverd
ตรวจสอบความช่วยเหลือตลอดไป
การคัดลอกรหัสมีดังนี้:
~ d:/workspace/javascript> ตลอดไป -H
ความช่วยเหลือ: การใช้งาน: ตลอดไป [การกระทำ] [ตัวเลือก] สคริปต์ [ตัวเลือกสคริปต์]
ช่วย:
ช่วย: ตรวจสอบสคริปต์ที่ระบุในกระบวนการปัจจุบันหรือเป็น daemon
ช่วย:
ช่วย: การกระทำ:
ช่วย: เริ่มต้นสคริปต์เป็นทิว
ช่วย: หยุดสคริปต์ Daemon
Help: หยุดหยุดการทำงานทั้งหมดสคริปต์ตลอดไป
ช่วย: รีสตาร์ทรีสตาร์ทสคริปต์ Daemon
ช่วย: รีสตาร์ทรีสตาร์ทสคริปต์ตลอดไป
วิธีใช้: แสดงรายการทั้งหมดที่ทำงานตลอดกาลสคริปต์
วิธีใช้: กำหนดค่าแสดงรายการการกำหนดค่าผู้ใช้ตลอดไปทั้งหมด
วิธีใช้: ตั้งค่า <key> <al> ตั้งค่าการกำหนดค่าตลอดกาลที่ระบุตลอดไป <SEY>
วิธีใช้: ล้าง <key> ล้างการกำหนดค่าตลอดกาลที่ระบุ <คีย์>
ช่วยเหลือ: บันทึกรายการไฟล์บันทึกสำหรับกระบวนการทั้งหมดตลอดไป
วิธีใช้: บันทึก <สคริปต์ | ดัชนี> ปรับบันทึกสำหรับ <สคริปต์ | ดัชนี>
วิธีใช้: คอลัมน์เพิ่ม <ol> เพิ่มคอลัมน์ที่ระบุในเอาต์พุตใน `ตลอดไปรายการ '
วิธีใช้: คอลัมน์ RM <ol> ลบคอลัมน์ที่ระบุออกจากเอาต์พุตใน `ตลอดไป '
วิธีใช้: คอลัมน์ตั้งค่า <ols> ตั้งค่าคอลัมน์ทั้งหมดสำหรับเอาต์พุตใน `ตลอดไปรายการ '
ช่วย: CleanLogs [ระวัง] ลบไฟล์บันทึกตลอดกาลในอดีตทั้งหมด
ช่วย:
ช่วย: ตัวเลือก:
วิธีใช้: -m สูงสุดเท่านั้นเรียกใช้เฉพาะสคริปต์ที่ระบุ Max Times
วิธีใช้: -l logfile บันทึกเอาต์พุตตลอดกาลไปยัง logfile
ช่วย: -o outfile บันทึก stdout จากสคริปต์เด็กไปยัง outfile
วิธีใช้: -e errfile บันทึก stderr จาก script เด็กไปยัง errfile
วิธีใช้: -p พา ธ พา ธ พา ธ สำหรับไฟล์ที่เกี่ยวข้องตลอดไป (ไฟล์ PID ฯลฯ )
Help: -C คำสั่งคำสั่งเพื่อดำเนินการ (ค่าเริ่มต้นเป็นโหนด)
วิธีใช้: -a, -เสริมบันทึกภาคผนวก
วิธีใช้: -f, -กระแสสตรีม -fifo บันทึกไปยัง stdout
วิธีใช้: -n, -จำนวนบรรทัดบันทึกบรรทัดที่จะพิมพ์
วิธีใช้: -pidfile ไฟล์ pid
ช่วย: -แหล่งที่มาไดเรกทอรีต้นฉบับที่สคริปต์มีความสัมพันธ์กับ
ความช่วยเหลือ: -เวลาใช้เวลาขั้นต่ำ (มิลลิส) สำหรับสคริปต์ที่จะไม่ถูกพิจารณาว่า "หมุน"
ความช่วยเหลือ: -เวลาเวลารอ (มิลลิส) ระหว่างการเปิดตัวสคริปต์หมุน
ความช่วยเหลือ:-สี-สีไม่มีสีจะปิดการใช้งานสีเอาต์พุต
ช่วย:-นามแฝงของ-ไม่มีสี
วิธีใช้: -d, -กองกำลังขับเคลื่อนตลอดไปเพื่อบันทึกเอาต์พุตดีบั๊ก
ช่วย: -v, -verbose เปิดข้อความ verbose จากตลอดไป
ช่วย: -S, -เงียบ ๆ รันสคริปต์เด็กเงียบ stdout และ stderr
วิธีใช้: -w, -นาฬิกาดูสำหรับการเปลี่ยนแปลงไฟล์
ช่วย:-ไดเรกทอรีระดับสูงสุดของ WatchDirectory ที่จะดูจาก
วิธีใช้: -watchignore ที่จะละเว้นรูปแบบเมื่อเปิดใช้งานนาฬิกา (อนุญาตให้มีตัวเลือกหลายตัวเลือก)
ช่วย: -H, -ช่วยคุณกำลังจ้องมองมัน
ช่วย:
ช่วย: [กระบวนการวิ่งนาน]
วิธีใช้: กระบวนการตลอดกาลจะดำเนินการต่อไปเพื่อเรียกใช้ข้อความบันทึกการส่งออกไปยังคอนโซล
ช่วย: อดีต ตลอดไป -o out.log -e err.log my -script.js
ช่วย:
ช่วย: [Daemon]
ความช่วยเหลือ: กระบวนการตลอดไปจะทำงานเป็น daemon ซึ่งจะทำให้กระบวนการเป้าหมายเริ่มต้นขึ้น
ช่วย: อยู่เบื้องหลัง สิ่งนี้มีประโยชน์อย่างยิ่งสำหรับสคริปต์สคริปต์ที่ใช้งานได้อย่างง่าย
ความช่วยเหลือ: โดยไม่ต้องใช้ nohup ขอแนะนำให้เรียกใช้เริ่มต้นด้วย -o -l, & -e
ช่วย: อดีต Start Forever -l forever.log -o out.log -e err.log my-daemon.js
ช่วย: หยุด my-daemon.js ตลอดไป
ช่วย:
เราเห็นว่าตลอดไปสนับสนุนรายการคำสั่งและการกำหนดค่าจำนวนมากซึ่งควรเป็นเครื่องมือการจัดการบรรทัดคำสั่ง
3. คำอธิบายภาษาจีนเกี่ยวกับบรรทัดคำสั่งตลอดกาล
การกระทำย่อย:
การคัดลอกรหัสมีดังนี้:
เริ่มต้น: เริ่มกระบวนการ Daemon
หยุด: หยุด daemon
หยุด: หยุดกระบวนการทั้งหมดตลอดไป
รีสตาร์ท: รีสตาร์ท daemon
RESTARTALL: รีสตาร์ทกระบวนการ FOEV ทั้งหมด
รายการ: รายการแสดงกระบวนการตลอดไป
กำหนดค่า: แสดงรายการรายการการกำหนดค่าผู้ใช้ทั้งหมด
ตั้งค่า <key> <al>: ตั้งค่ารายการการกำหนดค่าผู้ใช้
ล้าง <key>: ล้างรายการการกำหนดค่าผู้ใช้
บันทึก: แสดงรายการบันทึกสำหรับกระบวนการทั้งหมดตลอดไป
บันทึก <สคริปต์ | ดัชนี>: แสดงบันทึกล่าสุด
คอลัมน์เพิ่ม <ol>: ตัวชี้วัดที่กำหนดเองเป็นรายการตลอดไป
คอลัมน์ RM <ol>: ลบ Metric รายการตลอดไป
คอลัมน์ตั้งค่า <ols>: ตั้งค่าตัวชี้วัดทั้งหมดเป็นรายการตลอดไป
CleanLogs: ลบบันทึกประวัติตลอดไปทั้งหมด
ตัวเลือกพารามิเตอร์การกำหนดค่า:
การคัดลอกรหัสมีดังนี้:
-m Max: จำนวนครั้งที่สคริปต์ที่ระบุเรียกใช้
-l logfile: บันทึกเอาต์พุตไปยัง logfile
-o Outfile: ข้อมูลคอนโซลเอาท์พุทไปยัง outfile
-e errfile: ข้อผิดพลาดคอนโซลเอาต์พุตใน errfile
-p Path: Root Directory
คำสั่ง -c: เรียกใช้คำสั่งค่าเริ่มต้นคือโหนด
-a, ผนวก: รวมบันทึก
-f, FIFO: การสตรีมบันทึกเอาต์พุต
-n, จำนวน: จำนวนบรรทัดการพิมพ์บันทึก
pidfile: ไฟล์ PID
Sourcedir: ไดเรกทอรีซอร์สโค้ด
MINUPTIME: เวลาอัปเดตขั้นต่ำ (MS)
Spinsleeptime: ช่วงเวลาระหว่างสองสปิน
สี: การระบายสีคอนโซลเอาท์พุท
ธรรมดา: นามแฝงไม่มีสี, เอาท์พุทคอนโซลไม่มีสีสัน
-d, debug: โหมดการดีบัก
-v, verbose: พิมพ์เอาต์พุตโดยละเอียด
-S, เงียบ: อย่าพิมพ์บันทึกและข้อความแสดงข้อผิดพลาด
-w, Watch: ตรวจสอบการเปลี่ยนแปลงไฟล์
WatchDirectory: ตรวจสอบไดเรกทอรีด้านบน
Watchignore: ละเว้นการตรวจสอบผ่านการจับคู่รูปแบบ
-H, Help: ข้อมูลความช่วยเหลือบรรทัดคำสั่ง
4. การจัดการเซิร์ฟเวอร์ตลอดกาล
สร้างโครงการเว็บ (Express3+EJS) และใช้ตลอดไปเพื่อจัดการเซิร์ฟเวอร์
ติดตั้ง Express3
การคัดลอกรหัสมีดังนี้:
~ d:/workspace/javascript> express -e nodejs -forever
~ d:/workspace/javascript> cd nodejs-forever && npm ติดตั้ง
เริ่มแอปพลิเคชันผ่านตลอดไป
การคัดลอกรหัสมีดังนี้:
~ d:/workspace/javascript/nodejs-forever> forever start app.js
คำเตือน: -ไม่ได้ตั้งค่า Minuptime การผิดนัดเป็น: 1,000ms
WARN: -Spinsleeptime ไม่ได้ตั้งค่า สคริปต์ของคุณจะออกหากไม่ได้อยู่อย่างน้อย 1,000ms
ข้อมูล: ไฟล์ประมวลผลตลอดกาล: app.js
เปิดเบราว์เซอร์: http: // localhost: 3000 คุณสามารถดูเว็บอินเตอร์เฟส
ตรวจสอบสถานะตลอดไปภายใต้การชนะ
การคัดลอกรหัสมีดังนี้:
~ d:/workspace/javascript/nodejs-forever> รายการตลอดไป
ข้อมูล: ไม่มีกระบวนการทำงานตลอดไป
~ d:/workspace/javascript/nodejs-forever> ตลอดไปหยุด app.js
ข้อผิดพลาด: ตลอดไปไม่สามารถค้นหากระบวนการด้วยดัชนี: app.js
เราพบว่าโปรแกรม Forever ทำงานผิด! - โปรแกรมอยู่ในสถานะการทำงานอย่างชัดเจน แต่ไม่สามารถมองเห็นได้ผ่านรายการ ถัดไปเปลี่ยนเป็น Linux Ubuntu และทำการทดสอบต่อไป
5. ตลอดไปจัดการเซิร์ฟเวอร์ใน Ubuntu
สภาพแวดล้อมระบบ Linux
Linux: Ubuntu 12.04.2 เซิร์ฟเวอร์ 64 บิต
โหนด: v0.11.2
NPM: 1.2.21
โครงการเริ่มต้น: คำสั่งการติดตั้งไม่ได้อธิบาย
การคัดลอกรหัสมีดังนี้:
~ cd/home/conan/nodejs
~ express -e nodejs -forever
~ cd nodejs-forever && npm ติดตั้ง
~ sudo npm ติดตั้งตลอดไป -g
เริ่มต้นตลอดไป
คัดลอกรหัสดังต่อไปนี้: ~ ตลอดไป start app.js
คำเตือน: -ไม่ได้ตั้งค่า Minuptime การผิดนัดเป็น: 1,000ms
WARN: -Spinsleeptime ไม่ได้ตั้งค่า สคริปต์ของคุณจะออกหากไม่ได้อยู่อย่างน้อย 1,000ms
ข้อมูล: ไฟล์ประมวลผลตลอดกาล: app.js
ตรวจสอบสถานะเซิร์ฟเวอร์โหนด
คัดลอกรหัสดังนี้: ~ รายการตลอดไป
ข้อมูล: กระบวนการทำงานตลอดไป
ข้อมูล: สคริปต์คำสั่ง UID ตลอดเวลา PID logfile uptime
ข้อมูล: [0] l2ty/usr/local/bin/node app.js 18276 18279 /home/conan/.forever/l2ty.log 0: 0: 0: 37.792
# กระบวนการระบบ
~ ps -aux | โหนด grep
คำเตือน: ไวยากรณ์ PS ที่ไม่ดีบางทีอาจเป็นของปลอม '-'? ดู http://procps.sf.net/faq.html
Conan 18296 0.5 1.1 597696 23776? SSL 15:48 0:00/usr/local/bin/node/usr/local/lib/node_modules/forever/bin/bin/monitor
Conan 18299 0.4 0.8 630340 18392? SL 15:48 0:00/usr/local/bin/node /home/conan/nodejs/nodejs-forever/app.js
# อาชีพพอร์ต
~ netstat -nltp | โหนด grep
TCP 0 0 0.0.0.0:3000 0.0.0.0:* ฟัง 18299/โหนด
หยุดเซิร์ฟเวอร์
คัดลอกรหัสดังต่อไปนี้: ~ ตลอดไปหยุด app.js
ข้อมูล: กระบวนการหยุดตลอดไป:
ข้อมูล: สคริปต์คำสั่ง UID ตลอดเวลา PID logfile uptime
[0] l2ty/usr/local/bin/node app.js 18276 18279 /home/conan/.forever/l2ty.log 0: 0: 0: 45.621
เราเห็นว่ามันเป็นเรื่องปกติในสภาพแวดล้อม Linux Ubuntu
6. การจำลองเซิร์ฟเวอร์การหยุดทำงาน
โซลูชั่นการทดสอบสองแบบ:
1. ใช้คำสั่ง Linux เพื่อฆ่ากระบวนการโหนดโดยตรง
2. ในแอปพลิเคชันจำลองการออกจากข้อยกเว้น
1). ใช้คำสั่ง Linux เพื่อฆ่ากระบวนการโหนดโดยตรง
การคัดลอกรหัสมีดังนี้:
# ตรวจสอบกระบวนการโหนด PID = 18299
~ ps -aux | โหนด grep
Conan 18296 0.0 1.1 597696 23776? SSL 15:48 0:00/usr/local/bin/node/usr/local/lib/node_modules/forever/bin/bin/monitor
Conan 18299 0.0 0.8 630340 18392? SL 15:48 0:00/usr/local/bin/node /home/conan/nodejs/nodejs-forever/app.js
Conan 18315 0.0 0.0 13584 956 PTS/5 R+ 15:52 0:00 GREP -Color = Auto Node
# ฆ่า pid = 19299
~ ฆ่า -9 18299
# ดูกระบวนการโหนดอีกครั้งโหนดจะรีสตาร์ทโดยอัตโนมัติ PID ใหม่ = 18324
~ ps -aux | โหนด grep
Conan 18296 0.0 1.1 597696 23916? SSL 15:48 0:00/usr/local/bin/node/usr/local/lib/node_modules/forever/bin/bin/monitor
Conan 18316 2.6 0.8 630340 18412? SL 15:52 0:00/usr/local/bin/node /home/conan/nodejs/nodejs-forever/app.js
Conan 18324 0.0 0.0 13584 956 PTS/5 R+ 15:52 0:00 GREP -Color = Auto Node
เราเห็นว่าการฆ่ากระบวนการโหนดตลอดไปจะช่วยให้เรารีสตาร์ทโหนด
ฆ่ามอนิเตอร์ตลอดไป
การคัดลอกรหัสมีดังนี้:
~ ฆ่า -9 18296
~ ps -aux | โหนด grep
Conan 18316 0.0 0.9 630340 18644? SL 15:52 0:00/usr/local/bin/node /home/conan/nodejs/nodejs-forever/app.js
Conan 18333 0.0 0.0 13584 952 PTS/5 S+ 15:57 0:00 GREP -Color = โหนดอัตโนมัติ
# ฆ่ากระบวนการโหนดอีกครั้ง
~ ฆ่า -9 18316
~ ps -aux | โหนด grep
Conan 18336 0.0 0.0 13584 956 PTS/5 S+ 15:58 0:00 GREP -Color = Auto Node
เราพยายามฆ่ามอนิเตอร์ตลอดกาล โปรแกรมการตรวจสอบไม่ได้รีสตาร์ทโดยอัตโนมัติ หลังจากฆ่ากระบวนการโหนดโหนดจะไม่รีสตาร์ทโดยอัตโนมัติ
2). ในแอปพลิเคชันให้จำลองทางออกยกเว้น
แก้ไขไฟล์: app.js
การคัดลอกรหัสมีดังนี้:
~ vi app.js
-
http.createserver (แอพ) .Listen (app.get ('พอร์ต'), function () {
console.log (วันที่ใหม่ ());
console.log ('การฟังเซิร์ฟเวอร์ด่วนบนพอร์ต' + app.get ('พอร์ต'));
-
settimeout (function () {
console.log (วันที่ใหม่ ());
โยนข้อผิดพลาดใหม่ ('แอพคือข้อผิดพลาดจากภายใน!');
}, 10*1000);
เริ่มต้นด้วยคำสั่งโหนด
คัดลอกรหัสดังนี้: ~ node app.js
วันที่ 26 ก.ย. 2013 16:08:44 GMT+0800 (CST)
Express Server ฟังบนพอร์ต 3000
พ.อ. 26 ก.ย. 2013 16:08:54 GMT+0800 (CST)
/home/conan/nodejs/nodejs-forever/app.js:41
โยนข้อผิดพลาดใหม่ ('แอพคือข้อผิดพลาดจากภายใน!');
-
ข้อผิดพลาด: แอพคือข้อผิดพลาดจากภายใน!
ที่ null._ontimeout (/home/conan/nodejs/nodejs-forever/app.js:41:9)
ที่ timer.listontimeout [เป็น ontimeout] (timers.js: 110: 15)
หลังจาก 10 วินาทีกระบวนการโหนดจะแขวนเนื่องจากข้อผิดพลาดภายใน
เริ่มต้นด้วยคำสั่งตลอดกาล
การคัดลอกรหัสมีดังนี้:
~ บันทึก mkdir
~ chmod 777 -r บันทึก
~ ตลอดไป -p. -l ./logs/access.log -e ./logs/error.log start app.js
# ตรวจสอบบันทึกข้อผิดพลาด
~ บันทึกแมว/access.log ls
พ.อ. 26 ก.ย. 2013 16:15:02 GMT+0800 (CST)
Express Server ฟังบนพอร์ต 3000
พ.อ. 26 ก.ย. 2556 16:15:12 GMT+0800 (CST)
/home/conan/nodejs/nodejs-forever/app.js:41
โยนข้อผิดพลาดใหม่ ('แอพคือข้อผิดพลาดจากภายใน!');
-
ข้อผิดพลาด: แอพคือข้อผิดพลาดจากภายใน!
ที่ null._ontimeout (/home/conan/nodejs/nodejs-forever/app.js:41:9)
ที่ timer.listontimeout [เป็น ontimeout] (timers.js: 110: 15)
ข้อผิดพลาด: สคริปต์ตรวจพบตลอดไปด้วยรหัส: 8
ข้อผิดพลาด: การรีสตาร์ทสคริปต์ตลอดไปเป็นเวลา 1 ครั้ง
พ.อ. 26 ก.ย. 2013 16:15:13 GMT+0800 (CST)
Express Server ฟังบนพอร์ต 3000
พ.อ. 26 ก.ย. 2013 16:15:23 GMT+0800 (CST)
/home/conan/nodejs/nodejs-forever/app.js:41
โยนข้อผิดพลาดใหม่ ('แอพคือข้อผิดพลาดจากภายใน!');
-
ข้อผิดพลาด: แอพคือข้อผิดพลาดจากภายใน!
ที่ null._ontimeout (/home/conan/nodejs/nodejs-forever/app.js:41:9)
ที่ timer.listontimeout [เป็น ontimeout] (timers.js: 110: 15)
ข้อผิดพลาด: สคริปต์ตรวจพบตลอดไปด้วยรหัส: 8
ข้อผิดพลาด: การรีสตาร์ทสคริปต์ตลอดไปเป็นเวลา 2 ครั้ง
พ.อ. 26 ก.ย. 2013 16:15:23 GMT+0800 (CST)
Express Server ฟังบนพอร์ต 3000
พ.อ. 26 ก.ย. 2013 16:15:33 GMT+0800 (CST)
/home/conan/nodejs/nodejs-forever/app.js:41
โยนข้อผิดพลาดใหม่ ('แอพคือข้อผิดพลาดจากภายใน!');
-
ข้อผิดพลาด: แอพคือข้อผิดพลาดจากภายใน!
ที่ null._ontimeout (/home/conan/nodejs/nodejs-forever/app.js:41:9)
ที่ timer.listontimeout [เป็น ontimeout] (timers.js: 110: 15)
ข้อผิดพลาด: สคริปต์ตรวจพบตลอดไปด้วยรหัส: 8
ข้อผิดพลาด: การรีสตาร์ทสคริปต์ตลอดกาลเป็นเวลา 3 ครั้ง
พ.อ. 26 ก.ย. 2013 16:15:33 GMT+0800 (CST)
Express Server ฟังบนพอร์ต 3000
Thu Sep 26 2013 16:15:43 GMT+0800 (CST)
/home/conan/nodejs/nodejs-forever/app.js:41
โยนข้อผิดพลาดใหม่ ('แอพคือข้อผิดพลาดจากภายใน!');
-
ข้อผิดพลาด: แอพคือข้อผิดพลาดจากภายใน!
ที่ null._ontimeout (/home/conan/nodejs/nodejs-forever/app.js:41:9)
ที่ timer.listontimeout [เป็น ontimeout] (timers.js: 110: 15)
ข้อผิดพลาด: สคริปต์ตรวจพบตลอดไปด้วยรหัส: 8
ข้อผิดพลาด: การรีสตาร์ทสคริปต์ตลอดกาลเป็นเวลา 4 ครั้ง
เราพบว่าทุก ๆ 10 วินาทีโหนดวางสายและจากนั้นจะเริ่มต้นใหม่ตลอดไป! -
ผ่านรายการเราจะเห็นว่า PID มีการเปลี่ยนแปลงหลายครั้ง
การคัดลอกรหัสมีดังนี้:
~ รายการตลอดไป
ข้อมูล: กระบวนการทำงานตลอดไป
ข้อมูล: สคริปต์คำสั่ง UID ตลอดเวลา PID logfile uptime
ข้อมูล: [0] smtt/usr/local/bin/node app.js 18444 18579 logs/access.log 0: 0: 0: 7.211
~ รายการตลอดไป
ข้อมูล: กระบวนการทำงานตลอดไป
ข้อมูล: สคริปต์คำสั่ง UID ตลอดเวลา PID logfile uptime
ข้อมูล: [0] smtt/usr/local/bin/node app.js 18444 18579 logs/access.log 0: 0: 0: 8.921
~ รายการตลอดไป
ข้อมูล: กระบวนการทำงานตลอดไป
ข้อมูล: สคริปต์คำสั่ง UID ตลอดเวลา PID logfile uptime
ข้อมูล: [0] smtt/usr/local/bin/node app.js 18444 18604 logs/access.log 0: 0: 0: 0.177
~ รายการตลอดไป
ข้อมูล: กระบวนการทำงานตลอดไป
ข้อมูล: สคริปต์คำสั่ง UID ตลอดเวลา PID logfile uptime
ข้อมูล: [0] smtt/usr/local/bin/node app.js 18444 18604 logs/access.log 0: 0: 0: 2.206
ด้วยวิธีนี้ตลอดไปช่วยให้เราทำฟังก์ชั่นการจัดการเซิร์ฟเวอร์ที่สำคัญหลายประการ: "คำสั่งเริ่มต้น/หยุดอย่างง่าย", "สนับสนุนการปรับใช้ Hot", "ดาวน์โหลดรีสตาร์ท" และ "การตรวจสอบอินเตอร์เฟสและบันทึก"
เมื่อเปรียบเทียบกับการจัดการแบบพุ่งพรวดขั้นตอนในการกำหนดค่าสคริปต์ (/etc/init/nodejs-xx.conf) จะถูกละเว้น ฟังก์ชั่นอื่น ๆ จะต้องใช้หนึ่งขั้นตอนใกล้ชิดมากขึ้น
7. การกำหนดค่าเริ่มต้นของสภาพแวดล้อมการพัฒนาและสภาพแวดล้อมการผลิต
สภาพแวดล้อมการพัฒนา
การคัดลอกรหัสมีดังนี้:
~ cd/home/conan/nodejs/nodejs-forever/
~ ตลอดไป -p. -l ./logs/access.log -e ./logs/error.log -a -w start app.js
สภาพแวดล้อมการผลิต
คัดลอกรหัสดังนี้: ~ export log =/var/log/nodejs/project
~ ส่งออก pid =/var/log/nodejs/project/forever.pid
~ ส่งออก app_path =/home/conan/nodejs/nodejs-forever
~ แอปส่งออก = $ app_path/app.js
~ ตลอดไป -p $ app_path -l $ log/access.log -e $ log/error.log -o $ log/out.log -a -pidfile $ pid start $ app