Node.js 如何在端口80上运行环回应用程序

Node.js 如何在端口80上运行环回应用程序,node.js,express,loopbackjs,Node.js,Express,Loopbackjs,我正在使用基于expressjs的loopback.io,并尝试将端口添加为app的第一个参数。请听以下内容: // server.js app.start = function() { // start the web server return app.listen(80, function() { app.emit('started'); console.log('Web server listening at: %s', app.get('url')); }

我正在使用基于expressjs的loopback.io,并尝试将端口添加为
app的第一个参数。请听以下内容:

// server.js

app.start = function() {
  // start the web server
  return app.listen(80, function() {
    app.emit('started');
    console.log('Web server listening at: %s', app.get('url'));
  });
};
但它不起作用


我已经搜索了一段时间,但还没有找到解决方案。

这与Express中出现的问题类似;这里有一个这样的答案

我看不到文档中明确指出了这一点,但也存在在端口80上侦听需要sudo(root)的问题。js文档说明您的调用刚刚传递到HTTP服务器类,但您的格式也与Express的格式匹配(因此是第一个链接)


您的错误消息将有助于了解根访问是问题还是其他问题。

更改
server/config.json
中的
port
属性。请参见

我需要动态设置端口,使其在开发中为3001,在生产中为80。这就是我的工作原理:

app.start=function(){
//如果生产需要,请更换端口
if(进程环境端口){
应用程序集('端口',进程环境端口);
}
//启动web服务器
返回app.listen(函数(){
...

请参考此
server/config.json
示例。

如果使用环回x3,则需要创建一个名为
server/config.local.json
的文件。然后将
server/config.json
中的所有文件复制到其中。现在,将需要的“您的端口号”添加到“端口属性”中在
server/config.local.json中,它将工作

有关详细信息,请参见原始来源:

{
  "restApiRoot": "/api",
  "host": "0.0.0.0",
  "port": 80,
  "remoting": {
    "context": false,
    "rest": {
      "normalizeHttpPath": false,
      "xml": false
    },
    "json": {
      "limit": "50mb"
    },
    "urlencoded": {
      "limit": "50mb",
      "extended": true
    },
    "handleErrors": false
  },
  "legacyExplorer": false,
  "logoutSessionsOnSensitiveChanges": true
}