Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Функциональные языки: общие вопросы > Erlang-web, проблема локализована


Автор: HomoСreatrix 16.4.2012, 10:45
Кто в теме, помогите, пожалуйста!

Поставил erlang-web без проблем(Linux Ubuntu).

# git clone git://github.com/esl/erlang-web.git
# cd erlang-web
# bin/compile.erl
# bin/start.erl
# bin/start_interactive  (Имя скрипта с подчерком, запомним это!)

Но он запускается только в start_interactive моде, сайт доступен из коробки.
При попытке запустить в start моде, т.е как сервис (по документации), выдает сообщение, что Erlang Web вроде работает. Однако, при этом сайт не доступен. В логах пишет ошибку, что не может найти файлы start.boot и start.script, которые он должен сам же создавать, и о которых он отчитался, что они созданы. Однако, файлов нет. Поэтому, он сваливается в дамп.  Анализировать дамп не имеет смысла, он не для людей и ошибка понятна. При анализе скриптов compile.erl и start.erl, которые должны генерировать эти файлы, обнаружил, что они только печатают имя файла, но больше ничего не делают, как будто так задумали разработчики. Создать эти файлы самостоятельно не представляется возможным, они не документированы. Подстановка одноименных файлов из других мест не помогла.

Вариант(из документации) start пробел interactive также не работает.

Попытался заставить работать "работающий" вариант.
При попытке запустить его в start_interactive моде, но в фоновом режиме &, сайт перестает быть доступным.
Обернул его в shell скрипт и загрузил как сервис, с тем же результатом.
Вообще он сам должен работать как сервис из коробки.

Что делать? Мне не нужен в продакшене Erlang-web в интерактивной моде, мне нужен "сервис".

Автор: dlebedev 24.4.2012, 23:44
Не знаю, как у вас, а мне помогло добавление в файл releases/0.1/start.rel такой записи:
Код

{public_key, "0.11"}

Номер версии уж сами определите. А вообще, чтобы увидеть, на что у вас конкретно жалуется скрипт, удалите слово silent в параметрах функции systools:create_script/2 в функции start:generate_boot_file/0
То есть, должно быть так:
Код

generate_boot_file() ->
    systools:make_script("start", [{path, ["releases/0.1", "lib/*/ebin"]}, 
                   {outdir, "releases/0.1/"}]),

У меня жалоба была:
Цитата

Undefined applications: [public_key]

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)