Не могу начать играть! сервер на ec2 (play! framework)
Недавно я создал новые экземпляры ec2 (быстрый запуск) и попытался развернуть свою Play! приложение группа безопасности дает доступ к порту 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
Я искал всю сеть, но я не понял это, помогите мне, пожалуйста!
ПРИМЕЧАНИЕ: я просто решаю это все, что мне нужно сделать, это начать с sudo.
2 ответа
Поскольку вы привязываетесь к порту ниже 1024, он должен быть запущен с правами root.
Попробуйте что-то вроде:
sudo play start 80
Для развертывания в EC2 вы должны создать автономную версию вашего приложения на локальном компьютере, используя:
play dist
Затем вы копируете сгенерированный.zip в ваш экземпляр EC2 с помощью scp, распаковываете его с помощью unzip.
Затем вы захотите запустить ваше приложение так:
sudo nohup yourAppName-version/bin/yourAppName -Dhttp.port=80
sudo для возможности привязки к порту ниже 1024.
nohup, чтобы иметь возможность выйти из сеанса ssh без отправки сигнала HUP в ваше игровое приложение.
yourAppName-version / bin / yourAppName, замененное на имя и версию ВАШЕГО приложения, должно быть там, где находится ваш скрипт.
-Dhttp.port - это опция для привязки к данному порту.
Дополнительная информация: вам следует подумать о добавлении -J-Xms128M -J-Xmx512m, чтобы избежать проблем с выделением ОЗУ (я использую микроэкземпляры, адаптируясь к вашим потребностям).