1
私の/etc/init-d/forever
にスクリプトを入れて、forever
がNode.jsアプリケーションを起動および停止する方法を設定しています。.shスクリプトで永遠にコマンドとして "npm start"を使用してください
コマンドnpm start
を使用してforever
を開始したいので、そこからスクリプトをトリガーできます。これは可能ですか?
私は
sudo forever start --sourceDir /home/my-app -c npm start
を試してみましたが、その間違ったこれまでのところ...
info: Forever processing file: start
error: Cannot start forever
error: script /root/start does not exist.
私のスクリプトを解釈しますが次のとおりです。
NAME=nodeapp
SOUREC_DIR=/home/nodeapp
COMMAND="npm start"
SOURCE_NAME=index.js
USER=root
NODE_ENVIROMENT=production
pidfile=/var/run/$NAME.pid
logfile=/var/log/$NAME.log
forever=forever
start() {
export NODE_ENV=$NODE_ENVIROMENT
echo "Starting $NAME node instance : "
touch $logfile
chown $USER $logfile
touch $pidfile
chown $USER $pidfile
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
sudo -H -u $USER $forever start --pidFile $pidfile -l $logfile -a --sourceDir $SOUREC_DIR -c $COMMAND
RETVAL=$?
}
それはあなたが '「NPM開始」'の後のパス、あなたのアプリのディレクトリを必要とすることができますが、確かではありません、確認します。https:// githubの.com/foreverjs/forever/issues/540 –
@AntonioVal私はすでにそのソリューションを見て失敗していました。しかし、今それを行う方法を見つけた!これも見ていただきありがとうございます! – Rikard