mod_perl

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

mod_perl — додатковий модуль для вебсервера Apache, що інтегрує інтерпретатор мови програмування Perl.

Однією з переваг використання mod_perl є значне (іноді у 200 разів) збільшення пропускної здатності вебсервісів написаних з використанням mod_perl. Це зумовлено тим, що вебсерверу не треба для кожного запиту запускати інтерпретатор Perl, код компілюється одноразово при старті вебсервера.

Також mod_perl забезпечує повний доступ до API вебсервера, що дозволяє програмісту мати доступ до кожного етапу обробки запиту вебсервером. Слід зазначити, що mod_perl надає можливість розробки динамічних конфігураційних файлів вебсервера Apache написаних на Perl, що є досить унікальною особливістю.

Приклад використання

[ред. | ред. код]

Приклад динамічног конфігураційного файлу вебсервера Apache

<Perl>
my $host = 'example.net';
push @{$VirtualHost{'*:8080'}}, {
    ServerName                      => $host,
    DocumentRoot                    => '/var/www/'.$host,
    PerlSwitches                    => '-Mlib=/var/www/'.$host.'/lib',
    PerlOptions                     => '+Parent -ParseHeaders',
    Location => {
        '/' => {
            SetHandler              => 'perl-script',
            SetInputFilter          => 'apreq2',
            PerlResponseHandler     => 'Index'
        }
    }
};
</Perl>

Приклад обробки запиту для вище зазначеного конфігураційного файлу

package Index;

use Apache2::Const qw/OK/;

sub handler {
    my $r = shift;
    $r->content_type('text/html');
    print 'Hello world';
    return OK;
}

1;

Посилання

[ред. | ред. код]

Література

[ред. | ред. код]