如何在Linux服务器上的端口80上启动node.js?

当我尝试在端口80上启动节点时,错误告诉我该端口正在使用中。 我想那是Apache。

什么是“接pipe”端口80的正确方法,并在服务器重启后保持这种方式?

(Linux xxxx。_ _.com 2.6.32-5-amd64#1 SMP Tue Jun 14 14:42:28 UTC 2011 x86_64 GNU / Linux)

您可以使用ip表将端口80映射到8000

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8000 

使其永久

 sudo sh -c "iptables-save > /etc/iptables.rules" 

并添加

 pre-up iptables-restore < /etc/iptables.rules 

到你的/ etc / network / interfaces

当另一个进程正在监听端口时,要接管端口80,必须终止进程(或者以某种方式告诉它停止监听)。 为了确保Apache在下次启动时不再尝试在端口80上进行监听,您需要编辑其配置或防止其启动。

要查看在端口80上侦听哪个进程,请运行sudo netstat -ntap并查找Local Address以端口:80结尾的行。 进程的PID(和名称)在最右边的列中。

你可以使用Node.js和node-http-proxy勾选这个链接如何在node-http-proxy旁边使用vhosts? 以及如何在端口80上运行Node.js?

感谢和问候,
阿洛克

一个不断运行的未使用的Apache可能是一个安全漏洞,无论如何没有意义的运行未使用的服务。

关于你在Ubuntu的机会,这是我用的..

 sudo service apache2 stop sudo update-rc.d apache2 remove