无法开始玩! ec2上的服务器(play!framework)

最近我创build了一个新的ec2实例(快速启动),我试图部署我的玩! 应用程序安全组可以访问端口80和端口22(SSH),但是当我运行:

play start 80 

它给了我这个

 [error] org.jboss.netty.channel.ChannelException: Failed to bind to: /0.0.0.0:80 [error] Use 'last' for the full log. 

这意味着当我运行时使用80端口

 netstat -tlnp 

我明白了

  Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 3692/sendmail tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3653/sshd tcp 0 0 :::22 :::* LISTEN 3653/sshd 

我搜查了所有的networking,但我没有弄明白,请帮助我!

注:我只是解决这个我所要做的就是用sudo启动它。

由于您绑定到低于1024的端口,因此必须以root权限启动。

尝试像这样:

 sudo play start 80 

要在EC2上进行部署,您应该使用以下命令在您的本地计算机上创build一个独立版本的应用程序:

 play dist 

然后,使用scp将生成的.zip复制到EC2实例,使用unzip将其解压缩。

然后你会想运行你的应用程序,如下所示:

 sudo nohup yourAppName-version/bin/yourAppName -Dhttp.port=80 

sudo为了能够绑定到1024以下的端口。

nohup为了能够退出SSH会话,而不发送HUP信号到您的播放应用程序。

yourAppName-version / bin / yourAppNamereplace为您的应用程序的名称和版本应该是脚本的位置。

-Dhttp.port是绑定到给定端口的选项。


附加信息:您应该考虑添加-J-Xms128M -J-Xmx512m以避免RAM分配问题(我使用微型实例,根据您的需要进行调整)。