如何在Elastic Beanstalk平台中禁用nginx服务?
阻止Elastic Beanstalk Ruby 2.7(Amazon Linux 2)平台Nginx启动的方案
以下两种方案均可实现需求,你可以根据自己的使用场景选择:
方法1:在构建自定义AMI阶段直接禁用
直接在制作AMI的实例中执行以下命令即可:
- 停止当前运行的Nginx服务:
systemctl stop nginx - 禁用Nginx开机自启:
systemctl disable nginx - 若要彻底屏蔽所有启动Nginx的调用(避免EB部署钩子强制拉起Nginx),可以执行:
systemctl mask nginx
方法2:通过项目.ebextensions配置生效(无需修改AMI,部署时自动执行)
在你Ruby项目的根目录下创建.ebextensions/00_disable_nginx.config文件,写入以下配置:
services: systemd: nginx: enabled: false ensureRunning: false commands: stop_existing_nginx: command: systemctl stop nginx ignoreErrors: true
额外注意事项
- 请提前将Caddy配置为systemd自启服务,确保它监听EB环境要求的80/443端口,且健康检查路径返回正常状态码,避免环境健康检查失败
- 不要保留EB平台默认的Nginx代理相关配置扩展,防止部署阶段触发Nginx配置校验、重启等逻辑导致部署失败
内容的提问来源于stack exchange,提问作者D-Nice
相关产品推荐
相关产品推荐

