我已经浏览了AWS文档和几乎所有关于这个主题的stackoverflow答案,他们几乎都说了同样的事情。要为Java Elastic Beanstalk应用配置NGINX,你需要在存储库的根目录下创建一个名为.platform
的文件夹,如下所示:
.platform/
--| nginx/
----| conf.d/
------ my_custom_config.conf
Elastic Beanstalk将把这些文件放到/etc/nginx/conf.d
中。
然而,我正在尝试这个,它没有做任何事情。我只看到00_application.conf
和healthd.conf
在那个文件夹里。
我也试过使用.ebextensions
而不是.platform
,尽管我知道这行不通,因为我运行的是亚马逊Linux 2。
我试着让它看起来像这样:
.platform/
--| nginx/
----| conf.d/
------| elasticbeanstalk
-------- my_custom_config.conf
这个也不行
我突然想到,我在build/libs
中指定了我的JAR文件,而不是将JAR文件构建到我的repo的根目录,所以我尝试将JAR文件复制到根目录,并将.elasticbeanstalk/config.yml
改为指向那里,但这也没有任何作用。
在这一点上我没有主意了。
平台是Corretto 11运行在64位Amazon Linux 2/3.2.6.
最终这只是表明有时你需要离开电脑去真正解决一些问题。
在我的CI中,当我最初从.ebextensions
切换到使用.platform
时,我忘记在脚本中的任何地方更改该引用。即使文件夹不存在,我也将.ebextensions
传递给zip
,而不是.platform
。