下面以 node.js 应用的自启动为例介绍自启动服务脚本的编写。
假设目录 /root 下有一 Node.js 文件 deamon.js 需要设置为开机自启动。那么首先在目录 /etc/init.d 下建立一个名为 deamon 的文件,如下面所示。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| #!/bin/sh
DEAMON=/root/deamon.js LOG=/var/log/deamon.log PID=/var/run/deamon.pid export PATH=$PATH:/usr/local/bin export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules
node=node
case "$1" in start) forever start -l $LOG --pidFile $PID -a $DEAMON ;; stop) forever stop --pidFile $PID $DEAMON ;; restart) forever restart -l $LOG --pidFile $PID -a $DEAMON ;; *) echo "Usage: /etc.init.d/node {start|stop|restart}" exit 1 ;; esac
|
记得使用命令 chmod 755 deamon 修改该文件的权限。上面的启动文件建立后,还没完,你还需要添加开机启动项。
1
| $ sudo update-rc.d deamon defaults
|
当然如果你想移除已添加的启动项,可以使用下面的命令。
1
| $ sudo update-rc.d -f deamon remove
|
注意上面启动文件中的 export 语句不可缺少,否则开机启动文件的执行过程中,会由于找不到相关可执行文件而报错。