1
我在Heroku上部署嵌入式码头应用程序,并在端口80上侦听http。然而,在启动时我读System.getenv( “PORT”)值,并使用该端口值初始化码头服务器,像这样:Heroku部署:嵌入式码头端口
if (isproduction) {
LOGGER.log(Level.INFO, "System.getenv(\"PORT\"):{0}", System.getenv("PORT"));
port = Integer.valueOf(System.getenv("PORT"));
baseurl = "http://xxxx-xxxx.herokuapp.com";
}
LOGGER.log(Level.INFO, "Starting jetty on port: {0}", port);
final Server jettyServer = new Server(port);
jettyServer.setHandler(context);
上面打印
2017-05-25T17:34:02.943531+00:00 app[web.1]: INFO: System.getenv("PORT"):45203
2017-05-25T17:34:02.945234+00:00 app[web.1]: INFO: Starting jetty on port: 45203
然而,从heroku open
命令行在端口80打开应用程序。这不是一个真正的问题(应用程序完全可操作),但这是意外的行为。任何人都可以了解发生了什么事情?
好吧,但事情是,我的不是一个自定义的端口。 System.getenv(“PORT”)是Heroku在启动时设置的一个环境变量。此外,问题是为什么当码头服务器开始使用不同的端口时,应用程序监听端口80 – chrisl08
您在80上听什么意思?你怎么看? – Bartosz
我打开一个浏览器并访问部署在heroku上的jetty站点的欢迎页面 – chrisl08