развернуть nodejs на http-сервере через порт 80 - PullRequest
0 голосов
/ 29 января 2019

У меня есть код js небольшого узла, который нужно развернуть на http-сервере, прослушивающем порт 80. Ниже приведен код сервера node.js, прослушивающий 8081.

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. Пожалуйста, помогите

1 Ответ

0 голосов
/ 29 января 2019

Всегда лучше использовать Nginx при развертывании Node-сервера.Подробное руководство по его настройке приведено в ссылке ниже (если вы используете 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

Вам не нужен какой-либо другой сервер для этого.

...