运行良好的 AWS ElasticBeanStalk python 27 应用程序中的错误

Posted

技术标签:

【中文标题】运行良好的 AWS ElasticBeanStalk python 27 应用程序中的错误【英文标题】:Error in AWS ElasticBeanStalk python 27 application that was running fine 【发布时间】:2016-03-14 10:14:01 【问题描述】:

我有一个 py27 应用程序在 aws ElasticBeanStalk 上运行了一年多。最近它停止工作了。所以我尝试重新部署。在重新部署期间,我在日志中收到以下错误:

返回码:1 输出:[CMD-AppDeploy/AppDeployStage0/AppDeployPreHook/03deploy.py] 命令失败,错误代码为 1: /opt/elasticbeanstalk/hooks/appdeploy/pre/03deploy.py /opt/python/run/venv/bin/python27 中的新 python 可执行文件 不覆盖现有的 python 脚本 /opt/python/run/venv/bin/python (你必须使用 /opt/python/run/venv/bin/python27)

谁能告诉我在哪里可以找到 /opt/python/run/venv/bin/python?我怎样才能将其更改为 /opt/python/run/venv/bin/python27?

谢谢

【问题讨论】:

【参考方案1】:

重新部署时,您选择了最新的 beanstalk 版本,该版本使用的 AMI 与最初使用的不同。如果您熟悉 ebextensions 的概念,那么您可能希望添加这样的文件:

.ebextensions/python.config:ln -s /opt/python/run/venv/bin/python27 /opt/python/run/venv/bin/python

【讨论】:

谢谢。我去看看。 Tal,我在我的应用程序根目录创建了一个文件夹 .ebextensions 并添加了文件 python.config,其中包含以下行: map: ln -s /opt/python/run/venv/bin/python27 /opt/python/run/venv/bin/python 我部署了应用程序,但仍然出现错误:命令失败,错误代码 1:/opt/elasticbeanstalk/hooks/appdeploy/pre/03deploy.py /opt/python 中的新 python 可执行文件/run/venv/bin/python27 不覆盖现有的 python 脚本 /opt/python/run/venv/bin/python(你必须使用 /opt/python/run/venv/bin/python27) 我继续调查将不胜感激尝试的东西。谢谢。 你提交了文件吗?还要检查日志以查看这是在部署时执行的 塔尔,谢谢。我曾尝试“更新”一个损坏的应用程序,而不是创建新的 ebs 应用程序,所以 python.config 可能被忽略了。现在我用上面的 python.config 创建了一个新的 ebs 应用程序。错误消息已更改,因此看起来像是已阅读。我在下面附上了错误消息和我的 requirements.txt。如果您能想到要尝试的事情,请告诉我。感谢您的帮助。 requirement.txtFlask==0.10.1 Jinja2==2.7.3 MarkupSafe==0.23 Werkzeug==0.9.6 boto==2.32.1 bson==0.3.3 itsdangerous==0.24 py= =1.4.23 pytest==2.6.1 pytz==2014.4 requests==2.3.0 wsgiref==0.1.2

以上是关于运行良好的 AWS ElasticBeanStalk python 27 应用程序中的错误的主要内容,如果未能解决你的问题,请参考以下文章

AWS Elastic Beanstalk 状态严重但没有原因并且运行良好

运行良好的 AWS ElasticBeanStalk python 27 应用程序中的错误

ELK 在 AWS 上的良好设置

有时,我的 AWS lambda 函数没有使用调用异步运行

“AWS RDS 数据库错误:ER_NO_SUCH_TABLE:表不存在”-但相同的架构在本地 mysql/Nodejs 上运行良好

如何调试在 AWS EC2 中运行的 Django 应用程序