我最近将一些重大的代码更改推送到我的临时环境,并尝试将其部署到我的 ElasticBeanstalk 环境,但失败了,我不知道导致错误的原因是什么,因为这是由于部署超时造成的。我尝试在 20 分钟的超时时间内运行部署,但仍然面临同样的问题,这让我相信除了部署需要更多时间运行之外,还存在其他问题。
这是我第一次遇到此问题,我似乎无法从用户界面访问日志,因为部署尝试时留下了一个可能已损坏的版本,当我运行 pull logs 时,它会超时。代码更改在我的本地主机上运行没有问题,但有一些迁移脚本需要运行。
我猜测有两个地方可能与超时问题有关,但我没有证据支持这一点,只是知道这些地方可能会影响服务器。
1)我的内存是否超出了此环境的存储空间?
EC2 Instance Type: t2.micro
2)ebextension 是否可能是导致超时的一个因素,或者如果发生错误,它会停止服务器并呈现错误日志吗?
这是我的 ebextensions:
00_nginx_https_rw.配置:
files:
"/tmp/45_nginx_https_rw.sh":
owner: root
group: root
mode: "000644"
content: |
#! /bin/bash
CONFIGURED=`grep -c "return 301 https" /etc/nginx/conf.d/00_elastic_beanstalk_proxy.conf`
if [ $CONFIGURED = 0 ]
then
sed -i '/listen 8080;/a \ if ($http_x_forwarded_proto = "http") { return 301 https://$host$request_uri; }\n' /etc/nginx/conf.d/00_elastic_beanstalk_proxy.conf
logger -t nginx_rw "https rewrite rules added"
exit 0
else
logger -t nginx_rw "https rewrite rules already set"
exit 0
fi
container_commands:
00_appdeploy_rewrite_hook:
command: cp -v /tmp/45_nginx_https_rw.sh /opt/elasticbeanstalk/hooks/appdeploy/enact
01_configdeploy_rewrite_hook:
command: cp -v /tmp/45_nginx_https_rw.sh /opt/elasticbeanstalk/hooks/configdeploy/enact
02_rewrite_hook_perms:
command: chmod 755 /opt/elasticbeanstalk/hooks/appdeploy/enact/45_nginx_https_rw.sh /opt/elasticbeanstalk/hooks/configdeploy/enact/45_nginx_https_rw.sh
03_rewrite_hook_ownership:
command: chown root:users /opt/elasticbeanstalk/hooks/appdeploy/enact/45_nginx_https_rw.sh /opt/elasticbeanstalk/hooks/configdeploy/enact/45_nginx_https_rw.sh
01_sequelize_db_migration.config:
container_commands:
00_node_binary:
command: "sudo ln -sf `ls -td /opt/elasticbeanstalk/node-install/node-* | head -1`/bin/node /bin/node"
00_npm_binary:
command: "sudo ln -sf `ls -td /opt/elasticbeanstalk/node-install/node-* | head -1`/bin/npm /bin/npm"
50_migrations:
command: "./node_modules/.bin/sequelize db:migrate"
leader_only: true