首页 > 解决方案 > 如何从弹性 beantalk 平台禁用 nginx?

问题描述

我正在从 nginx 切换到 Caddy,因此我设置了 Caddy 并创建了一个新的 AMI。当我将此 AMI 部署到我的 EB 环境时,它无法启动,因为 nginx 在启动期间无法启动。

使用在 64 位 Amazon Linux 2 上运行的 EB 平台 Ruby 2.7,如何阻止 nginx 启动?

标签: amazon-web-servicesnginxamazon-ec2amazon-elastic-beanstalkamazon-elb

解决方案


如果您选择修改默认 AMI,而不是创建新 AMI,那么...要覆盖 Elastic Beanstalk nginx configuration,请将以下行添加到您的nginx.conf 每个 AWS文档中,执行上述操作“ ...拉入 Elastic Beanstalk 配置用于增强的健康报告和监控、自动应用程序映射和静态文件。

看看这里...我在下面为您发布了一些复制的示例片段,以引导您完成,

  • a)您将通过覆盖来设置您的守护进程nginx default config
  • 然后 b) 告诉被覆盖的 ngix 配置去寻找Caddys扩展
  • c) 并且该扩展将读取其配置文件

 // this where you over ride nginx config
 include conf.d/elasticbeanstalk/*.conf;
  • a) 例如配置 Apache HTTPD

Tomcat、Node.js、PHP 和 Python 平台允许您选择 Apache HTTPD 代理服务器作为 nginx 的替代品。这不是默认设置。以下示例将 Elastic Beanstalk 配置为使用 Apache HTTPD。

例如,这里我们用.ebextensions/httpd-proxy.config替换反向代理(你试试 caddy) apache

option_settings:
  aws:elasticbeanstalk:environment:proxy:
    ProxyServer: apache

背景:

默认情况下,它附带 Nginx 作为端口 80 上的反向代理来查找您的应用程序。在 EBS 上。所以,你有两个选择 1)new Custom AMI或 2)Modifying your AMI

" ....ebextensions/nginx 目录中提供的代理配置文件应移至 .platform/nginx 平台挂钩目录。有关详细信息,请展开扩展 Elastic Beanstalk Linux 平台中的反向代理配置部分。 "

predeploy然后看postdeploy config options 这里

Elastic Beanstalk 配置


推荐阅读