Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 部署时未执行AWS Beanstalk配置文件_Laravel_Amazon Web Services_Amazon Elastic Beanstalk - Fatal编程技术网

Laravel 部署时未执行AWS Beanstalk配置文件

Laravel 部署时未执行AWS Beanstalk配置文件,laravel,amazon-web-services,amazon-elastic-beanstalk,Laravel,Amazon Web Services,Amazon Elastic Beanstalk,在多次未能通过Beanstalk正确部署我的Laravel应用程序后,我决定遵循AWS的基本教程,了解如何创建Laravel应用程序并将其部署到Beanstack(以排除其原因) 它启动了,因此我在routes/web.php中添加了以下端点: Route::get('/hello', function () { return 'hi'; }); 它失败了 几个月前,我发现Beanstalk将其服务器从Apache切换到了nginx!在Laravel教程中没有提到这一点,尽管这意味着这

在多次未能通过Beanstalk正确部署我的Laravel应用程序后,我决定遵循AWS的基本教程,了解如何创建Laravel应用程序并将其部署到Beanstack(以排除其原因)

它启动了,因此我在routes/web.php中添加了以下端点:

Route::get('/hello', function () {
    return 'hi';
});
它失败了

几个月前,我发现Beanstalk将其服务器从Apache切换到了nginx!在Laravel教程中没有提到这一点,尽管这意味着这两者在默认状态下不再兼容

在做了一些挖掘之后,我找到了另一个AWS教程的链接,它显然解决了这些问题:

解决方案看起来非常简单:创建一个自定义配置文件并将其存储在名为“.platform”(点平台)的.ebextensions目录中,该目录将位于应用程序目录中

我创建了一个名为laravel.config的自定义文件,其中包含:

location / {
    try_files $uri $uri/ /index.php?$query_string;
    gzip_static on;
}
文件的路径为:

~/my-app/.platform/nginx/conf.d/elasticbeanstalk/
我重新部署了。api仍然不起作用


我通过SHH连接到该实例,并注意到.platform目录不在那里。我想这是有道理的,因为它只在部署时使用…

一个明显的问题是对nginx配置文件使用了错误的扩展名

文件应该是
*.conf
,而不是
*.config
,如中所示

您的
.platform
文件夹被忽略的原因可能是您的
.gitignore
.ebignore
文件中可能有该文件夹


请注意,即使您修复了扩展名,配置本身也可能不正确,我无法验证。

配置文件扩展名就是问题所在。非常感谢!!