Yaws - лёгкий web сервер на Erlang

Недавно на всех серверах кои я администрирую, решил сменить lighttpd на что либо ещё более лёгкое, и конечно же, под чем либо более лёгким, я имел в виду nginx. Однако, раз уж я захотел сменить web сервер, то я не мог не посмотреть из интереса на другие лёгкие web сервера, и не мог не заметить web сервер Yaws.

Yaws (Yet Another Web Server) - web сервер написанный на языке Erlang. На языке, который по праву считается крайне производительным. Тоже самое можно сказать и об самом web сервере: по сравнению с apache2, yaws - просто реактивный.

Yaws поддерживает два режима работы:

  • Как отдельный web сервер
  • Как интегрированный web сервер в другое erlang приложение

Я опишу первый вариант.

Установка

Для работы web сервера само собой требуется erlang. Он установится как зависимость от yaws:

sudo aptitude install yaws

Настройка

Конфиг у yaws'а крайне простой, и понятный. Всё что мне потребовалось сделать для работы, это добавить хосты, и несколько строчек для php. Кстати о виртуальных хостах. Мне очень сильно понравилось то, как организована работа с ними в yaws. Всё довольно просто, прозрачно и удобно.

# проверьте чтобы было установлено в true
pick_first_virthost_on_nomatch = true

<server localhost>
        port = 80
        listen = 0.0.0.0
        <redirect>
                / = example.com
        </redirect>
</server>

<server example.com>
        port = 80
        listen = 0.0.0.0
        docroot = /var/www/example.com
        dir_listings = true
</server>

Всё довольно просто и понятно. Вначале мы делаем редирект на основной домен при обращении к серверу по ip адресу, или другими обходными способами. Далее добавили один домен.

PHP

Yaws прекрасно работает с php. Всё что нужно - это добавить несколько строчек в файл конфигурации.

Во первых путь до php5-cgi:

php_exe_path = /usr/php/bin/php-cgi

И к каждому виртуальному хосту на котором нужен php, добавить allowed_scripts = php:

<server example.com>
        port = 80
        listen = 0.0.0.0
        docroot = /var/www/example.com
        dir_listings = true
        allowed_scripts = php
</server>

Этим не ограничиваются возможности yaws. Больше о его возможностях и документация - на официальном сайте Yaws.


Понравилась статья? Поделись с друзьями!




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