我有小型节点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的新手。请帮助
答案 0 :(得分:0)
部署节点服务器时,最好使用Nginx。下面的链接提供了有关如何设置它的详细教程(如果您使用的是Linux)。它非常容易设置且功能强大。
已编辑-
这是使节点在端口80中工作的替代解决方案。
https://gist.github.com/kentbrew/776580
您不想要任何其他服务器。