【问题标题】:Server not working on any port except process.env.PORT?服务器不在 process.env.PORT 之外的任何端口上工作?
【发布时间】:2017-02-23 06:31:25
【问题描述】:

如何找到服务器端口号?

我在服务器中有以下代码

var app = require('express')();
//creating http server
var server = require('http').createServer(app);
var port = process.env.PORT;
server.listen(port);

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

console.log(server.address());
console.log(server.address().address);
console.log(server.address().port);

res.end("working " + port);
});

我想知道节点服务器运行的端口号(在请求中添加了控制台)我正在根据请求使用控制台获取以下信息

\.\pipe\5e2xxxxxxxxxxxxxxxxxxxxxxxxxxx 不明确的 未定义

如果我将服务器侦听端口更改为除 process.env.PORT 之外的任何其他端口,则服务器返回以下错误

iisnode 在处理请求时遇到错误。

HRESULT: 0x2
HTTP status: 500
HTTP subStatus: 1001
HTTP reason: Internal Server Error 

【问题讨论】:

  • 是你做console.log(port)时显示的端口;
  • 是的,它看起来像 \.\pipe\5e2xxxxxxxxxxxxxxxxxxxxxxxx
  • 有什么问题?这是 unix 域套接字
  • 我需要将此服务器用于socket.io,如何在没有端口号的情况下从客户端调用服务器

标签: node.js express


【解决方案1】:

代码中的问题,你没有定义默认端口。为了设置你的默认端口,你必须这样做。

var port = process.env.PORT || '';//put your default port here in ''.

并在环境中设置您的 PORT

export PORT="your port number"(in terminal)

【讨论】:

  • 仍然 server.address() 返回端口为 \\.\pipe\ae6fc53d-7c5f-4d04-9041-4cfb6e613f6c
  • 你能做到吗 var port = 122;//在这里设置你的端口号
猜你喜欢
  • 1970-01-01
  • 2012-05-05
  • 2020-03-14
  • 1970-01-01
  • 1970-01-01
  • 2011-05-07
  • 1970-01-01
  • 1970-01-01
  • 2014-08-04
相关资源
最近更新 更多