Amazon Linux环境Elastic Beanstalk NodeJS应用如何修改Nginx worker_connections配置
Elastic Beanstalk Node.js环境修改Nginx worker_connections 解决方案
方案1:全量替换Nginx配置(推荐,适用于Amazon Linux 2平台)
- 步骤1:在应用代码根目录(即你打包部署的根目录)创建层级目录
.platform/nginx - 步骤2:将修改好的完整
nginx.conf文件放到上述目录中,你可以直接基于默认配置修改worker_connections数值,示例如下:
# 自定义Elastic Beanstalk Nginx Configuration File user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 4096; # 按你的需求调整该数值即可 } http { include /etc/nginx/mime.types; default_type application/octet-stream; access_log /var/log/nginx/access.log; log_format healthd '$msec"$uri"$status"$request_time"$upstream_response_time"$http_x_forwarded_for'; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; }
- 步骤3:正常打包部署应用即可,Elastic Beanstalk会自动用你提供的配置替换默认的nginx.conf,部署完成后自动生效。
方案2:增量修改现有配置(适用于旧版Amazon Linux AMI平台,或不想全量替换配置的场景)
- 步骤1:在应用代码根目录创建
.ebextensions目录 - 步骤2:在该目录下新建配置文件,命名为
01_modify_nginx_worker_conn.config,内容如下:
container_commands: 01_update_worker_connections: command: | sed -i 's/worker_connections\s*1024;/worker_connections 4096;/g' /etc/nginx/nginx.conf service nginx reload
- 步骤3:打包部署应用即可,该配置会在部署过程中自动修改默认nginx.conf的对应参数,重载Nginx生效。
验证修改是否生效
部署完成后登录到对应的Elastic Beanstalk EC2实例,执行以下命令查看当前生效的参数:
nginx -T | grep worker_connections
如果返回你修改的数值(如4096),说明配置已生效。
注意事项
调高worker_connections数值后,需要同步确认系统层面的文件描述符限制是否足够,若系统限制低于你设置的worker_connections数值,配置不会生效,还会触发新的报错。
内容的提问来源于stack exchange,提问作者Tan Dat
相关产品推荐
相关产品推荐

