Debian下设置Linux Shell脚本开机自动启动Node.JS进程


发布者 ourjs  发布时间 1492478150457
关键字 JS学习  JavaScript 
Debian下设置Shell脚本开机自动启动


1) 进入init.d初始化脚本目录

#切换到root用户
sudo -s
cd /etc/init.d
2) 创建启动Shell脚本,安装nano: apt-get install nano

nano /etc/init.d/footbar

3) 编写Node.JS启动脚本,以OnceDoc启动脚本为例

#! /bin/sh

### BEGIN INIT INFO
# Provides: OnceDoc
# Required-Start: $network $remote_fs $local_fs
# Required-Stop: $network $remote_fs $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start and stop node
# Description: OnceDoc
### END INIT INFO

WEB_DIR='/var/www/oncedoc'
WEB_APP='svr/service.js'

#location of node you want to use
NODE_EXE=/usr/local/bin/node

start()
{
    echo "Start OnceDoc"
    #important! change current folder, in order to make the relative path work.
    cd $WEB_DIR
    #make sure it will running forever and error will be logged
    $NODE_EXE $WEB_DIR/$WEB_APP svr/oncedoc.js config.guoxiehui.js &
}

stop()
{
    echo "This program cann't be stopped"
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        #start
        ;;
    *)
        echo "Usage: /etc/init.d/ourjs {start|stop|restart}"
        ;;
esac

exit 0

4) 设置文件为可执行脚本

chmod 755 /etc/init.d/foobar

5) 设置脚本开机时启动

update-rc.d foobar defaults

7) 设置脚本开机时不启动[可选]

update-rc.d -f foobar remove

8) 重启测试

reboot









 热门文章 - 分享最多
  1. JavaScript使用ES6的Class面向对象继承时 this is not defined 解决方法
  2. Github Pages疑似被封: 再也不能用Pages搭建个人博客了
  3. JavaScript条形码生成和扫码识别(Barcode scan)开源库
  4. 关于华为优化30、40老员工的争议
  5. TCP/UDP协议比较:在Node.JS中UDP服务器和客户端通信示例
  6. OnceVI前后端分离的数据可视化报表工具简介
  7. 2016 年崛起的 JS 项目
  8. 如何基于SVG矢量图制作一个可填写信息的可视化表单-OnceVI
  9. Node.JS通过原型和类继承EventEmitter,实现收发事件的几种方法
  10. 周鸿祎:一些程序员没有商业意识,却又很自负,一看就知道不会创业

 相关阅读
  1. Node.JS通过原型和类继承EventEmitter,实现收发事件的几种方法
  2. 可视化Web报表OnceVI中用户输入表单验证与提交
  3. Web报表OnceVI如何制作条形码与打印二维码(Barcode/Qrcode)
  4. 如何基于SVG矢量图制作一个可填写信息的可视化表单-OnceVI
  5. OnceVI报表制作入门—如何将用户的json数据可视化成名片展示
  6. OnceDB支持全文搜索和关系查询的Redis内存数据库:驱动安装及使用教程
  7. 在OnceIO(Node.JS)中用Redis储存Session
  8. OnceIO的模块拦截与注入:模板文件路由重定向与Model数据改写
  9. OnceIO模块开发:模块注册、模块路由、静态文件重定向以及如何开发与设计一个功能扩展模块
  10. 少年,不要滥用箭头函数啊:JS中lambda表达式的优缺点和使用场景

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA