AWS Elastic Beanstalk – configuration我的nginx设置以增加Java Spring maven应用程序的超时

所以我使用AWS Elastic Beanstalk托pipe我的Java Spring应用程序,并且有一些需要60秒以上的完成请求。 我想提高暂停上限,这样可以完成,所以我开始按照这个教程。

我成功地更改了ELB控制台中的Load Balancer超时,但是我在更改nginx代理的设置时遇到了问题。 本教程build议创build一个名为.ebextensions/nginx-timeout.config的文件,其中.ebextensions位于“我的项目的根目录”中。 本教程假设我们正在使用Docker的Beanstalk,我没有,所以我find了这个链接,build议用这些内容填充nginx-timeout.config内容:

 files: "/tmp/proxy.conf": mode: "000644" owner: root group: root content: | proxy_send_timeout 1200; proxy_read_timeout 1200; send_timeout 1200; container_commands: 00-add-config: command: cat /tmp/proxy.conf >> /var/elasticbeanstalk/staging/nginx/conf.d/elasticbeanstalk/00_application.conf 01-restart-nginx: command: service nginx restart 

我的问题之一是我不知道我的应用程序的根源在哪里。 我正在使用Java的Spring Boot的Maven,所以我的结构如下:

在这里输入图像说明

我不知道是否应该将.ebextensions放在我的pom.xml文件所在的基本目录中,或者放在其他地方。 另外我部署这个应用程序的方法是使用maven来构build一个jar,然后上传jar,我不知道这是否会改变任何东西。

有关这个问题的任何build议? 我目前也试图看看我可能ssh到我的实例可能会改变那里的nginx服务器的configuration,但我不知道这是可能的。

在WAR中添加.ebextensions的可能重复? ,但由于您没有使用war包装,所以可以使用基于Procfile的配置,并将jar和.ebextensions压缩到其他zip层。 那么你的zip文件结构应该是这样的:

 your_app.zip | |_.ebextensions | |_ nginx-timeout.config | |_ your_app.jar |_ Procfile 

而你的Procfile应该包含你的jar文件启动指令

 $ cat Procfile web: java -jar your_app.jar