aws-beanstall-nodejs:如何覆盖nginx的60s超时



我想在AWS弹性豆茎中的nodejs环境中增加nginx的默认超时,我遵循以下指南:https://medium.com/swlh/using-ebextensions-to-extend-nginx-default-configuration-in-aws-elastic-beanstalk-189b844ab6ad但它不起作用,如果我上传我的应用程序,我会收到这个错误在实例id"i-xxxxxxxxxx"上执行命令失败。正在中止操作。有什么建议吗?我正在尝试使用.eextension,这是我的01-timeout.config文件的代码

files:
"/etc/nginx/conf.d/01-timeout.conf":
mode: “000644”
owner: root
group: root
content: |
keepalive_timeout 600s;
proxy_connect_timeout 600s;
proxy_send_timeout 600s; 
proxy_read_timeout 600s; 
fastcgi_send_timeout 600s; 
fastcgi_read_timeout 600s;
container_commands:
nginx_reload:
command: "sudo service nginx reload"

谢谢你的帮助。

更新现在部署可以了,但超时不起作用,就像以前一样,超时60s,读取日志似乎是重新加载了nginx,这是消息:命令nginx.reload成功了,有什么问题的线索吗?

.eextension方法现在不工作。请尝试.platform方法。

请在项目根文件夹中创建一个名为.platform的文件夹。

.platform/
nginx/
conf.d/
timeout.conf
00_myconf.config

文件1的内容-timeout.conf(在.platform/nginx/conf.d/文件夹内(

keepalive_timeout 600s;
proxy_connect_timeout 600s;
proxy_send_timeout 600s; 
proxy_read_timeout 600s; 
fastcgi_send_timeout 600s; 
fastcgi_read_timeout 600s;

文件2的内容-00_myconf.config(在.platform/文件夹内(

container_commands:
01_reload_nginx:
command: "service nginx reload"

重新部署您的应用程序并查看更改。

您的/etc/nginx/conf.d/01-timeout.conf被忽略,因为它是基于Amazon Linux 1(AL2(的EB平台的有效文件。然而,在我看来,您使用的是基于EB的AmazonLinux2(EB(的最新版本。

对于AL2,nginx设置应该在.platform/nginx/conf.d/中,而不是在.ebextentions中,如";反向代理配置";部分

因此,您可以拥有以下内容的.platform/nginx/conf.d/myconfig.conf

keepalive_timeout 600s;
proxy_connect_timeout 600s;
proxy_send_timeout 600s; 
proxy_read_timeout 600s; 
fastcgi_send_timeout 600s; 
fastcgi_read_timeout 600s;

不需要使用sudo service nginx reload手动重新启动nginx。

请这样尝试:

files:
"/etc/nginx/conf.d/01-timeout.conf":
mode: "000644"
owner: root
group: root
content: |
keepalive_timeout 600s;
proxy_connect_timeout 600s;
proxy_send_timeout 600s; 
proxy_read_timeout 600s; 
fastcgi_send_timeout 600s; 
fastcgi_read_timeout 600s;
container_commands:
nginx_reload:
command: "sudo service nginx reload"

最新更新