好的,所以这可能是一个非常的菜鸟问题,但我只是从node.js开始,我注意到所有的教程都告诉你做这样的事情:
app.listen(3000);
console.log('Listening on port 3000');
启动服务器。这适用于在本地主机上进行测试,但它需要我通过键入node server.js
在生产环境中,您如何管理?我确信我不必使用像putty这样的程序来隧道并启动服务器。谁可以给我解释一下这个?我目前正在使用带有快速Web框架的node.js最新版本。
由于
答案 0 :(得分:1)
除非您使用亚马逊的AWS Elastic Beanstalk或Heroku之类的奇特平台,否则在生产环境中您仍需要某种控制台访问权限(SSH)才能登录服务器并上传并开始你的申请。您需要确保应用程序作为后台服务连续运行,并在崩溃时重新启动。
节点的实用程序可以帮助您实现这一点,例如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。
答案 1 :(得分:0)
如果您使用的是Ubuntu或其他一些Linux版本,请尝试使用screen
。
如果您通过SSH连接,则可以screen node server.js
,然后按[Control]
+ [A]
,然后按[Control]
+ [D]
。您可以在控制台上弹出,然后exit
可以不停止node
进程。