О чем я говорю? Как запускается почти каждое веб-приложение Erlang? Не знаю у кого, а у меня, как правило, из строк кода, отвечающих за запуск Cowboy и обслуживание запросов.
С функцией обновления правил маршрутизации.
И всегда одно и то же - только маршруты разные, порт и количество акцепторов, может быть.
И это можно сделать проще.
Вы уже догадались, к чему я клоню? Нет, это не просто еще один фреймворк.
Это превращает встроенный ковбой в отдельно запускаемое приложение.
То есть мы пишем свое приложение, обработчики Cowboy, но самого Ковбоя не трогаем.
Совсем.
Мы не указываем никаких зависимостей и не запускаем их при запуске приложения.
Любопытный? Добро пожаловать в кот. Вместо этого, когда приложение готово, мы запускаем команду в консоли
и чудесным образом наше приложение запускается и вы можете любоваться им на порту 8080. Остановить его так же просто:cowboyd start myapp /path/to/myapp 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
-
Teeworlds По-Новому
19 Oct, 24 -
3D Фрезерный Станок? Нет, 3D-Принтер. Эпилог
19 Oct, 24 -
Покажут Ли Новый Iphone 3G?
19 Oct, 24