问题描述
在部署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