我有一个terraform文件,该文件创建ec2实例并在实例内部运行bash脚本以启动服务器。我在bash脚本末尾用来启动服务器的命令是:
nohup pm2 start app.config.js &
当我登录到实例时,我看到对于最后一行,整个srcipt已成功运行。请注意,如果我手动键入命令,它将起作用。
不确定该命令为什么失败。任何想法表示赞赏。
((有关脚本的其他信息)
# install pm2
sudo npm install -g pm2
# build
sudo npm install
echo "STARTING THE SERVER"
nohup pm2 start app.config.js &
echo $?
这将返回日志:
aws_instance.web[0] (remote-exec): STARTING THE SERVER
aws_instance.web[0] (remote-exec): 0
aws_instance.web[0]: Creation complete after 2m29s [id=i-0c7d7475475149c71]
您还需要重定向输出
nohup pm2 start app.config.js &> some_log_file &
&>-表示所有类型的输出