使用.platform的AWS Elasticbeanstalk覆盖Nginx配置不起作用

时间:2020-07-14 17:51:00

标签: laravel nginx amazon-elastic-beanstalk

我正在将Laravel应用程序部署到AWS ElasticBeanstalk。我已经部署了。现在,我正在尝试使用.platform文件夹覆盖“ /etc/nginx/conf.d/elasticbeanstalk/php.conf”文件。

我在项目的根文件夹中直接创建了.platform / etc / nginx / conf.d / elasticbeanstalk / php.conf文件。然后输入配置内容。

然后我执行“ be deploy”命令来部署我的应用程序。但是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 个答案:

答案 0 :(得分: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 config文件夹中的nginx日志,以检查该文件是否正确放置在nginx config文件夹中。

Solution I used

我使用了它,并且奏效了。 .platform/nginx/conf.d/elasticbeanstalk/laravel.conf