我使用node.js和socket.io。
我的应用程序运行在3000端口。 应用程序从以下网址启动:mydomain.com:3000/
我想从mydomain.com运行应用程序 - 我想从网址中删除端口。
我应该在哪里以及如何设置此设置?
查找你的server.listen
调用,并将端口从3000
更改为80
。不要忘记在Linux系统上绑定到小于1024的端口时需要使用CAP_NET_BIND_SERVICE
功能(有关详细信息,请参见capabilities(7)
)。root
权限将包含此权限以及其他权限。
root
身份运行它?您能吗? - sarnoldnode server.js
你需要
sudo node server.js
假设您在尝试运行它的机器上拥有sudo权限。否则,您将遇到EACCESS问题。这就是sarnold试图告诉您的内容。
因为我也使用apache,所以我是这样做的,我不能使用端口80,因为它被占用了。所以,我设置了一个代理。我设置我的/src文件夹被忽略。
<VirtualHost *:80>
DocumentRoot "/Library/WebServer/Documents/www.mysite.com"
ServerName local.www.mysite.com
ServerAlias local.www.mysite.com
ProxyPass /src !
ProxyPass / http://local.www.mysite.com:3000/
ProxyPassReverse / http://local.www.mysite.com:3000/
</VirtualHost>
[Fri Nov 29 18:45:45 2013] [error] (111)Connection refused: proxy: HTTP: attempt to connect to my.IP.addr.0:3000 (www.mydomainname.com) failed
。你正在使用哪个代理模块(http、ftp、ajp等)? - Boyang首先,你可能希望从本地主机“127.0.0.1”运行应用程序。你可以通过在node.js设置中省略端口来删除端口。默认情况下,Web浏览器会在端口80上寻找服务器。如果出于某种原因你想让服务器运行在端口3000上,则必须将其包含在URL中。