我有一个linux服务器(ubuntu)并安装了node.js.
我的脚本:webserver.js:
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(80);
console.log('Server is running');
我用putty启动服务器脚本连接到服务器: node webserver.js
有效。但是,如果我关闭终端,则会终止Web服务器。我该如何解决这个问题?
答案 0 :(得分:1)
最简单的方法是在后台使用nohup
启动它:
nohup your_server &
这足以进行测试。如果您正在寻找稳定的生产解决方案,那么您将不得不对该脚本进行大恶化。
答案 1 :(得分:0)
你也可以使用屏幕。 安装
apt-get update && apt-get install -yf screen
(我想)。
然后,使用
创建一个新屏幕screen -S nodeserver
(将nodeserver替换为你想要给屏幕的任何名称。不要放弃这个空白!将此留空是很难关闭的。)
使用屏幕后,它就像自己的终端一样。所以,开始吧 服务器从那里。然后,按
Ctrl + a
d
离开屏幕。屏幕将继续在后台运行,不会断开连接。这样做的好处是您可以稍后使用
重新连接到屏幕screen -r nodeserver
(请问为什么我说要让它变得难忘?否则,它会被分配一个随机数,这个数字很难使用,但可以使用screen -list
发现)
因此,如果抛出任何错误,或者您记录了某些内容,那么所有这些信息仍然可用。请注意,如果您使用ssh,屏幕并不总是很好。
如果由于某种原因屏幕冻结,那么这是一个问题,但我认为您可以使用
修复它screen -S nodeserver -X quit
或类似的东西(其他人,如果这是错误的话,请随时更改)。