我正在尝试让 Yaws Web 服务器在云服务(亚马逊 AWS)上运行。我已经在服务器上编译并安装了一个本地副本。我的问题是在端口 8000 或端口 80 上运行时,我无法让 Yaws 运行。
我在 yaws.conf 中有以下配置:
port = 8000 listen = 0.0.0.0 docroot = /home/ubuntu/yaws/www/test dir_listings = true
这会产生以下成功的启动/结果:
Eshell V5.8.5(使用 ^G 中止)
=INFO REPORT==== 16-Sep-2012::17:21:06 === Yaws:使用配置文件 /home/ubuntu/yaws.conf
=信息报告==== 16-Sep-2012::17:21:06 === Ctlfile : /home/ubuntu/.yaws/yaws/default/CTL
=INFO REPORT==== 16-Sep-2012::17:21:06 === Yaws:收听 <3> 虚拟服务器的 0.0.0.0:8000:- http://domU-12-31-39 -0B-1A-F6:8000 下 /home/ubuntu/yaws/www/trial -
=INFO REPORT==== 16-Sep-2012::17:21:06 === Yaws:收听 <1> 虚拟服务器的 0.0.0.0:4443:-
当我尝试访问 url (http://ec2-72-44-47-235.compute-1.amazonaws.com) 时,它永远不会连接。我尝试使用 paping 检查端口 80 或 8000 是否打开(http://code.google.com/p/paping/)并且我收到“无法解析主机”错误,所以显然不是在职的。
我还尝试将 yaws.conf 设置为端口 80,如下所示:
port = 8000 listen = 0.0.0.0 docroot = /home/ubuntu/yaws/www/test dir_listings = true
我收到以下错误:
=错误报告==== 2012 年 9 月 16 日::17:24:47 === Yaws: 无法收听 0.0.0.0:80 : {error,eacces}
=错误报告==== 2012 年 9 月 16 日::17:24:47 === 无法监听套接字:{error,eacces} =错误报告==== 2012 年 9 月 16 日::17: 24:47 === Top proc 死亡,终止 gserv =ERROR REPORT==== 16-Sep-2012::17:24:47 === Top proc 死亡,终止 gserv =INFO REPORT==== 16-Sep -2012::17:24:47 === application: yaws exited: {shutdown,{yaws_app,start,[normal,[]]}} 类型:永久 {"Kernel pid terminate",application_controller," {application_start_failure,yaws ,>>>>>>{关机,>{yaws_app,start,[正常,[]]}}}"}
我还使用 iptables 打开了 80 端口。运行 sudo iptables -L 给出以下输出:
Chain INPUT (policy ACCEPT) target prot opt source destination
ACCEPT tcp -- ip-192-168-2-0.ec2.internal ip-192-168-2-16.ec2.internal tcp dpt:http ACCEPT tcp -- 0.0 .0.0 任何地方 tcp dpt:http 接受所有 -- 任何地方 ctstate RELATED,ESTABLISHED 接受 tcp -- 任何地方 tcp dpt:http 接受 tcp -- 任何地方 tcp dpt:httpChain FORWARD (policy ACCEPT) target prot opt source destination
Chain OUTPUT (policy ACCEPT) target prot opt source destination
谢谢你的耐心