Cowboyd: Demonizing Cowboy, Встроенный Веб-Сервер Для Erlang



О чем я говорю? Как запускается почти каждое веб-приложение Erlang? Не знаю у кого, а у меня, как правило, из строк кода, отвечающих за запуск Cowboy и обслуживание запросов.

С функцией обновления правил маршрутизации.

И всегда одно и то же - только маршруты разные, порт и количество акцепторов, может быть.

И это можно сделать проще.

Вы уже догадались, к чему я клоню? Нет, это не просто еще один фреймворк.

Это превращает встроенный ковбой в отдельно запускаемое приложение.

То есть мы пишем свое приложение, обработчики Cowboy, но самого Ковбоя не трогаем.

Совсем.

Мы не указываем никаких зависимостей и не запускаем их при запуске приложения.

Любопытный? Добро пожаловать в кот. Вместо этого, когда приложение готово, мы запускаем команду в консоли

  
  
  
  
  
  
  
   

cowboyd start myapp /path/to/myapp 8080

и чудесным образом наше приложение запускается и вы можете любоваться им на порту 8080. Остановить его так же просто:

cowboyd stop myapp

При этом, конечно, вы можете запускать сколько угодно приложений - главное не забыть дать им разные порты ;) Правила маршрутизации записываются в файл.

маршруты.

конфигурация в корневом каталоге вашего приложения.

Синтаксис — Эrlang, но вам не нужно объявлять модуль, экспортировать функции и, по сути, писать их.

проще посмотреть на примере маршруты.

конфигурация .

Если вам нужно обновить правила маршрутизации, просто выполните следующую простую команду:

cowboyd routes-update myapp

Код после обновления перезагружается автоматически благодаря утилите Синхронизировать .

Итак, с вступительной частью мы закончили, теперь основная и, в то же время, самая короткая часть.



Монтаж

Пойдем куда-нибудь, где мы поместим ковбоя

cd ~/github_projects

Клонирование репозитория проекта

git clone https://github.com/chvanikoff/cowboyd

Мы даем права на исполнение ковбою

chmod +x cowboyd/cowboyd

Свяжите Cowboyd куда-нибудь с исполняемым каталогом - например, /usr/bin

sudo ln -s cowboyd/cowboyd /usr/bin/cowboyd

Вот и все, теперь можно запускать тестовое приложение из репозитория.



cowboyd start webapp ~/github_projects/cowboyd/examples/webapp 8008

Приложение может сказать, что оно запущено по адресу http://localhost:8008 , использовать статический CSS из ~/github_projects/cowboyd/examples/webapp/priv/css и верните 404 для всех остальных страниц.

Как только вам это надоест, самое время написать что-нибудь свое и опробовать ковбоя в действии ;) Ссылка на репозиторий: github.com/chvanikoff/cowboyd Спасибо за внимание.

Теги: #erlang #Cowboy #cowboyd #github #OpenSource #разработка веб-сайтов #программирование #Erlang/OTP

Вместе с данным постом часто просматривают: