laravel - AWS Elasticbeanstalk 使用 .platform 覆盖 Nginx 配置不起作用
问题描述
我正在将我的 Laravel 应用程序部署到 AWS ElasticBeanstalk。我已经部署了它。现在,我正在尝试使用 .platform 文件夹覆盖“/etc/nginx/conf.d/elasticbeanstalk/php.conf”文件。
我在项目的根文件夹中创建了 .platform/etc/nginx/conf.d/elasticbeanstalk/php.conf 文件。然后我把配置内容放进去。
然后我部署我的应用程序执行“部署”命令。但是 Nginx 配置文件没有被覆盖。我的配置有什么问题,我怎样才能让它工作?
我也尝试使用 .ebextensions 创建具有以下内容的配置文件。该文件不仅仅是创建的。
files:
/etc/nginx/conf.d/elasticbeanstalk/laravel.conf:
mode: "000755"
owner: root
group: root
content: |
location / {
try_files $uri $uri/ /index.php?$query_string;
gzip_static on;
}
解决方案
nginx
您尝试设置的配置文件在Amazon Linux 1 (AL1) 中使用。
对于 AL2,nginx
应使用以下方式提供配置文件 ( aws docs ):
.platform/nginx/conf.d/
或者如果你想覆盖主nginx
配置文件,使用
.platform/nginx/nginx.conf
因此,您可以尝试以下文件.platform/nginx/conf.d/laravel.conf
,其内容为:
location / {
try_files $uri $uri/ /index.php?$query_string;
gzip_static on;
}
如果它不起作用,您可以检查 nginx 登录/var/log
或 nginx 配置文件夹以检查文件是否正确放置在 nginx 配置文件夹中。
Solution I used
我用了这个,它奏效了。
.platform/nginx/conf.d/elasticbeanstalk/laravel.conf
推荐阅读
- c# - 根据赫兹单位过滤列表
- javascript - 在 json 对象数组上添加唯一生成的标识符
- ios - 如何通过情节提要强制标签适合并保持在同一行?
- android - Android - 如何在单击 WebView 中的 URL 时从当前片段活动中打开片段?
- php - 使用 Jquery 设置页面特定的标题图像
- python - 字符串列表到整数数组
- javascript - 如何使用设置表将电子邮件添加为整个文档的编辑者?
- javascript - 更新 React 列表而不重新渲染所述列表
- scala - Scala 中的递归 HTTP 请求
- typescript - TypeScript 输出没有被合并