如何在80端口上运行n2o?

时间:2013-10-09 06:10:27

标签: erlang webserver n2o

我尝试在wf_core.erlsys.config中更改端口,但现在它甚至无法初始化网络服务器。

检查是否有东西使用80端口 - 它是免费的。

3 个答案:

答案 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