เพิ่มบริการเริ่มต้นใน 16.04


10

ฉันต้องการเรียกใช้โครงการ "node js" ใน 16.4 อย่างถาวร

และใช้แพ็คเกจถาวรเพื่อทำงานในพื้นหลังใน Ubuntu

ตอนนี้ฉันต้องการเพิ่มบริการเริ่มต้นสำหรับ Ubuntu แต่ฉันค้นหาไม่มีผลลัพธ์

ฉันได้สร้างไฟล์ที่เรียกว่าtest.confการ/etc/init.d

test.conf:

start on startup
exec forever start /root/node/node_modules/.bin/www

คุณจะต้องใช้systemd serviceสำหรับสิ่งนี้
George Udosen

คุณจะใช้mysql
ไหม

@George มีการฝึกอบรมในหัวข้อนี้หรือไม่?
Hesam Pourghazian

คุณหมายถึงหัวข้อใดคุณตั้งค่าforeverและต้องการวิธีเรียกใช้ในบริการ Ubuntu หรือไม่
George Udosen

@ George ใช่ ...
Hesam Pourghazian

คำตอบ:


13

ในการใช้งานที่ง่ายที่สุดsystemd service:

  1. ติดตั้งforever:

    [sudo] npm install forever -g
    
  2. เขียนและเก็บสคริปต์เพื่อให้ทำงานในตำแหน่งที่ต้องการ

  3. เขียนSystemd service:

    [Unit]
    Description=forever service
    After=network.target
    
    
    [Service]
    ExecStart=/home/george/.npm-global/bin/forever start /root/node/node_modules/.bin/www
    ExecStop=/home/george/.npm-global/bin/forever stop /root/node/node_modules/.bin/www
    Restart=always
    RestartSec=10                       # Restart service after 10 seconds if node service crashes
    StandardOutput=syslog               # Output to syslog
    StandardError=syslog                # Output to syslog
    SyslogIdentifier=nodejs-example
    
    
    [Install]
    WantedBy=multi-user.target
    
  4. บันทึกsystemd serviceไฟล์/etc/systemd/systemเป็นmyforever.service(หรือด้วยชื่ออะไรก็ได้ที่คุณชอบ)

  5. เริ่มบริการและเปิดใช้งานเมื่อเริ่มต้น

    sudo systemctl start myforever.service
    sudo systemctl enable myforever.service
    
  6. ตรวจสอบว่ามันทำงานอยู่:

    sudo systemctl status myforever.service
    
  7. วิธีหยุดและปิดการใช้งานเมื่อใดก็ได้:

    sudo systemctl stop myforever.service
    sudo systemctl disable myforever.service
    

บันทึก:

  1. นี่เป็นเวอร์ชั่นที่เรียบง่ายของsystemd serviceตัวเลือกมากมายที่มีอยู่
  2. สามารถเรียกใช้บริการได้myforeverโดยไม่ต้อง.serviceต่อนามสกุลsystemdจะเลือกไฟล์ที่ถูกต้อง
  3. นี่/home/george/.npm-global/bin/foreverคือที่nodeเก็บโมดูลของฉันคุณจะแตกต่างกัน ค้นหาด้วยwhich forever

ข้อมูลเพิ่มเติม:

https://www.axllent.org/docs/view/nodejs-service-with-systemd/


ในที่สุดฉันใช้แพ็คเกจ "service-systemd"
Hesam Pourghazian

@ david6 ใช่แล้วขอบคุณจะได้รับการอัปเดต
George Udosen

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.