これは、RedHat EL 6用のNode.JS Webサーバー起動スクリプトです。
#!/bin/sh
# chkconfig: 345 01 01
# description: DeepFlow startup script
case $1 in
start)
echo "Starting DeepFlow"
cd /home/admin/Desktop/DeepFlow/server
./bin/node js/server.js
;;
stop)
echo "Stopping DeepFlow"
killall node
;;
esac
何らかの理由で、手動で入力したとき
cd /home/admin/Desktop/DeepFlow/server
./bin/node js/server.js
すべて正常に動作しますが、実行service DeepFlow start
するとNode.JSエラーが発生します。
Starting DeepFlow
events.js:71
throw arguments[1]; // Unhandled 'error' event
^
Error: failed to connect to [localhost:27017]
ターミナルでスクリプト行を手動で入力することと、スクリプトを実行することの違いは何service
ですか?