ติดตั้ง Node.js/Socket.io เป็น Windows service

เมื่อเราติดตั้ง Node.js และ Socket.io ตามวิธีปกติได้แล้ว และทำการพัฒนา application ขึ้นมาทดสอบใช้งานได้แล้วจะพบว่า การจะเรียกใช้งาน Socket.io แต่ละครั้งนั้นค่อนข้างจะมีความยุ่งยากอยู่เล็กน้อย คือต้องเปิด command line และพิมพ์คำสั่ง node javascript-file.js
แต่ถ้าหากเราไม่ต้องการทำอย่างนั้น ต้องการให้มันรันอัตโนมัติบน Windows และรันอย่างเงียบๆไม่ต้องเปิด command prompt ขึ้นมา ก็ทำได้ครับ ตามวิธีดังต่อไปนี้.

ติดตั้ง Node.js/Socket.io เป็น Windows service

ก่อนจะดำเนินการขั้นนี้โปรดแน่ใจก่อนว่าได้ทำการติดตั้ง Node.js และ Socket.io ตามแบบปกติก่อนแล้วนะครับ

  1. ดาวน์โหลด NSSM
  2. แตกไฟล์ออกใน C:\nssm
  3. เปิด command prompt พิมพ์คำสั่งดังต่อไปนี้
    1. nssm install "MyServiceName" โดย MyServiceName คือชื่อ Service ที่คุณกำหนดเองนะครับ
    2. จะขึ้นหน้าตาดังต่อไปนี้
      nssm install node.js, socketio
      ให้กรอกช่อง Path ไปยังตำแหน่งของ node.exe เช่น C:\Program Files\nodejs\node.exe
      ช่อง Startup directory: ให้ระบุไปยังตำแหน่งที่เก็บไฟล์ js ที่จะใช้รันกับ node เช่น C:\my-sites\test-project
      ช่อง Arguments: ให้ระบุชื่อไฟ์ js ที่จะใช้รันกับ node เช่น index.js
    3. ที่ต้องกรอกมีเพียงเท่านี้ครับ จากนั้นกดปุ่ม Install service ถือเป็นอันติดตั้งสำเร็จ

เมื่อเปิด Windows service ขึ้นมาจะพบว่า service ตามชื่อที่เราระบุได้ถูกติดตั้งลงไปเรียบร้อยแล้ว

windows service node.js socketio

ให้ทดลองกดปุ่มสามเหลี่ยม start service แล้วรอดูว่าจะเริ่ม service สำเร็จหรือไม่. หากไม่พบ error ใดๆถือว่าสำเร็จครับ ให้กลับไปทดลองกับ application ที่เราสร้างเชื่อมกับ socket.io ก็ควรจะทำงานได้ตามปกติเช่นกัน.

ถอนการติดตั้ง Service

  1. เปิด command prompt ขึ้นมา
  2. ปิดหน้าต่าง Services ถ้าหากเปิดทิ้งไว้
  3. ปกติแล้ว NSSM เมื่อพิมพ์คำสั่ง remove แล้วมันจะหยุดการทำงานของ service ให้ก่อน แต่ในบางกรณีก็ไม่ยอมหยุด ดังนั้นเพื่อความแน่นอนเราพิมพ์คำสั่งหยุดการทำงาน service ก่อนครับ
    พิมพ์ sc stop "MyServiceName" ถือเป็นอันหยุดการทำงาน service ที่ระบุ โดย MyServiceName คือชื่อ Service ที่คุณกำหนดเองตอนสร้างไว้นะครับ
  4. ตามด้วย nssm remove "MyServiceName" โดยจะขึ้นหน้าต่างถามยืนยันอีกครั้ง ให้กด Yes และเมื่อกดแล้วอาจพบข้อความแจ้งอะไรสักอย่างแต่ไม่ต้องกังวลเพราะทำสำเร็จแล้ว
  5. เปิดหน้าต่าง Services ใหม่จะไม่พบ service ที่เคยถูกติดตั้งลงไปแล้ว

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *

คุณอาจใช้แท็กHTMLและแอททริบิวต์เหล่านี้: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>