@Radist_101

Как запустить cowboy сервер?

Всем привет!
Пробую запустить echo server с примера https://github.com/robertmeta/cowboy-examples/tree...
Мой rebar.config
{deps, [
{cowboy, ".*", {git, "https://github.com/ninenines/cowboy.git", {branch, "master"}}}
]}.

Загружаю зависимости, компилирую. После запуска сервера erl -pa ebin deps/*/ebin -s echo_get попадаю в shell, как я понимаю сервер должен работать, но сервер не доступен на localhost:8080. Помогите разобраться, что я делаю не так?
  • Вопрос задан
  • 870 просмотров
Пригласить эксперта
Ответы на вопрос 2
5HT
@5HT
Erlang
Вот пример как запускать cowboy одним файлом под супервизором приложения. Пример взят из документации по N2O — Setup Web Server, это стандартный шаблон application и supervisor в одном флаконе. Здесь использованы два статических эндпойнта, один вебсокет эндпойнт и один HTTP/1 эндпойнт.

-module(sample).
  -behaviour(supervisor).
  -behaviour(application).
  -export([init/1, start/2, stop/1, main/1]).

  start(_,_) -> supervisor:start_link({local,review},review,[]).
  stop(_)    -> ok.
  init([])   -> case cowboy:start_http(http,3,port(),env()) of
                     {ok, _}   -> ok;
                     {error,_} -> halt(abort,[]) end, sup().

  sup()    -> { ok, { { one_for_one, 5, 100 }, [] } }.
  port()   -> [ { port, application:get_env(n2o,port,8000)  } ].
  env()    -> [ { env, [ { dispatch, points() } ] } ].
  static() ->   { dir, "apps/sample/priv/static", mime() }.
  n2o()    ->   { dir, "deps/n2o/priv",           mime() }.
  mime()   -> [ { mimetypes, cow_mimetypes, all   } ].
  points() -> cowboy_router:compile([{'_', [

              { "/static/[...]",       n2o_static,  static()},
              { "/n2o/[...]",          n2o_static,  n2o()},
              { "/ws/[...]",           n2o_stream,  []},
              { '_',                   n2o_cowboy,  []} ]}]).
Ответ написан
Комментировать
begemot_sun
@begemot_sun
Программист в душе.
Чего это за примеры такие древние? Сейчас ковбой уже совсем другой чем 4 года назад. Может стоит использовать официальные примеры ?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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