1

我目前正在努力构建一个启动我的网络应用程序的脚本。

我想使用foreverjs,因为我已经用它启动了我的后端。我的 json 文件将由 foreverjs 执行,如下所示:

[
 { 
   "uid": "my_backend",
   "append": true,   
   "script": "app.js",
   "sourceDir": "/path/to/backend/"
 },
 {
   "uid": "my_frontend",
   "append": true,
   "script": "???",
   "command": "gulp dist && gulp production"
   "sourceDir": "/path/to/frontend/"
 }
]

我不太确定我应该在前端使用什么。我需要使用 gulp,所以我假设我必须在“命令”中添加它。但是,我的脚本需要为空,这在foreverjs 中是不允许的。关于如何通过 foreverjs 运行 gulp 的任何建议?

4

1 回答 1

0

我自己解决了这个问题,对我的 init.d 使用以下脚本:

WORKINGDIR=/usr/local/app/my/app
SCRIPT='/usr/local/app/my/app/node_modules/gulp/bin/gulp.js production'
LOG=/usr/local/app/my/app/log
PID=/root/.forever/pids/myapp.pid
FOREVER=/usr/local/node/node-default/bin/forever
UID_APP='myapp'
case "$1" in
    start)
        $FOREVER start --workingDir $WORKINGDIR --uid $UID_APP  -l $LOG/forever.log -o $LOG/forever_out.log -e $LOG/forever_err.log --pidFile $PID -a $SCRIPT
        ;;
    stop)
        $FOREVER stop $UID_APP --pidFile $PID
        ;;
    stopall)
        $FOREVER stopall --pidFile $PID
        ;;
    restartall)
        $FOREVER restartall --pidFile $PID
        ;;
    reload|restart)
        $FOREVER restart -l $LOG/forever.log -o $LOG/forever_out.log -e $LOG/forever_err.log --pidFile $PID -a $SCRIPT
        ;;
    list)
        $FOREVER list
        ;;
    logs)
        $FOREVER logs
        ;;
        *)
            echo "Usage: /etc/init.d/myservice {start|stop|restart|reload|stopall|restartall|list}"
            exit 1
            ;;
    esac
    exit 0

基本上使用 /path/to/forever start --workingDir ' mydir ' /path/to/gulp [ gulpTask ] 有效。

于 2016-02-22T23:58:15.140 回答