在AWS Elastic Beanstalk上部署Laravel 8后获得404

在AWS Elastic Beanstalk上部署Laravel 8后获得404,laravel,nginx,amazon-elastic-beanstalk,Laravel,Nginx,Amazon Elastic Beanstalk,我正在尝试为Laravel8应用程序设置一个登台环境(我还打算进一步设置一个生产环境)。除了缓存路由的问题和nginx配置上的错误之外,几乎所有的工作都如我所期望的那样正常。 我在.platfom/nginx/conf.d/elasticbeanstalk文件夹中创建了一个laravel.conf文件,其中包含以下内容: location / { try_files $uri $uri/ /index.php?$query_string; gzip_static on; } 但

我正在尝试为Laravel8应用程序设置一个登台环境(我还打算进一步设置一个生产环境)。除了缓存路由的问题和nginx配置上的错误之外,几乎所有的工作都如我所期望的那样正常。 我在
.platfom/nginx/conf.d/elasticbeanstalk
文件夹中创建了一个
laravel.conf
文件,其中包含以下内容:

location / {
    try_files $uri $uri/ /index.php?$query_string;
    gzip_static on;
}
但它似乎没有效果

以下是我正在使用的配置文件:

01-setup.config:

commands:
  01updateComposer:
    command: export COMPOSER_HOME=/root && /usr/bin/composer.phar self-update
option_settings:
  - namespace: 'aws:elasticbeanstalk:application:environment'
    option_name: COMPOSER_HOME
    value: /root
  - namespace: 'aws:elasticbeanstalk:container:php:phpini'
    option_name: document_root
    value: /public
  - namespace: 'aws:elasticbeanstalk:container:php:phpini'
    option_name: composer_options
    value: '--no-dev --no-interaction --prefer-dist --optimize-autoloader'
container_commands:
  01-install_composer_dependencies:
    command: >-
      sudo php -d memory_limit=-1 /usr/bin/composer.phar install --no-dev
      --no-interaction --prefer-dist --optimize-autoloader
    cwd: /var/app/staging
  02-optimize:
    command: /usr/bin/composer.phar dump-autoload --optimize


03-artisan.config

container_commands:
  01_migrate:
    command: php artisan migrate --force
    cwd: /var/app/staging/
    leader_only: true
  02_seed:
    command: php artisan db:seed --force
    cwd: /var/app/staging/
    leader_only: true
  03_clear_route:
    command: sudo php artisan route:clear
    cwd: /var/app/staging/
  04_clear_cache:
    command: sudo php artisan cache:clear
    cwd: /var/app/staging/
  05_clear_optimize:
    command: sudo php artisan optimize:clear
    cwd: /var/app/staging/
  06_optimize:
    command: sudo php artisan optimize
    cwd: /var/app/staging/
  07_clear_config:
    command: sudo php artisan config:clear
    cwd: /var/app/staging/
  08_link_storage_folder:
    command: sudo php artisan storage:link
    cwd: /var/app/staging/

04-change-permissions.config

container_commands:
  01_storage_permissions:
    command: chmod 777 -R /var/app/staging/storage
    cwd: /var/app/staging/
  02_cache_permissions:
    command: chmod 777 -R /var/app/staging/bootstrap/cache/
    cwd: /var/app/staging/
我还试图覆盖默认的nginx.conf,但没有成功

一些环境细节:

EB平台:64位Amazon Linux 2上运行的PHP7.4

NGINX:1.18.0

在UI(配置->软件部分)中,您应该将文档根设置设置为
/public


有关更多信息,请参见

谢谢您的回答,但我已经在一个ebextension文件中这样做了。如果您这样做了,您就不需要自定义NGINX配置。没有它,它应该可以工作。请参阅我在回复中链接的教程。我需要使用EB CLI进行部署。我将编辑我的问题,提供更多信息。我遵循这个教程:我想到了很多问题。您使用什么PHP版本平台?您使用的是AmazonLinux1还是2?默认情况下,如果您使用PHP平台,您已经配置了web服务器(AL1使用Apache,AL2使用Nginx)。这些信息已经出现在我的问题中:我正在使用AL2、PHP7.4和Nginx 1.18.0。在我们讨论时,我正在重新创建整个环境。我会提供任何传统的信息来帮助我们解决这个问题,我从上周就一直坚持这个问题