使用“npm start”作为永远在.sh脚本中的命令

时间:2017-03-11 22:34:04

标签: node.js ubuntu forever

我的.sh中有一个/etc/init-d/forever脚本,用于配置forever如何启动和停止我的Node.js应用。

我想用命令forever启动npm start,所以我可以从那里触发我的脚本。这可能吗?

我试过

sudo forever start --sourceDir /home/my-app -c npm start 

但它的解释错误......

  

info:永远处理文件:开始
  错误:无法永远开始
  错误:脚本/ 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=$?
}

2 个答案:

答案 0 :(得分:5)

所以我找到了答案 必要时["AAPL","GOOG","MSFT","XOM","BRK-A","FB","JNJ","GE","AMZN","WFC"]--sourceDir命令之后的路径参数:

"npm start"

答案 1 :(得分:0)

以下命令在后台运行forever命令,永远登录。

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