我想在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"