运行 节点 js 服务器上的网站

Running website on node js server

我想从我的基本 url 路径访问我的节点应用程序,example.com 所以我在我的 app.js 文件中使用 express js 将我的监听端口设置为 80。

下面是我的 app.js 文件。信用:node static site tutorial.

var express = require('express');
var path = require('path');
var app = express();

// Define the port to run on
app.set('port', 80);

app.use(express.static(path.join(__dirname, 'public')));

// Listen for requests
var server = app.listen(app.get('port'), function() {
  var port = server.address().port;
  console.log('Magic happens on port ' + port);
});

我用 node app.js 启动我的服务器,并且可以按预期访问我的内容 - 但是一旦我的连接关闭,我的站点就无法访问。这是我第一次尝试非 LAMP 解决方案。

如何将我的节点服务器 运行 保存在云中来为我的网站提供服务?这就是我们所说的"deploying node to production?".

这只是一个带有一些静态 html / js 文件的个人网站。

当您关闭连接时,您关闭了启动节点的 shell 会话。

由于您在 linux 中 运行 安装它,最简单的方法是 运行 在后台 node app.js &

或者您可以为终端安装 screen,它将保持 运行ning 并且可以与当前会话分离。 http://www.thegeekstuff.com/2010/07/screen-command-examples/

此外,如果您的代码中出现未处理的错误,服务器程序可能会崩溃。要保持服务器 运行 宁并在崩溃时重新启动,请使用 nodemon 或 forever.