Node.js を動かし続けるため、Forever を使ってみてダメだったので、nohup node にしてみた!

cron に1分おきでサイトを確認して落ちたらForeverで再起動してみたが、大量のNodeプロセスが残されたため、メモリ足りなくなってサーバ自体が落ちた><
だから、下記のように変えてみた。

sudo crontab -e で下記の一行を追加

0-59/1 * * * *   /bin/bash /home/username/site_3000_alive.sh

site_3000_alive.sh 
--------------------------
#!/bin/bash

#================================================================
# check web server
#
# wget option
# -nv : no verbose 
# -S  : print server response
# -t  : tries number 
# -T  : timeout seconds
# --spider             : don't download anything.
# --http-user=USER     : set http user to USER.
# --http-password=PASS : set http password to PASS.
#
# grep option
# -c : only print a count of matching lines per FILE
#================================================================

# parameter
URL="http://win.site.net:3000"
TRY=1
TIMEOUT=60

# check
check=`/usr/bin/wget -nv -S --spider -t $TRY -T $TIMEOUT $URL 2>&1| /bin/grep -c "200 OK"`

if [ $check -lt 1 ]
then
/usr/bin/nohup /usr/local/bin/node /home/username/node/node-memo-demo/app.js > nodememo.log &
fi

コメント

人気の投稿