问题标签 [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.
python - 如果我的部署后需要很长时间,我如何防止我的 Elastic Beanstalk 应用程序显示为不正常?
我我的.ebextensions/00.command.config
,我有:
在download.py
中,我有一些代码可以下载大量文件(大约 20GB)。这需要时间,我希望在 Elastic Beanstalk 尝试启动我的应用程序之前完成。但是在 中/var/log/web.stdout.log
,我看到:
Loading generator
是我在我的application.py
. 这是一个flask
应用程序,如果这很重要的话。下载时似乎多次尝试重新启动应用程序。
我该怎么做才能先完成download.py
,然后尝试启动应用程序?
laravel - 即使在 .ebextensions 配置文件中设置了权限,Laravel 在 ElasticBeanstalk 上的“日志文件权限被拒绝”错误也会不断出现
我正在将我的 Laravel 应用程序部署到 ElasticBeanstalk 环境中。但是我遇到了 laravel.log 文件权限的问题。
我使用“eb deploy”命令部署了我的应用程序。部署后,我访问我的应用程序。但它抛出以下错误。
为了解决这个问题,我 ssh 进入服务器并运行以下命令。
问题已经解决了。现在我的应用程序正在运行。但是我再次运行“部署”命令部署我的应用程序。部署后,问题又出现了。以一致的方式解决问题。我尝试在 .ebextensions 配置文件中运行命令,如下所示。
我可以部署我的应用程序。但问题仍然存在。该命令似乎不起作用。我的配置有什么问题,我该如何解决?
laravel - 通过 ebextentions 设置 laravel 存储目录权限
我正在研究弹性豆茎扩展。每次部署都会发生存储权限被拒绝错误,我必须键入命令来解决该错误。下面的代码(.extensions/chmod.config)是否防止错误发生?
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
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 文档让它看起来应该很简单。
以前的尝试
我尝试过的事情:
- 添加 .ebextensions
- 尝试:使用以下命令在目录中创建一个
.config
文件,该文件应以 chmod +x 权限执行 .sh 文件。.ebextensions
- 结果:出现同样的错误。Elastic Beanstalk 日志根本不表示
.config
已处理。
- 尝试:使用以下命令在目录中创建一个
- 更改 .sh 文件的名称
- 尝试:按照 AWS 用户的建议将 .sh 文件命名为“chmod +x 01_installations.sh”(下面的论坛链接)。删除 .ebextensions
- 结果:出现同样的错误。
我在这里回顾了这些想法,但它们实际上都没有包含足够完整的示例来遵循:
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。
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
是:
关于如何解决的任何想法?
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.
并进入了降级状态。
如何解决这个问题?
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,它正在处理这个!这两个环境有什么区别?
编辑:我在日志中没有错误,所有命令都已执行!
感谢您的任何帮助 !
laravel - ebextensions 在 AWS Elasticbeanstalk 中不起作用
在 elasticbeanstalk 中部署时,我试图通过 ebextension 文件执行脚本。
日志说脚本执行正常,但似乎没有应用。
该脚本的确切内容是一个通过 cloudwatch 代理将日志从 laravel 发送到 cloudwatch 的脚本。
下面是脚本的内容和脚本正常执行的日志。
ebextention_file.config
cfn-init.log:
部署后是不可能的,
因此,如果我直接使用 ssh 连接到每个实例并执行 01 命令和 02 命令,通常会在 cloudwatch 中输入日志。
我不知道这是什么
部署策略:滚动附加批次
滚动更新类型:基于健康滚动
还有什么我应该检查的