永远运行nodejs

时间:2011-10-04 07:24:14

标签: shell node.js

使用nodejs运行http服务器。我也希望服务器永远运行,即使我的机器重新启动,我希望节点在重新启动时再次运行。所以我创建了一个脚本来放入

/etc/init.d/

这是脚本

#! /bin/sh -e
set -e
PATH=/usr/local/bin/node:/bin:/usr/bin:/sbin:/usr/sbin
DAEMON=/opt/node-v0.4.7/examples/app.js
case "$1" in
start) forever start $DAEMON ;;
stop) forever stop $DAEMON ;;
force-reload|restart)
forever restart $DAEMON ;;
*) echo "Usage: /etc/init.d/node {start|stop|restart|force-reload}"
exit 1 ;;
esac
exit 0

然而,当我跑

/etc/init.d/node 

我一直得到同样的错误说

  

/etc/init.d/node:13:语法错误:单词意外(期待“)”)

你能看到错误吗?我确定这可能是一些简单的语法错误,但它有点晚了,我真的很累。 谢谢你的帮助

2 个答案:

答案 0 :(得分:3)

我改变了shebang:

#! /bin/sh -e

要:

#! /bin/bash

现在这个脚本适合我。

答案 1 :(得分:0)

您可以在Ubuntu中创建upstart服务(如果您使用它) 在/ etc / init中创建myapp.conf并编写如下内容:

start on startup
respawn
exec node /path/to/your/script.js

然后您的应用将在重启后启动,您可以通过启动和停止命令进行管理 并查看forever node.js module