Установка сервера 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,[]]}}}"}

I ' Мы также открыли порт 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 0.0 .0.0

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

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

5
задан 20 September 2012 в 13:06

1 ответ

Клайв ван Хильтен опубликовал комментарий , в котором содержится наилучший доступный ответ на этот вопрос. Он сказал (с небольшими изменениями):

Я ничего не знаю о челюстях, но читая вывод выше, я замечаю пару вещей:

  1. Ваш docroot /home/ubuntu/yaws/www/test, но Eshell сообщает:

    =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 -
    

    Обратите внимание на test в ваших docroot и trial в выходных данных Eshell. [+1121]

  2. Вы утверждаете, что « Я также открыл порт 80 с помощью iptables ». Но ваш номер порта в yaws.conf - это 8000, а не 80.

Кажется, исправление этих расхождений вполне может решить проблему.

0
ответ дан 20 September 2012 в 13:06

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

Похожие вопросы: