Windows服务器在端口80上运行nodejs app

时间:2015-12-01 05:48:01

标签: asp.net node.js iis hosting windows-server-2012-r2

我有一个已经托管了asp.net应用程序的Windows服务器以及使用IIS的几个网站。现在我必须在域上托管一个nodejs应用程序。但是我无法在端口80上运行这个应用程序。显示如下错误。

Microsoft Windows [Version 6.2.9200]
(c) 2012 Microsoft Corporation. All rights reserved.

    C:\Users\Administrator>cd C:\inetpub\wwwroot\app

    C:\inetpub\wwwroot\app>node server.js
    (node) util.puts is deprecated. Use console.log instead.
    Http Server running at http://serverip:80/
    events.js:141
          throw er; // Unhandled 'error' event
          ^

    Error: listen EACCES serverip:80
        at Object.exports._errnoException (util.js:849:11)
        at exports._exceptionWithHostPort (util.js:872:20)
        at Server._listen2 (net.js:1218:19)
        at listen (net.js:1267:10)
        at net.js:1376:9
        at doNTCallback3 (node.js:441:9)
        at process._tickCallback (node.js:347:17)
        at Function.Module.runMain (module.js:477:11)
        at startup (node.js:118:18)
        at node.js:952:3

    C:\inetpub\wwwroot\app>node server.js
    (node) util.puts is deprecated. Use console.log instead.
    Http Server running at http:/serverip:80/
    events.js:141
          throw er; // Unhandled 'error' event
          ^

    Error: listen EACCES serverip:80
        at Object.exports._errnoException (util.js:849:11)
        at exports._exceptionWithHostPort (util.js:872:20)
        at Server._listen2 (net.js:1218:19)
        at listen (net.js:1267:10)
        at net.js:1376:9
        at doNTCallback3 (node.js:441:9)
        at process._tickCallback (node.js:347:17)
        at Function.Module.runMain (module.js:477:11)
        at startup (node.js:118:18)
        at node.js:952:3

    C:\inetpub\wwwroot\app>

    C:\inetpub\wwwroot\app>

在研究中我发现IIS正在使用端口80.有没有办法在端口80上托管应用程序以及其他asp.net应用程序? 提前谢谢。

2 个答案:

答案 0 :(得分:1)

你的回答:对于TCP,NO。一次只能有一个应用程序在一个端口上进行侦听。 现在,如果您有2个网卡,您可以让一个应用程序侦听第一个IP,并使用相同的端口号在第二个IP上运行第二个应用程序。

对于UDP(多播),多个应用程序可以订阅同一个端口。

答案 1 :(得分:0)

我在经过长期研究后回答了我的问题。这对于寻找同一问题解决方案的人来说可能会有所帮助。

最后我开始了解iisnode模块,并且我已经使用iisnode托管了一个关于生产的应用程序。它工作很酷。你需要做的就是安装模块并遵循他们的指示。

https://tomasz.janczuk.org/2011/08/hosting-nodejs-applications-in-iis-on.html

正如上面的网址所描述的那样,它表示它具有很酷的功能。