0

我在 Heroku 上运行一个 nodejs express 服务器。我在我的应用程序根目录中定义了一个 Procfile,其中包含:

web:node --optimize_for_size --max_old_space_size=460 --gc_interval=100 server.js

但是,当我使用时,heroku logs -a my-app --tail我注意到我的应用程序开始使用npm start它只是node server.js而不是我放入我的 Procfile 中的内容。这是日志:

2020-05-20T16:28:35.000000+00:00 app[api]: Build succeeded
2020-05-20T16:28:36.489864+00:00 heroku[web.1]: Stopping all processes with SIGTERM
2020-05-20T16:28:36.575077+00:00 heroku[web.1]: Process exited with status 143
2020-05-20T16:28:37.695081+00:00 heroku[web.1]: Starting process with command `npm start`
2020-05-20T16:28:40.709631+00:00 app[web.1]: 
2020-05-20T16:28:40.709647+00:00 app[web.1]: > my-app@0.0.1 start /app
2020-05-20T16:28:40.709648+00:00 app[web.1]: > node server.js
2020-05-20T16:28:40.709648+00:00 app[web.1]: 

正如我从 Heroku 的文档中了解到的那样,只有在没有检测到npm start时才应该使用。Procfile我在这里想念什么?

4

1 回答 1

0

问题是我的进程名称和Procfile. 这现在对我有用:

web: node --optimize_for_size --max_old_space_size=460 --gc_interval=100 server.js

这是来自的日志输出heroku logs

2020-05-20T16:58:44.000000+00:00 app[api]: Build succeeded
2020-05-20T16:58:46.235387+00:00 heroku[web.1]: Stopping all processes with SIGTERM
2020-05-20T16:58:46.360055+00:00 heroku[web.1]: Process exited with status 143
2020-05-20T16:58:47.111612+00:00 heroku[web.1]: Starting process with command `node --optimize_for_size --max_old_space_size=460 --gc_interval=100 server.js`
于 2020-05-20T17:04:15.330 回答