запустить nodejs навсегда - PullRequest
       5

запустить nodejs навсегда

1 голос
/ 04 октября 2011

я запускаю http-сервер, используя nodejs. я также хочу, чтобы сервер работал вечно, даже когда моя машина перезагружается, я хочу, чтобы узел снова запускался при перезапуске. поэтому я создал сценарий для вставки

/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 ]

3 голосов
/ 09 марта 2012

Я изменил шебанг с:

#! /bin/sh -e

На:

#! /bin/bash

И теперь этот скрипт работает для меня.

0 голосов
/ 08 октября 2011

Вы можете создать сервис upstart в Ubuntu (если вы его используете).
Создайте myapp.conf в / etc / init и напишите что-то вроде:

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

Затем ваше приложение запустится после перезагрузки, и вы сможете управлять им с помощью команд запуска и остановки.
И посмотрите на модуль навсегда node.js

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...