【问题标题】:port 100 not running in node.js in localhost端口 100 未在 localhost 的 node.js 中运行
【发布时间】:2015-09-28 06:32:36
【问题描述】:

我在 node.js 中使用以下代码创建了一个 http 服务器,并尝试在端口 100 上运行它:

var http = require("http");

http.createServer(function (request, response) {
    response.writeHead(200, {'Content-Type': 'text/plain'});
    response.end("Howdy");
}).listen(100);

console.log("server running on port 100"); 

这样,服务器无法启动,我在 linux 控制台上收到以下错误消息:

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: listen EACCES
    at errnoException (net.js:901:11)
    at Server._listen2 (net.js:1020:19)
    at listen (net.js:1061:10)
    at Server.listen (net.js:1135:5)
    at Object.<anonymous> (/home/badhai/Desktop/mainn.js:6:4)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)

但是如果我在 100 端口上启动一个sails.js 应用程序,它在 100 端口上运行成功。但是,上面的代码在 8081 端口上运行成功。我想知道我是否需要对服务器创建方法进行任何更改或其他地方,以便它可以在端口 100 上成功运行?

【问题讨论】:

    标签: node.js sails.js port httpserver


    【解决方案1】:

    错误消息中的EACCES 部分是这里的关键——这意味着您无权访问该端口。

    【讨论】:

      【解决方案2】:

      大多数现代操作系统将保留端口(小于 1024)的绑定限制为以 root(或同等身份)运行的进程。

      【讨论】:

        【解决方案3】:

        如果你绝对必须绑定到端口 100,谷歌搜索会给你很多方法来做到这一点:

        https://gist.github.com/firstdoit/6389682

        【讨论】:

          【解决方案4】:

          最好使用大于 1024 的端口。我使用的是从 3000 开始的端口。但是如果您真的想在端口 100 上启动它并且您了解自己在做什么,那么请安装 setcap 并允许绑定端口

          > sudo apt-get install setcap
          > sudo setcap 'cap_net_bind_service=+ep' /usr/local/bin/node
          

          NodeJS 也可以安装在其他目录中,因此最好检查它的位置并使用您的路径调用上面的setcap 命令。

          > which node
          /usr/local/bin/node
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2022-01-03
            • 2017-01-14
            • 2012-02-12
            • 1970-01-01
            • 1970-01-01
            • 2023-01-19
            • 2018-02-20
            • 2013-10-02
            相关资源
            最近更新 更多