问题标签 [ebextensions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
104 浏览

python - 如果我的部署后需要很长时间,我如何防止我的 Elastic Beanstalk 应用程序显示为不正常?

我我的.ebextensions/00.command.config,我有:

download.py中,我有一些代码可以下载大量文件(大约 20GB)。这需要时间,我希望在 Elastic Beanstalk 尝试启动我的应用程序之前完成。但是在 中/var/log/web.stdout.log,我看到:

Loading generator是我在我的application.py. 这是一个flask应用程序,如果这很重要的话。下载时似乎多次尝试重新启动应用程序。

我该怎么做才能先完成download.py,然后尝试启动应用程序?

0 投票
1 回答
914 浏览

laravel - 即使在 .ebextensions 配置文件中设置了权限,Laravel 在 ElasticBeanstalk 上的“日志文件权限被拒绝”错误也会不断出现

我正在将我的 Laravel 应用程序部署到 ElasticBeanstalk 环境中。但是我遇到了 laravel.log 文件权限的问题。

我使用“eb deploy”命令部署了我的应用程序。部署后,我访问我的应用程序。但它抛出以下错误。

为了解决这个问题,我 ssh 进入服务器并运行以下命令。

问题已经解决了。现在我的应用程序正在运行。但是我再次运行“部署”命令部署我的应用程序。部署后,问题又出现了。以一致的方式解决问题。我尝试在 .ebextensions 配置文件中运行命令,如下所示。

我可以部署我的应用程序。但问题仍然存在。该命令似乎不起作用。我的配置有什么问题,我该如何解决?

0 投票
1 回答
459 浏览

laravel - 通过 ebextentions 设置 laravel 存储目录权限

我正在研究弹性豆茎扩展。每次部署都会发生存储权限被拒绝错误,我必须键入命令来解决该错误。下面的代码(.extensions/chmod.config)是否防止错误发生?

0 投票
1 回答
316 浏览

amazon-web-services - 检查哪些 ebextensions 已运行

我在 Amazon Elastic Beanstalk 中有一个环境被证明是有问题的。我正在尝试检查哪些 ebextensions 已运行,因为奇怪的是我看到创建了 logrotate conf 文件,但内容不是我所写的。

有谁知道我可以在哪个日志文件中找到该信息?我已经尝试过 /var/log/eb-engine.log 但这似乎与运行 ebextensions 没有任何关系。文档中提到了 eb-activity 和 eb-commandprocessor,但它们在实例中不存在。

平台:在 64 位 Amazon Linux 2/3.0.3 上运行的 Ruby 2.6

0 投票
3 回答
5740 浏览

amazon-elastic-beanstalk - 如何将 chmod +x 权限添加到 AWS Elastic Beanstalk 平台挂钩?

语境

我正在使用 Elastic Beanstalk 部署一个非常简单的测试应用程序。我有几个要使用 apt 安装的软件包。我01_installations.sh在目录中包含了一个安装脚本.platform/hooks/prebuild。当我压缩我的应用程序并部署到 Elastic Beanstalk 时,日志确认预构建脚本运行,但它没有权限。

问题

我的理解是权限被拒绝,因为我没有添加chmod +x使 .sh 文件可执行。正如有关平台挂钩的 AWS 文档所述:“使用 chmod +x 设置挂钩文件的执行权限。” (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/platforms-linux-extend.html)。我的问题是:我该怎么做?

我只是将 .sh 文件放在一个目录中。我不会从其他任何地方调用它。我缺少一个简单的步骤吗?AWS 文档让它看起来应该很简单。

以前的尝试

我尝试过的事情:

  1. 添加 .ebextensions
    • 尝试:使用以下命令在目录中创建一个.config文件,该文件应以 chmod +x 权限执行 .sh 文件。.ebextensions
    • 结果:出现同样的错误。Elastic Beanstalk 日志根本不表示.config已处理。
  1. 更改 .sh 文件的名称
    • 尝试:按照 AWS 用户的建议将 .sh 文件命名为“chmod +x 01_installations.sh”(下面的论坛链接)。删除 .ebextensions
    • 结果:出现同样的错误。

我在这里回顾了这些想法,但它们实际上都没有包含足够完整的示例来遵循:

0 投票
2 回答
1224 浏览

amazon-web-services - 使用 EB 扩展在 Amazon Linux 2 上运行包安装命令

我正在使用 Amazon Linux 2 EC2 实例在 Elastic Beanstalk 上运行 ASP.NET Core 3.1 应用程序。我需要我的应用程序能够生成 QR 码,为此我正在使用 QRCoder 库。它可以在我的 Windows 机器上开箱即用,但要让它在 Amazon Linux 2 机器上运行,我必须通过 SSH 运行以下命令:

运行这些命令后,还需要重新启动 EB 应用程序服务器才能生成图像。

我尝试通过.ebextensions/install_gdi.config在我的应用程序 repo 根目录中创建具有以下内容的文件来编写脚本:

我重建了我的 Beanstalk 环境以重新部署新的 EC2 实例版本,并且似乎 EB 扩展配置文件没有做任何事情。在我通过 SSH 连接并在 EC2 实例上手动运行这些命令之前,仍然无法生成图像。

我读到有其他方法可以为 Amazon Linux 2 自动配置实例,但我无法找到好的示例来探索诸如预部署钩子和 Buildfile 之类的东西,而且似乎 EB 扩展是这项工作的正确工具案子。

我的应用程序使用与 GitHub 存储库挂钩的 AWS CodePipeline 部署到 Elastic Beanstalk。

0 投票
2 回答
1113 浏览

php - 在 Amazon Linux 上安装 memcached

我正在尝试memcached在 Amazon Linux EC2 实例上使用 PHP。在我的 PHP 脚本中,当我调用$mc = new Memcached();以下错误时,会引发以下错误/var/log/php-fpm/www-error.log

调用php -m我没有看到memcached列出,我认为这意味着它没有安装。

所以,首先我尝试:

以及/etc/php.ini要包含的编辑

如此处所述但没有运气。

所以接下来,我尝试了 AWS 支持在此处为 Amazon Linux EC2 v1 概述的建议。通过查看cfn-init-cmd.log,该软件包libmemcached已成功安装,但是,该脚本在尝试安装时失败,memcached因为它无法/use/bin/pecl7按照命令找到01_install_memcached。作为参考,我的完整脚本.ebextensions/memcache.config是:

关于如何解决的任何想法?

0 投票
1 回答
363 浏览

apache2 - 在 Elastic Beanstalk 上部署 Directus

我从github克隆了 Directus 8 。我在本地服务器上运行它。它运行良好,没有任何问题。

然后我将代码上传到 AWS Elastic Beanstalk(PHP、apache)。但它显示 500 内部服务器错误。

错误日志:/var/www/html/directus/public/.htaccess: <IfModule not allowed here

我将.ebextensions/setup.config文件添加到我的根文件夹中,如下所示

但我的 Beanstalk 说Unsuccessful command execution on instance id(s) 'i-0f6...'. Aborting the operation.并进入了降级状态。

如何解决这个问题?

0 投票
1 回答
880 浏览

amazon-web-services - 为什么我不能在 Elastic Beanstalk 上编写带有 .ebextensions 的文件?

我无法在 /etc/httpd/conf.d/elasticbeanstalk 中编写带有 .ebextensions 的文件。我需要编写一个 vhost.conf 来添加子域。我在我尝试了很多方法:用“files:...”写文件

然后我尝试将此文件写入临时目录并使用命令将其复制到 /etc/httpd/conf.d/elasticbeanstalk

也不工作。所以我用 SSH 检查了一些关于 ec2 实例的信息。该文件在 /home/ec2-user 中创建,但不在 apache 文件夹中。我究竟做错了什么 ?如果没有 chmod 目录 (SSH),我无法在 /etc/httpd/conf.d/elasticbeanstalk 中创建文件。

我在 64 位 Amazon Linux 2/3.1.1 上运行的 PHP 7.4(代理 apache 不是 nginx),我有完全相同的目录 .ebextension 与其他应用程序的另一个实例上的相同文件,但在 64 位 Amazon Linux 上运行的 PHP 7.2 /2.9.10,它正在处理这个!这两个环境有什么区别?

编辑:我在日志中没有错误,所有命令都已执行!

感谢您的任何帮助 !

0 投票
0 回答
238 浏览

laravel - ebextensions 在 AWS Elasticbeanstalk 中不起作用

在 elasticbeanstalk 中部署时,我试图通过 ebextension 文件执行脚本。

日志说脚本执行正常,但似乎没有应用。

该脚本的确切内容是一个通过 cloudwatch 代理将日志从 laravel 发送到 cloudwatch 的脚本。

下面是脚本的内容和脚本正常执行的日志。

ebextention_file.config

cfn-init.log:

部署后是不可能的,

因此,如果我直接使用 ssh 连接到每个实例并执行 01 命令和 02 命令,通常会在 cloudwatch 中输入日志。

我不知道这是什么

部署策略:滚动附加批次

滚动更新类型:基于健康滚动

还有什么我应该检查的