仅供参考:您不能在具有普通用户许可的情况下在<1024端口上运行套接字。您需要具有root访问权限。
共有3种解决错误的方法:-
1.授予root访问权并运行它(这是通常的一种)
2.重定向到其他端口
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000
然后在端口3000上启动我的Node.js。对端口80的请求将映射到端口3000。
您还应该编辑/etc/rc.local文件,并添加减去sudo的那一行。这将在计算机启动时添加重定向。您不需要/etc/rc.local中的sudo,因为在那里的命令在系统启动时以root身份运行。
3.赋予普通用户使用套接字作为root用户的能力
目标:-我们不提供完全的root用户访问权限,而仅授予普通用户访问socket_root的权限以在任何端口上运行服务器。
我们不希望以root用户身份运行您的应用程序,但是有一个麻烦:您的安全用户没有使用默认HTTP端口(80)的权限。您的目标是通过导航到易于使用的URL(如)来发布访问者可以使用的网站
http://localhost。
不幸的是,除非您以root用户身份登录,否则通常必须使用类似
http://localhost:3000-注意端口号的URL 。
很多人被困在这里,但是解决方案很容易。有几种选择,但这是我喜欢的选择。键入以下命令:
sudo apt-get install libcap2-binsudo setcap cap_net_bind_service=+ep `readlink -f `which node``
现在,当您告诉Node应用程序您希望它在端口80上运行时,它不会抱怨。
参考链接
来自Apache的常规信息参考链接



