在16.04上添加启动服务

在16.04上添加启动服务

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

并使用永久包装在 ubuntu 中后台运行

现在我想为 ubuntu 添加一个启动服务但我搜索没有结果。

我创建了一个test.conf名为/etc/init.d

测试.conf:

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

答案1

最简单的用法是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/forever是我的node模块保存的位置,你的模块会有所不同。使用which forever

附加信息:

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

答案2

我使用“forever service-systemd”,因为我的 ubuntu 是 16.04

首次使用:包-->永远并检查此页面:

如果是新贵:https://github.com/zapty/forever-service

如果是 systemd :https://www.npmjs.com/package/service-systemd

相关内容