Laravel Elastic BeanStalk 上的 404

Nic*_*sio 4 routes http-status-code-404 laravel amazon-elastic-beanstalk

我正在尝试将 Laravel 7 应用程序部署到 Elastic BeanStalk,但在路由方面存在一些问题。

我遵循了下面视频中的教程,并上传了包含我所有本地文件的 zip 存档。在将 root 设置为 /public 后,我还修复了权限问题。目前,唯一可见的页面是主页,而其他所有页面,如 /login、/register 和另一个向我显示 404

这是来自 eb 的日志:

2020/05/01 14:19:30 [error] 4091#0: *4 open() "/var/www/html/public/login" failed (2: No such file or directory), client: 82.4.194.3 , 服务器: , 请求: "GET /login HTTP/1.1"

https://www.youtube.com/watch?v=ISVaMijczKc

小智 12

我想你在Linux 版本 2中使用 Beanstalk PHP 平台;此版本使用 Nginx(而先前版本使用 Apache)。

您可以在官方文档中查看更多详细信息:https : //docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.PHP

在这种情况下,您必须按照 Laravel 文档中的说明配置 Nginx 以进行重定向:https ://laravel.com/docs/7.x/deployment#nginx

只需创建文件.platform/nginx/conf.d/elasticbeanstalk/laravel.conf(在项目的根目录下):

location / {
  try_files $uri $uri/ /index.php?$query_string;
}
Run Code Online (Sandbox Code Playgroud)

随意添加其他配置以满足您的需要。

您可以在此处找到有关扩展平台的更多详细信息:https : //docs.aws.amazon.com/elasticbeanstalk/latest/dg/platforms-linux-extend.html