Установка сервера Yaws в Ubuntu 12.04 (с использованием облачного сервиса)

Я пытаюсь настроить веб-сервер Yaws на облачный сервис (Amazon AWS). Я собрал и установил локальную копию на сервере. Моя проблема в том, что я не могу запустить Yaws во время работы на порту 8000 или 80.

У меня есть следующая конфигурация в yaws.conf:

port = 8000
listen = 0.0.0.0
docroot = /home/ubuntu/yaws/www/test
dir_listings = true

Это приводит к следующему успешному запуску / результату:

Eshell V5.8.5 (abort with ^G)

=INFO REPORT==== 16-Sep-2012::17:21:06 === Yaws: Using config file /home/ubuntu/yaws.conf

=INFO REPORT==== 16-Sep-2012::17:21:06 === Ctlfile : /home/ubuntu/.yaws/yaws/default/CTL

=INFO REPORT==== 16-Sep-2012::17:21:06 === Yaws: Listening to 0.0.0.0:8000 for <3> virtual servers: - http://domU-12-31-39-0B-1A-F6:8000 under /home/ubuntu/yaws/www/trial -

=INFO REPORT==== 16-Sep-2012::17:21:06 === Yaws: Listening to 0.0.0.0:4443 for <1> virtual servers: -

Когда я пытаюсь получить доступ к 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

и я получаю следующую ошибку:

=ERROR REPORT==== 16-Sep-2012::17:24:47 === Yaws: Failed to listen 0.0.0.0:80 : {error,eacces}

=ERROR REPORT==== 16-Sep-2012::17:24:47 === Can't listen to socket: {error,eacces}         
=ERROR REPORT==== 16-Sep-2012::17:24:47 === Top proc died, terminate gserv =ERROR REPORT==== 16-Sep-2012::17:24:47 === Top proc died, terminate gserv =INFO REPORT==== 16-Sep-2012::17:24:47 === application: yaws exited: {shutdown,{yaws_app,start,[normal,[]]}} type: permanent {"Kernel pid terminated",application_controller," {application_start_failure,yaws,>>>>>>{shutdown,>{yaws_app,start,[normal,[]]}}}"}

Я также открыл порт 80 с помощью iptables. Запуск 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 anywhere tcp dpt:http ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED ACCEPT tcp -- anywhere anywhere tcp dpt:http ACCEPT tcp -- anywhere anywhere tcp dpt:http

Chain FORWARD (policy ACCEPT) target prot opt source destination

Chain OUTPUT (policy ACCEPT) target prot opt source destination

Кроме того, я перешел на панель группы безопасности в области конфигурации Amazon AWS и добавил порты 80, 8000 и 8080 в ip source 0.0.0.0.

Обратите внимание: если вы попытаетесь получить доступ к URL-адресу виртуального сервера сейчас, он, скорее всего, не подключится, потому что в данный момент я не запускаю демон yaws. Я проверил это, когда я бегу рыскать через рыскания или рыскания -i

Спасибо за терпение

1 ответ

Если вы установите службу на порт 8000, то вам нужно использовать порт 8000 в вашем URL. Например:

http://ec2-72-44-47-235.compute-1.amazonaws.com:8000/

Также проверьте свой Elastic IP и убедитесь, что он все еще связан с экземпляром.

Другие вопросы по тегам