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