将节点应用程序转移到服

时间:2016-11-25 13:55:27

标签: javascript node.js nginx

我有一个使用app.js的节点服务器文件express

该文件看起来像这样

var express = require('express')
var app = express();
app.use(express.static(__dirname + '/public'))

app.get('/', function (req, res) {
  res.send('Hello World!')
})

app.listen(3000, function () {
  console.log('Example app listening on port 3000!')
});

如果我从我的终端运行$ node app.js它会启动,如果我在我的计算机上导航到localhost:3000,我会看到Hello World!

我已将文件上传到服务器并尝试导航到index.html文件夹中的public文件,但它无法正常工作。

也许我错过了很多步骤,但有人可以建议我如何在我的服务器上启动node应用程序吗?

2 个答案:

答案 0 :(得分:1)

您的服务器不会在任何地方发送index.html。它只通过发送文本“Hello World!”来提供“/”路径。

使用Node.js,您必须告诉您要为每条路线发送哪些内容。

您只需发送特定文件:(确定,但很脏)

app.get('/index.html', function (req, res) {
  res.send(PATH_TO_FILE/index.html);
});

或者指定默认情况下用于提供文件的路径:

app.use(express.static(__dirname + '/public'));

并且您将所有公共文件自动投放到公用文件夹中:

YOUR_PROJECT/public/AUTOMATICALLY_SERVED_FILES

例如,AUTOMATICALLY_SERVED_FILES可以是index.htmlcss/style.css

注意:此时NGINX没用。

答案 1 :(得分:0)

在服务器上,nodejs配置正确吗?

我将forever与nodejs一起使用,如果你想在linux基础系统上使用像node一样的服务,这很有用。