如何在默认端口上设置节点js app?

时间:2016-06-13 14:53:28

标签: javascript node.js server

我的Apache也在我的机器上运行,我必须在不添加端口号的情况下运行我的应用程序。

当我使用以下内容从http://localhost:2121访问它时,它可以正常工作:

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('hello');
}).listen(2121);
console.log('Server running');

如何将其设置为使用http://localhost(最后没有端口号。)

2 个答案:

答案 0 :(得分:2)

Apache正在为您占用80端口。如果您尝试使用端口80启动节点服务器(假设您的apache已启动),您将收到权限错误。正确的方法是反向代理您的节点应用程序并通过apache提供服务。您的apache配置应如下所示。

         <VirtualHost *:80>
           ServerName localhost
           ServerAlias localhost
           DocumentRoot /path/to/your/node/app
           Options -Indexes
           ProxyRequests on
           ProxyPass / http://localhost:2121/
         </VirtualHost>

另外,我建议你尽可能使用Nginx,让生活更轻松......

答案 1 :(得分:0)

默认情况下,http端口在80端口上运行,所以如果你喜欢这个

`

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('hello');
}).listen(80);
console.log('Server running');

`

您可以通过http://localhost/

访问您的内容

还记得你不能在一个端口上运行多个应用程序。它不起作用。