добавить службу запуска на 16.04

10

мне нужно запустить проект "узел 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для этого.
Джордж Удосен
Вы будете использоватьmysql
Джордж Удосен
@ Джордж Есть обучение в этой теме?
Хесам Пургазян
На какую тему вы ссылаетесь, настроили ли вы foreverи просто хотите запустить ее в сервисе Ubuntu?
Джордж Удосен
@ Джордж да ...
Хесам Пурхазян

Ответы:

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"
Хесам Пургазян
@ david6 да, спасибо,
обновлю