i当前正在处理Heroku中部署的Spring Boot应用程序。该应用程序在同一仓库(前端和后端)上有2个主要项目。我已经设法使用node.js来运行前端,并且(从技术上讲)也设法运行了Spring Boot应用程序。
2017-03-16T08:17:14.834886+00:00 app[api.1]: 2017-03-16 08:17:14.834 INFO 4 --- [main] o.s.web.servlet.DispatcherServlet: FrameworkServlet 'dispatcherServlet': initialization completed in 35 ms
2017-03-16T08:17:14.906139+00:00 app[api.1]: 2017-03-16 08:17:14.905 INFO 4 --- [main] com.zilicio.editor.ServerApplication: Started ServerApplication in 14.331 seconds (JVM running for 16.638)
2017-03-16T08:17:14.881330+00:00 app[api.1]: 2017-03-16 08:17:14.881 INFO 4 --- [main] .s.b.c.e.j.JettyEmbeddedServletContainer: Jetty started on port(s) 11831 (http/1.1)
根据该日志,一切似乎都可以,但是当我访问应用程序时,它返回了HTTP 500,声称没有网络流程运行。
2017-03-16T08:17:29.435087+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/api/projects" (...)
但是当我与Heroku PS
核对时 api.1: up 2017/03/16 03:16:56 -0500 (~ 30m ago)
这是我的procfile:
web: node Z-Editor/Frontend/server.js
api: java -Dserver.port=$PORT $JAVA_OPTS -jar Z-Editor/Server/target/*.jar
它声明了2个进程(一个用于正面,一个用于服务器)。有2个不同的Heroku应用程序运行了每个测功能。Node.js dyno正在工作,但带有弹簧靴的node dyno却没有。
这是回购的文件夹结构:
+root
- procfile
+ frontend
- package.json
- ...
+ server
- src
- pom.xml
+ target
- server.jar
- ...
- package.json
希望有人可以帮助我。
pd:根文件夹中的package.json和pom.xml与前端和服务器文件夹中的包装夹相同。
我确定您的确切设置,但是通常,您只能有一个可以接收HTTP请求的过程。此过程必须命名为web
。在您的情况下,web
进程是您的节点应用程序。api
进程可以运行良好,但永远不会收到任何请求。您需要在两个单独的Heroku应用程序中将这两个过程分开。