簡體   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