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

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

我成功地在ELB控制台中更改了Load Balancer超时,但是我在更改nginx代理的设置时遇到了问题.本教程建议创建一个名为.ebextensions / nginx-timeout.config的文件,其中.ebextensions位于“我项目的根目录”中.本教程假设我们正在使用带有Docker的Beanstalk,我不是,所以我找到了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,所以我的结构如下:

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

我不确定是否应该将.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
点赞