Сборник полезных программных решений Mojolicious.

Эта статья является урезанной версией оригинального перевода на сайте translated.by.
Оригинальная документация: Mojolicious::Guides::Cookbook.pod.
Данный перевод также внесен в раздел документации фреймворка Mojolicious на сайте perl5doc.ru под названием Mojolicious::Guides::Cookbook


РАЗВЕРТЫВАНИЕ

Запуск Mojolicious и Mojolicious::Lite приложений на различных платформах.

Встроенный сервер

Mojolicious имеет ультрапортативный HTTP 1.1 совместимый web-сервер. Обычно он используются при разработке, но он также достаточно стабильный и быстрый для небольших и средних приложений.

Другим большим преимуществом является то, что он поддерживает из коробки TLS и ВебСокеты

Встроенный Prefork Сервер

Чтобы допускать масштабирование с несколькими процессорами (ядрами) и снизить потери производительности из-за блокирующего (медленного) API, встроенный веб-сервер имеет многопроцессовый preforking режим. Это не работает на Windows из-за оптимизаций для UNIX, но это достаточно быстро и масштабируемо для больших приложений.

Nginx

Одним из наиболее популярных способов установки в настоящее время является встроенный preforking web сервер за инвертированным прокси Nginx. Также вожможно использование доменных сокетов UNIX. Встроенный web-сервер Mojolicious, конечно, так же их поддерживает.

Интересным побочным эффектом является то, что можно параллельно запустить несколько серверов, позволив им совместно использовать один и тот же сокет и файл блокировки. Это позволяет осуществлять так называемое горячее развёртывание, означающее полное отсутствие простоя во время обновления программ.

Apache/CGI

CGI поддерживается «из коробки», и ваше приложение на Mojolicious автоматически определит, что оно запущено как CGI-скрипт.

Apache/FastCGI

FastCGI тоже поддерживается «из коробки», и ваше приложение на Mojolicious автоматически определит, что оно запущено как FastCGI-скрипт.

PSGI/Plack

PSGI - это интерфейс между Perl веб-фреймворками и веб-серверами. Plack - это Perl модуль и набор разработчика, который содержит связующее ПО PSGI, вспомогательные инструменты и адаптеры для веб-серверов. На создание PSGI и Plack вдохновили Python WSGI и Ruby Rack. Приложения Mojolicious смехотворно просто разверачивать с помощью Plack.

Apache/mod_perl (PSGI/Plack)

mod_perl это хороший пример PSGI адаптера без использования plackup, помните что установка переменной окружения PLACK_ENV необходима Mojolicious для автоматического обнаружения PSGI.

IIS6.0/FastCGI

Мы не советуем использовать IIS, ибо это страшно нестабильный веб-сервер. Избегайте работы с ним, если это возможно.

Развлекаемся

Хаки, которые быть может и не очень полезны, но зато интересны! :)

Hello World

Если экономить на каждом байте, то самое маленькое Hello World приложение, написанное на Mojolicious::Lite, имеет следующий вид:

use Mojolicious::Lite;
get '/' => {text => 'Hello World!'};
app->start;

Это работает, потому что автоматический рендеринг срабатывает, даже если код фактически не выполняется маршрутизатором, рендерер только забирает значение text из stash и формирует ответ.

Statistic

About this Entry

This page contains a single entry by Dinar published on August 9, 2010 12:17 AM.

Mojolicious - Руководство по разработке was the previous entry in this blog.

Механизмы рендеринга в Mojolicious is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.