【发布时间】:2017-08-02 03:50:03
【问题描述】:
我的/etc/init-d/forever 中有一个.sh 脚本来配置forever 如何启动和停止我的Node.js 应用程序。
我想用命令npm start 启动forever,这样我就可以从那里触发我的脚本。这可能吗?
我试过了
sudo forever start --sourceDir /home/my-app -c npm start
但它的解释是错误的......
信息:永远处理文件:开始
错误:无法永远启动
错误:脚本 /root/start 不存在。
到目前为止,我的脚本是:
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 start"之后的应用程序目录路径,但不确定,请检查:github.com/foreverjs/forever/issues/540 -
@AntonioVal 我已经看到该解决方案但失败了。但是现在发现怎么做!也感谢您关注这个!