#!/bin/bash #chkconfig: 2345 80 90 #description:start node SERVICE_NAME=node PATH_TO_NODE=/var/www/server/ PID_PATH_NAME=/var/run/$SERVICE_NAME.pid case $1 in start) echo "Starting $SERVICE_NAME ..." if [ ! -f $PID_PATH_NAME ]; then curl -sL https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh| bash export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" nvm install v17 cd $PATH_TO_NODE npm install && npm run start echo "$SERVICE_NAME started ..." else echo "$SERVICE_NAME is already running ..." fi ;; stop) if [ -f $PID_PATH_NAME ]; then PID=$(cat $PID_PATH_NAME); echo "$SERVICE_NAME stoping ..." kill $PID; echo "$SERVICE_NAME stopped ..." rm $PID_PATH_NAME else echo "$SERVICE_NAME is not running ..." fi ;; restart) if [ -f $PID_PATH_NAME ]; then PID=$(cat $PID_PATH_NAME); echo "$SERVICE_NAME stopping ..."; kill $PID; echo "$SERVICE_NAME stopped ..."; rm $PID_PATH_NAME echo "$SERVICE_NAME starting ..." curl -sL https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh| bash export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" nvm install v17 cd $PATH_TO_NODE npm install && npm run start echo "$SERVICE_NAME started ..." else echo "$SERVICE_NAME is not running ..." fi ;; esac