Rik*_*ard 2 ubuntu node.js forever
我有一个.sh脚本/etc/init-d/forever来配置如何forever启动和停止Node.js应用程序。
我想从forever命令开始npm start,所以我可以从那里触发我的脚本。这可能吗?
我试过了
sudo forever start --sourceDir /home/my-app -c npm start
Run Code Online (Sandbox Code Playgroud)
但是它解释错了...
信息:永久处理文件:启动
错误:无法永久启动
错误:脚本/ 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=$?
}
Run Code Online (Sandbox Code Playgroud)
所以我找到了答案。
两者--sourceDir和"npm start"命令后的path参数(如有必要):
sudo forever --sourceDir /home/my-app -c "npm start" /
Run Code Online (Sandbox Code Playgroud)
以下命令在后台运行永久命令并永久登录。
forever start -c "ng serve " ./
Run Code Online (Sandbox Code Playgroud)
请注意 ./
然后你可以
forever list
Run Code Online (Sandbox Code Playgroud)
并且能够看到日志文件的状态和位置。
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5672 次 |
| 最近记录: |