繁体   English   中英

AWS Elastic Beanstalk 在 nginx 服务器上应用配置文件

[英]AWS Elastic Beanstalk Apply configuration file on nginx server

我正在尝试在 ebs 中迁移我的应用程序,因为它已被弃用,我以前的平台是:

PHP 5.6 在 64 位亚马逊上运行 Linux / 2.9.8

现在我正在迁移到:

PHP 7.4 在 64 位亚马逊上运行 Linux 2 / 3.0.3

该平台使用 Nginx 服务器代替 Apache。

我能够部署我的应用程序,但问题是我的 .htaccess 配置文件已被弃用,my.ebextensions 配置文件也是如此。 所以我丢失了设置,例如获取干净的 url 和从 http 到 https 的重定向。

我试图通过放置相应的配置文件将 apache 配置转换为 Nginx 但显然它们没有效果。

我尝试了许多测试配置,得出的结论是平台没有读取我放置的配置。

例如,我尝试尝试使用这个小配置,它应该允许我列出“views”目录:

cleanurl.config

server {
location / views / {
    autoindex on;
}
}

我试过把它放在以下文件夹中。

“.ebextensions / cleanurl.config”

files:
    "/etc/nginx/conf.d/cleanurl.conf":
        mode: "000644"
        owner: root
        group: root
        content: |
              server {
                location / views / {
                autoindex on;
                }
             }

“.platform / nginx / conf.d / cleanurl.config”

server {
location / views / {
    autoindex on;
}
}

但我没有得到结果。 当我指向一个文件夹时,我总是得到 403 Forbidden。 请帮忙。

提前致谢

经过尝试和尝试,我能够通过以下方式解决它:

  • 我把文件放在这个位置
.platform/nginx/conf.d/elasticbeanstalk/cleanurl.conf
  • 像这样更改我的配置文件
location/views/ {
   autoindex on;
}

现在一切正常。

我尝试了许多测试配置,得出的结论是平台没有读取我放置的配置。

在第一种情况下,这是因为您使用的配置文件适用于Amazon Linux 1 (AL1)。 但是,您的环境是在 64 位Amazon Linux 2 (AL2) 上运行的 PHP 7.4。

在您的第二次尝试中,您应该使用.platform/nginx/conf.d/的配置文件 但是,您使用的是*.config扩展名。 这个错误的扩展名应该是

cleanurl.conf

您可能还有其他问题,但错误的扩展名可以解释文件被忽略的原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM