【问题标题】:deploy nodejs to http server on port 80将 nodejs 部署到 http 服务器的 80 端口
【发布时间】:2019-01-29 10:00:12
【问题描述】:

我有一个小节点 js 代码要部署在监听端口 80 的 http 服务器上。 下面是监听 8081 的 node.js 服务器代码。

var express = require('express'); // Web Framework
var app = express();
var sql = require('mssql'); // MS Sql Server client

// Connection string parameters.
var sqlConfig = {
    user: 'dbuser',
    password: 'dbpasswd',
    server: 'dbip',
    database : 'dbname',
    port:dbport
}




var server = app.listen(8081,'<serverip>', function () {
    var host = server.address().address
    var port = server.address().port

    console.log("app listening at http://%s:%s", host, port)
});

app.get('/table1', function (req, res) {

    sql.connect(sqlConfig, function(conerr,connection) {
      console.log(conerr);
       if (conerr) return;
         var request = new sql.Request();
        request.query('select * from table1', function(err, recordset) {
            if(err) console.log(err);
            console.log(recordset)
            res.end(JSON.stringify(recordset)); // Result in JSON format
        });
    });
})

httpd的conf文件如下:

<VirtualHost *:80>
   ServerName <servername>
    <Directory "/var/www/html/njs/">
        AllowOverride All
        Require all granted
    </Directory>
            ProxyPass /njs/  http://<serverip>:8081/
            ProxyPassReverse /njs/ http://<serverip>:8081/
</VirtualHost>

当我启动节点服务器并使用 url 'http://serverip/njs/table1' 访问浏览器时,我得到“在服务器上找不到请求的 URL。如果您手动输入了 URL,请检查您的拼写并重试。” .

知道什么是错的。我是nodejs的新手。请帮忙

【问题讨论】:

  • app.listen 控制台语句是否显示在您的终端中
  • 你在尝试serverip:port/njs/table1 吗?
  • 是的,我能够得到提及特定端口的回复。但重点是在端口 80 上得到回复。因为我的要求是让它在侦听端口 80 的现有网络服务器上工作

标签: node.js http port80


【解决方案1】:

在部署 Node 服务器时使用 Nginx 总是更好。下面的链接中提供了如何设置它的详细教程(如果您使用的是 Linux)。它非常易于设置且功能强大。

https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-ubuntu-16-04

已编辑 -

这是让节点在端口 80 中工作的替代解决方案。

https://gist.github.com/kentbrew/776580

您不需要任何其他服务器。

【讨论】:

  • 我的要求是让它在我们现有的 http 服务器上工作。在我的情况下,在 nginx 上工作不会有用
  • Awseome,谢谢 Sunoj,更新 iptables 对我有用
  • 欢迎。如果觉得有帮助,请您为答案投票。
  • 当然,,,已经完成了..但看起来我没有足够的声誉,所以没有公开露面
  • 没关系。谢谢。
猜你喜欢
  • 2019-04-28
  • 2018-09-11
  • 2013-09-16
  • 2011-12-09
  • 2013-08-05
  • 2020-10-21
  • 2016-02-24
  • 1970-01-01
相关资源
最近更新 更多