gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 02:04:07 26 4
gpt4 key购买 nike

因此,我使用 AWS Elastic Beanstalk 来托管我的 Java Spring 应用程序,并且某些请求需要超过 60 秒才能完成。我想提高超时上限以便这些可以完成,所以我开始关注 this教程。

我成功在 ELB 控制台中更改负载均衡器超时,但在更改 nginx 代理的设置时遇到问题。本教程建议创建一个名为 .ebextensions/nginx-timeout.config 的文件,其中 .ebextensions 位于“我的项目的根目录”中。本教程假设我们将 Beanstalk 与 Docker 一起使用,但我没有,所以我找到了 this链接建议使用以下内容填充 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

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

enter image description here

我不确定是否应该将 .ebextensions 放置在我的 pom.xml 文件所在的基本目录中,或者其他位置。另外,我部署此应用程序的方法是使用 maven 构建一个 jar,然后上传该 jar,我不确定这是否会改变任何内容。

对于这个问题有什么建议吗?我目前也在尝试查看如何 ssh 进入我的实例以更改那里的 nginx 服务器的配置,但我不确定这是否可行。

最佳答案

可能与 Where to add .ebextensions in a WAR? 重复,不过由于您没有使用 war 包装,您可以使用基于 Procfile 的 configuration并将您的 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

关于spring - AWS Elastic Beanstalk - 配置我的 nginx 设置以增加 Java Spring maven 应用程序的超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42334146/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com