运行 express-generator 如何在生产模式下创建应用程序?

How do run an express-generator created application in production mode?

我正在使用 Express 应用程序生成器,它建议以这种方式启动服务器:

$ DEBUG=myapp:* npm start

这有效,我的应用开始侦听指定端口。

然而, DEBUG 让我想知道:这是 运行ning 在 'dev' 模式下吗?如果是这样,我如何 运行 在服务器上部署时以生产模式使用它?

如果我只运行npm start,就会卡住:

$ npm start

> myapp@0.0.0 start /home/aalaap/projects/myapp
> node ./bin/www

没有一行表示服务器正在侦听并且应用程序不可访问。

如果我运行node app.js,它立即退出,没有任何输出。

我觉得 运行在调试模式下运行应用程序可能不适合生产,但如果我没有正确理解这一点,我可能会错了。

编辑: 在服务器上,有一个 cron 条目可以在服务器崩溃时每隔一段时间重新启动服务器。如果上述方法是 运行 的唯一方法,我是否应该修改 cron 命令以包含 DEBUG 部分?

使用NODE_ENV环境变量:

$ NODE_ENV=production npm start 

您提到的 DEBUG 变量仅用于日志输出并配置您希望在日志中看到的内容。

如果不查看任何代码并对其进行调试,就无法回答您的应用程序为何挂起的问题。我几乎不怀疑它与环境变量有关。

使用以下命令:

npm 开始

已解决: 运行 以下命令:

将应用程序名称替换为 您的应用名称。

SET DEBUG=app-name:* & npm start