AWS Elastic Beanstalk如何获取.ebextensions写入其中的conf文件/etc/httpd/conf.d/?

问题描述

在部署Elastic Beanstalk应用程序期间,尝试从Elastic beanstalk将.conf文件添加到E2实例上的/etc/httpd/conf.d/目录中。我在.ebextensions目录中添加了.config文件,该文件的定义如下:

files:
  "/etc/PHP.d/project.ini" :
    mode: "000644"
    owner: root
    group: root
    content: |
      max_input_vars = 10000
      upload_max_filesize = 256M
      post_max_size = 256M

container_commands:
  01_enable_mod_deflate:
    command: "cp .ebextensions/enable_mod_deflate.conf /etc/httpd/conf.d/enable_mod_deflate.conf"
  02_enable_mod_expires:
    command: "cp .ebextensions/enable_mod_expires.conf /etc/httpd/conf.d/enable_mod_expires.conf"
  03_secure_wordpress:
    command: "cp .ebextensions/secure_wordpress.conf /etc/httpd/conf.d/secure_wordpress.conf"
  04_restart_apache:
    command: "sudo apachectl restart"

.conf文件都位于.ebextensions文件夹中,但没有被复制,这导致WordPress网站根目录中的.htaccess出现问题。正在生成错误看起来像这样:

命令01_enable_mod_deflate(cp /var/app/current/.ebextensions/enable_mod_deflate.conf /etc/httpd/conf.d/enable_mod_deflate.conf)失败 2020-10-05 13:45:59,944 [ERROR]构建postbuild_0_Benefits_Bridge_2时遇到错误:命令01_enable_mod_deflate失败 追溯(最近一次通话): 在run_config中的文件“ /usr/lib/python2.7/site-packages/cfnbootstrap/construction.py”,第542行 CloudFormationCarpenter(config,self._auth_config).build(工作日志) 在构建中的文件“ /usr/lib/python2.7/site-packages/cfnbootstrap/construction.py”,第260行 changes ['commands'] = CommandTool()。apply(self._config.commands) 应用中的文件“ /usr/lib/python2.7/site-packages/cfnbootstrap/command_tool.py”,第117行 引发ToolError(u“命令%s失败”%名称) ToolError:命令01_enable_mod_deflate失败

不确定这甚至意味着什么,但是它为每个文件生成相同的错误。怎么了我只是启动了一个新的Elastic Beanstalk实例,并且认情况下不应该这样做吗?实例有问题吗?由于根目录中的.htaccess文件,该站点正在生成500错误,但是如果删除了该文件,则只会加载首页,而所有其他页面都会显示404错误。我需要将这些.conf文件添加到所有实例的/etc/httpd/conf.d/目录中,但是由于上述错误,它们根本没有添加到任何实例中,我不知道如何修复,或者如果实例存在问题(该实例是使用Elastic Beanstalk创建的认实例)?

如何解决此问题?我已经重新启动了环境,但这没有帮助。我对重建环境有些犹豫,因为这将清除连接到应用程序的数据库,并且不确定是否有帮助。

解决方法

您可能使用的 Amazon Linux 2 更改了代理(NGINX 或 Apache)的配置文件的位置。 将您的代理配置文件放在 .platform 而不是 .ebextensions 下: 例如:

|____wp-signup.php
|____.platform
| |____httpd
| | |____conf.d
| | | |____http-redirect.conf

文档中的更多详细信息:

Migrating your Elastic Beanstalk Linux application to Amazon Linux 2

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...