Узнайте, как кодировать сервер с помощью Elixir и Plug.

Из этой истории вы узнаете, как построить простой сервер с помощью Elixir и Plug.

Примечание

Если вы хотите узнать больше о том, что такое Elixir, и о различиях между Elixir и Node.js, обязательно ознакомьтесь с моими предыдущими историями.





Давайте начнем!

Кодируем наш сервер

Я обычно объясняю технологию и язык, который мы будем использовать, прежде чем перейти к коду.

Но я уже написал несколько историй об Эликсире, поэтому не думаю, что мне нужно объяснять, что это за Эликсир.

Создание нового проекта

Во-первых, нам нужно создать новое приложение на Эликсире. Просто запустите команду ниже, но измените имя проекта на любое другое.

mix new server --sup

Я назвал свое приложение «сервером». Очень креативно, правда? Ха-ха. Как я уже сказал, вы можете называть это как хотите.

Мы используем флаг --sup для создания контролируемого приложения.

Добавление зависимостей

Мы будем использовать Plug.Cowboy для создания нашего сервера. Добавьте его в свое приложение, как в примере ниже.

Теперь выполните команду ниже, чтобы получить и установить библиотеку.

mix deps.get

Вот и все! Вы добавили Plug.Cowboy в свое приложение.

Сборка нашего роутера

Чтобы обрабатывать запросы и отправлять ответы, нам нужно сделать маршрутизатор. Вы можете использовать приведенный ниже пример, чтобы построить его. Я объясню, как это работает через секунду.

Создайте файл router.ex в каталоге lib/<your-app-name> и добавьте в него приведенный ниже код.

Как видите, на самом деле это довольно просто.

Если вы сделаете запрос GET на «/», он отправит обратно «Добро пожаловать». Но если URL-адрес, который вы посещаете, не соответствует ни одному маршруту, он отправит ответ «Не найден».

Примечание

Вы можете добавить сюда сколько угодно маршрутов. Конечно, вы можете делать больше, чем просто получать запросы GET. Вы можете получать любые HTTP-запросы и делать такие вещи, как пересылка.

Я не буду здесь показывать, как это делать, но если вы хотите узнать об этом больше, обязательно прочтите онлайн-документацию.



Настройка нашего прикладного модуля

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

Я не буду здесь объяснять модуль приложения и прочее вроде супервизоров, так как планирую написать отдельную историю для OTP.

Просто добавьте приведенный ниже код в файл application.ex, и все будет в порядке.

Если вы этого не понимаете, не волнуйтесь. Я буду объяснять подобные вещи более подробно в своих будущих рассказах об OTP.

Запуск нашего сервера

Теперь мы наконец можем запустить наш сервер! Выполните команду ниже и перейдите к localhost:4000 в своем браузере. Вы должны увидеть наше приветственное сообщение.

mix run --no-halt

А теперь попробуйте перейти по неизвестному URL-адресу, например localhost:4000/settings. Там вы должны увидеть сообщение «Не найдено».

Последние мысли

Вы только что узнали, как построить сервер в Elixir and Plug! Не стесняйтесь читать документацию и улучшать этот проект самостоятельно. Как я уже сказал, очень скоро напишу рассказ об ОТР.

Надеюсь, эта история вам помогла. Я хотел бы услышать, что вы думаете об этой истории!

Вот и все. Спасибо, что прочитали этот рассказ!

Если вам понравилась история, не забудьте аплодировать ей! И не стесняйтесь спрашивать меня о чем угодно.

Подпишись на меня в Твиттере:



Поддержите меня на Patreon: