【问题标题】:How to automate deployment of ngnix configuration on Amazon AWS?如何在 Amazon AWS 上自动部署 nginx 配置?
【发布时间】:2021-07-10 05:47:42
【问题描述】:

我有一个使用 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 配置?

【问题讨论】:

  • 您使用的是什么平台?它应该列在您的环境仪表板中。

标签: php nginx amazon-elastic-beanstalk symfony5


【解决方案1】:

如果您想修改您的 nginx 配置,您应该按照 here 的说明通过扩展 ElasticBeanstalk 来修改您的配置文件

我假设您使用的是 Amazon Linux 2,否则 ElasticBeanstalk 的工作方式与 here 记录的完全不同。

Elastic Beanstalk(使用 Amazon Linux 2)将自动在您的 zip 文件的根目录中查找 .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 files

【讨论】:

    猜你喜欢
    • 2021-08-20
    • 2021-01-10
    • 1970-01-01
    • 1970-01-01
    • 2015-10-18
    • 1970-01-01
    • 2012-12-31
    • 2017-10-25
    • 2018-06-23
    相关资源
    最近更新 更多