在16.04上添加启动服务


10

我需要在16.4上永久运行“ node js”项目

并使用永久软件包在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'3

您会用吗mysql
George Udosen

@George有关于这个主题的培训吗?
Hesam Pourghazian

您指的是什么主题,您是否已设置好forever并且仅需要一种在Ubuntu服务中运行它的方法?
乔治·乌德森

@乔治是的……
Hesam Pourghazian

Answers:


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/systemmyforever.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/forevernode保存我的模块的地方,您的模块将有所不同。用找到which forever

附加信息:

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


最后,我使用了“ service-systemd”软件包
Hesam Pourghazian

@ david6是的,谢谢更新
George Udosen

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.