如何在 AWS EC2 弹性 beantalk 中使用命令

Posted

技术标签:

【中文标题】如何在 AWS EC2 弹性 beantalk 中使用命令【英文标题】:How to use commands in AWS EC2 elastic beanstalk 【发布时间】:2017-09-03 02:45:13 【问题描述】:

我正在尝试解决我在弹性 beanstalk tomcat 中上传到 AWS 的程序的问题。我发现有人似乎遇到了类似的问题,但我找不到我在哪里执行他们的解决方案。

AWS EC2 tomcat permission denied creating/writing to file

答案说我应该使用以下命令:

    chmod o+x /home
    chmod o+x /home/ec2-user

我想看看这是否能解决我的问题,但是我到处寻找,并没有找到关于我实际放置这些命令的位置的信息。

【问题讨论】:

【参考方案1】:

如果您手动运行这些命令,您的问题是否得到解决? (即eb ssh 进入您的实例,然后sudo chmod o+x /home 然后sudo chmod o+x /home/ec2-user

如果是这样,您可以使用 EB 扩展文件自动运行这些命令。文档是 here,但它看起来像这样:

.ebextensions/01-fix-permissions.config

commands:
  fix_home_permissions:
    command: "chmod o+x /home"
  fix_ec2user_permissions:
    command: "chmod o+x /home/ec2-user"

【讨论】:

在阅读了更多文档后,我了解了一种设置和包含这些命令的方法。在 Eclipse 的我的 maven 项目中添加一个名为 .ebextensions 的文件夹。创建一个 .config 文件并将其放在此文件夹中。运行 maven install 以获取 .war 文件,然后使用新文件更新我的 AWS Web 应用程序。 是的,如果你创建 .ebextensions/01-fix-permissions.config 然后部署你的 WAR,它应该会做你想做的事。 我尝试按照我之前的描述上传我的战争文件,但仍然遇到同样的错误。 .war 不包括这些更改吗?我是否需要创建一个 .zip 来包含它们? 更新:尝试作为 .zip 并且也有同样的错误 如果您手动运行chmod 命令,您原来的问题会消失吗?如果是这样,请发布您的/var/log/eb-activity.log

以上是关于如何在 AWS EC2 弹性 beantalk 中使用命令的主要内容,如果未能解决你的问题,请参考以下文章

没有密钥对的SSH aws ec2弹性beantalk

我们可以将两种不同类型的 AWS EC2 实例与弹性 beantalk 负载均衡器一起使用吗

如何将自签名证书分配给 AWS 弹性 beantalk 应用程序

在 AWS 弹性 beantalk 上部署 Flask 应用程序

在弹性 beantalk 上构建战争文件时从 AWS S3 复制文件

如何使用 https 在弹性 beantalk 中配置单个 ec2 实例