在 .sh 脚本中使用 "npm start" 作为永远的命令
Use "npm start" as command to forever in .sh script
我的 /etc/init-d/forever
中有一个 .sh
脚本来配置 forever
如何启动和停止我的 Node.js 应用程序。
我想用命令 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=$?
}
所以我找到了答案。
--sourceDir
和 "npm start"
命令后的路径参数(如有必要):
sudo forever --sourceDir /home/my-app -c "npm start" /
下面的命令运行永远在后台运行的永久命令。
forever start -c "ng serve " ./
注意 ./
那你可以
forever list
并且将能够看到日志文件的状态和位置。
info: Forever processes running
data: uid command script forever pid id logfile uptime
data: [0] wOj1 ng serve 29500 24978 /home/user/.forever/wOj1.log 0:0:25:23.326
我的 /etc/init-d/forever
中有一个 .sh
脚本来配置 forever
如何启动和停止我的 Node.js 应用程序。
我想用命令 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=$?
}
所以我找到了答案。
--sourceDir
和 "npm start"
命令后的路径参数(如有必要):
sudo forever --sourceDir /home/my-app -c "npm start" /
下面的命令运行永远在后台运行的永久命令。
forever start -c "ng serve " ./
注意 ./
那你可以
forever list
并且将能够看到日志文件的状态和位置。
info: Forever processes running
data: uid command script forever pid id logfile uptime
data: [0] wOj1 ng serve 29500 24978 /home/user/.forever/wOj1.log 0:0:25:23.326