Skip to end of metadata
Go to start of metadata

Что такое Mojolicious?

По состоянию на версию 1.21 это экспериментальная функция!!!

Mojolicious — программный каркас, предназначенный для создания веб-приложений на языке Perl с использованием парадигмы модель-вид-контроллер.

В данном случае Mojolicious используется как демон процесс для REST API. Скорость ответа REST API ускоряется в несколько раз, если использовать демона Mojolicious.

Настройка

Установка модуля

Установка с CPAN

Установка PERL модуля
cpan
install Mojolicious::Lite

Настройка apache

Включение apache2 модулей

a2enmod headers
a2enmod proxy
a2enmod proxy_http
service apache2 restart #или другая команда в зависимости от Вашей ОС

Настройка apache abills_httpd.conf. Нужно добавить следующий код в блок <VirtualHost

    <Proxy *> 
        Order deny,allow
        Allow from all
    </Proxy>

    ProxyRequests Off
    ProxyPreserveHost On
    ProxyPass /api/ http://localhost:3000/ keepalive=On
    ProxyPassReverse /api/ http://localhost:3000/
    RequestHeader set X-Forwarded-HTTPS "0"
    ProxyTimeout 1000

Настройка config.pl

в качестве примера приведен демо ABillS

$conf{BILLING_URL}='https://demo.abills.net.ua:9443/';

Запуск демона

Базовый запуск 

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

Дев демон

cd /usr/abills/libexec/
morbo api.pl

Продакшн демон

cd /usr/abills/libexec/
hypnotoad api.pl

Другой порт нежели 3000

Если в настройках apache2 иной порт нежели 3000, запуск делать следующей командой. {PORT} - это порт который в настройках apache

Дев демон

cd /usr/abills/libexec/
morbo -l http://localhost:{PORT} api.pl

в config.pl прописать опцию:

$conf{API_MOJO_PORT}='{PORT}';

Продакшн демон

cd /usr/abills/libexec/
hypnotoad api.pl

Где выполняется и как найти?

Можно найти по ссылке {ваш биллинг}/api, старый скрипт все равно будет выполняться по ссылке {ваш биллинг}/api.cgi

  • No labels