AWS Elasticbeanstalk 使用 .platform 覆盖 Nginx 配置不起作用
Posted
技术标签:
【中文标题】AWS Elasticbeanstalk 使用 .platform 覆盖 Nginx 配置不起作用【英文标题】:AWS Elasticbeanstalk overriding Nginx config using .platform is not working 【发布时间】:2020-11-04 03:19:27 【问题描述】:我正在将我的 Laravel 应用程序部署到 AWS ElasticBeanstalk。我已经部署了它。现在,我正在尝试使用 .platform 文件夹覆盖“/etc/nginx/conf.d/elasticbeanstalk/php.conf”文件。
我在项目的根文件夹中创建了 .platform/etc/nginx/conf.d/elasticbeanstalk/php.conf 文件。然后我把配置内容放进去。
然后我部署我的应用程序执行“部署”命令。但是 Nginx 配置文件没有被覆盖。我的配置有什么问题,我怎样才能让它工作?
我也尝试使用 .ebextensions 创建具有以下内容的配置文件。该文件不是刚刚创建的。
files:
/etc/nginx/conf.d/elasticbeanstalk/laravel.conf:
mode: "000755"
owner: root
group: root
content: |
location /
try_files $uri $uri/ /index.php?$query_string;
gzip_static on;
【问题讨论】:
这里提供的解决方案对您有用吗? 【参考方案1】:您尝试设置的nginx
配置文件在Amazon Linux 1 (AL1) 中使用。
对于 AL2,应使用以下方式提供 nginx
配置文件 (aws docs):
.platform/nginx/conf.d/
或者如果你想覆盖主要的nginx
配置文件,使用
.platform/nginx/nginx.conf
因此,您可以尝试以下文件.platform/nginx/conf.d/laravel.conf
,其内容为:
location /
try_files $uri $uri/ /index.php?$query_string;
gzip_static on;
如果还是不行,可以查看/var/log
或者nginx配置文件夹中的nginx日志,检查文件是否正确放置在nginx配置文件夹中。
Solution I used
我用过这个,它奏效了。
.platform/nginx/conf.d/elasticbeanstalk/laravel.conf
【讨论】:
@dryleaf 您可以使用 EB 设置的详细信息和任何相关错误消息提出新问题。以上是关于AWS Elasticbeanstalk 使用 .platform 覆盖 Nginx 配置不起作用的主要内容,如果未能解决你的问题,请参考以下文章
在 AWS 上使用 ElastiCache 和 ElasticBeanstalk 配置 Redis
为啥要为 Docker 使用 AWS ECS 与 ElasticBeanstalk?
AWS-ElasticBeanstalk:在哪里可以找到 Beanstalk 自动创建的域名指向啥?