我有一个使用symfony 5创建的项目。为了托管网站,我使用亚马逊AWS。Amazon AWS实例正在使用nginx。每次使用Elastic beanstalk部署代码时,我都必须将以下行添加到etc/nginx/nginx.conf文件中
location / {
try_files $uri $uri/ /index.php?$args;
}如果我没有添加以下配置,也没有重启nginx服务器,那么只能看到我网站的页面。每当我试图打开除主页之外的另一个网站页面时,我得到以下错误:
404 Not Found
nginx/1.18.0当我使用elasticbeanstalk上传代码时,如何自动部署ngnix配置?
发布于 2021-04-16 10:06:51
如果你想修改你的nginx配置,你应该按照解释的here扩展ElasticBeanstalk来修改你的配置文件
我假设您使用的是Amazon Linux2,如果不是,ElasticBeanstalk的工作方式与文档中的here完全不同。
Elastic Beanstalk (使用Amazon Linux2)将自动在压缩文件的根目录中查找.platform目录。
通过添加具有以下内容的.platform/nginx/conf.d/elasticbeanstalk/php-custom.conf,您就可以开始工作了(假设您使用的是默认配置)。请注意,您可以通过将此文件.platform/nginx/nginx.conf添加到项目中来覆盖nginx.conf,但由于您要做的操作相当简单,因此我将只添加一个将由nginx自动加载的文件。
location / {
try_files $uri $uri/ /index.php?$args;
}因此,您的项目树应该如下所示。
project root
├── .platform
│ └── nginx
│ └── conf.d
│ └── elasticbeanstalk
│ └── php-custom.conf
└── your project fileshttps://stackoverflow.com/questions/67104246
复制相似问题