当我尝试使用pm2
启动AWS EC2实例时,会出现奇怪的问题aws ec2 run-instances \
--count ${INSTANCE_COUNT} \
--image-id ${IMAGE_ID} \
--region ${REGION} \
--instance-type ${INSTANCE_TYPE} \
--iam-instance-profile Name=${IAM_ROLE} \
--security-group-ids ${SECURITY_GROUP} \
--key-name ${KEY_NAME} \
--subnet-id ${SUBNET_ID} \
--user-data ${BOOTSTRAP}
其中$ {BOOTSTRAP}是我的文件BOOTSTRAP='file://ec2-bootstrap.sh'
的网址。
问题是它在尝试启动pm2守护程序时挂起了以下行:
pm2 start ${SERVER_HOME}/index.js --ignore-watch="database node_modules" --watch -- -p80
发生这种情况后,处理器负载高达100%,虚拟内存超出其大小。
我能找到的唯一的东西是关于奴隶实例+ stdin
,例如看here或here,但这两篇文章都离解决我的问题太远了。
当我尝试手动运行此命令时,它运行得很好,速度非常快且符合预期,但如果我尝试使用at
运行它,那么就说
echo '<<the command here>> > ~/test.log' | at now + 1 min
问题再现了。它也挂起......
如何解决这个问题?
提前感谢您,任何帮助将不胜感激