0

好的,所以这可能是一个非常菜鸟的问题,但我只是从 node.js 开始,我注意到所有的教程都告诉你做这样的事情:

app.listen(3000);
console.log('Listening on port 3000');

启动您的服务器。这适用于在本地主机上进行测试,但它需要我使用控制台通过键入来启动服务器node server.js

在生产环境中,您如何管理它?我确信我不必使用像 putty 这样的程序来隧道并启动服务器。谁可以给我解释一下这个?我目前正在使用带有 express web 框架的 node.js 最新版本。

谢谢

4

2 回答 2

3

除非您使用像 Amazon 的 AWS Elastic BeanstalkHeroku这样的花哨平台,否则在生产环境中,您仍然需要某种控制台访问 (SSH) 才能登录服务器,上传并启动您的应用程序。您需要确保应用程序作为后台服务持续运行,并在崩溃时重新启动。

有一些 node 实用程序可以帮助你,比如forever

永远,你会做这样的事情:

$ git clone git://gitserver:myapp.git
$ cd myapp
$ npm install
$ sudo npm install -g forever
$ forever start server.js

这使得 server.js 在后台作为守护进程运行,您可以关闭 SSH。要查看正在运行的守护进程和您可以运行的日志:

$ forever list
$ forever logs 0

该应用程序仍将在端口 3000 上运行,因此您可能需要配置反向代理服务器以重定向端口 80,例如 nginx。

于 2013-07-31T20:07:49.523 回答
0

screen如果您使用的是 Ubuntu 或其他 Linux 变体,请尝试使用。

如果您通过 SSH 连接,您会这样做screen node server.js,然后按[Control]+[A]然后按[Control]+ [D]。您将立即在控制台中弹出,并且可以在exit不停止该node过程的情况下进行。

于 2013-08-01T01:46:17.610 回答