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

标签 spring maven amazon-web-services nginx timeout

因此,我使用 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/

相关文章:

java - Ibm-was 和 spring 的事务错误

java - Spring Security 中的记住我服务

java - Eclipse 不显示 git repo 中的所有包

java - 使用嵌入式 JRE 将 Shaded Java (jar) 构建为 Win32 可执行文件?

amazon-web-services - 有没有办法迭代提供者?

spring - 查询失败,错误代码 13 和错误消息“未授权 [db] 执行命令 { find :

java - UnsupportedMediaTypeException : Content type 'application/octet-stream' not supported for bodyType=java. util.Map<java.lang.String, java.lang.String>))

Maven 检查本地存储库,但从中央下载。为什么?

amazon-web-services - 如何为 AWS Step Functions 中的事件添加动态 TimeoutSeconds?

amazon-web-services - aws cli cloudformation lambda无效输入错误