我尝试在wf_core.erl
和sys.config
中更改端口,但现在它甚至无法初始化网络服务器。
检查是否有东西使用80端口 - 它是免费的。
答案 0 :(得分:5)
如果您需要运行80端口,则应安装authbind。 创建文件
/etc/authbind/byport/80
并设置rwx对您需要运行的用户的访问权限。 然后执行
authbind --deep ./start.sh
P.S。您只需要在sys.config中指定端口。 在web_sup中,您应该使用
wf:config(port)
喜欢https://github.com/synrc/n2o_sample/blob/master/src/web_sup.erl#L17
你不应该触摸wf_core,它的默认端口是8000,它是从配置使用端口。
答案 1 :(得分:4)
基本原因是在大多数unix中只有root可以绑定到1024以下的端口。
根据您运行的操作系统,有几种方法可以解决这个问题,
我们在端口8000上运行并在负载均衡器或防火墙处将其映射到80。
如果您不想这样做,请查看此页面:http://yaws.hyber.org/privbind.yaws 雅司但是那里的一切仍然适用于任何二郎系统。
答案 2 :(得分:1)
您可以通过iptables将端口转发从端口80转移到8000:
sudo iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --dport 8000 -j ACCEPT
sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8000