Архив рубрики: mod_perl — документация

Что такое mod_perl. Его преимущества и недостатки

mod_perl 1.0

mod_perl — это дополнительный модуль для веб-сервера Apache, встраивающий полнофункциональный интерпретатор языка Perl в сервер.

В случае работы с mod_perl, интерпретатор Perl подгружается и запускается
только один раз
, при запуске процесса Apache. Выполнение программного кода происходит намного быстрее, чем при работе через mod_cgi, т.к. нет необходимости заново запускать интерпретатор Perl для каждого скрипта.

Читать далее

Как Apache обрабатывает поступивший запрос — 2. Модель процессов prefork

Сервер Apache 1.X на Unix-платформах использует для работы модель процессов prefork.

При запуске сервера стартует один-единственный процесс (родительский). Его главное назначение — создавать (с помощью fork() ) и завершать дочерние процессы по мере необходимости. Конфигурационные директивы Apache позволяют контролировать количество порождаемых процессов.

Обработкой клиентских запросов занимаются дочерние процессы. Один дочерний процесс в один момент времени может обрабатывать только один запрос. Чтобы обслужить в один момент времени, например, 1000 клиентов, требуется 1000 одновременно работающих процессов.
Срок жизни порожденного процесса определяется директивой MaxRequestsPerChild. Директива определяет количество запросов, которое будет обработано процессом, после чего процесс заменяется новым.

Читать далее

Краткая документация по Apache::Registry

  1. Что такое Apache::Registry
  2. Особенности разработки под Apache::Registry
    1. Использование exit()
    2. Использование die()
    3. Использование STDIN, STDOUT и STDERR
    4. Использование print()
    5. Использование __END__ и __DATA__
    6. Переменные окружения $ENV {SERVER_NAME}, $ENV {REMOTE_USER} и др.
    7. Использование массива @INC
    8. Перезагрузка модулей
      1. Перезагрузка сервера
      2. Использование Apache::StatINC

  3. Полезные ссылки

Читать далее

Обзор Apache::PerlRun

Apache::PerlRun — это модуль Apache, который эмулирует CGI-окружение для выполнения Perl-скриптов. Основные принципы работы аналогичны Apache::Registry.

Скомпилированные скрипты не кешируются, и при каждом запросе считываются и компилируются заново.

Для работы с Apache::Registry скрипты должны соответствовать некоторым требованиям, чтоб избежать ошибок при выполнении и утечек памяти. Для работы под Apache::PerlRun изменять скрипты не требуется, т.к. память очищается после выполнения каждого запроса.

Читать далее

Apache::DBI

Краткое описание Apache::DBI

Одна из проблем обычных cgi-скриптов в том, что они не позволяют поддерживать постоянное соединение с базой данных (БД).

Во время выполнения каждого запроса скрипт создает новое соединение с БД, выполняет некоторую работу и закрывает соединение. Процесс подключения к БД занимает много времени. Обеспечивая постоянное соединение с БД, можно существенно сократить время выполнения скриптов и нагрузку на сервер.

При использовании с mod_perl, Apache::DBI позволяет поддерживать соединение с БД в течении всего времени жизни процесса mod_perl. Соответственно, при поступлении нового запроса, процессу нет необходимости устанавливать новое соединение и можно сразу приступать к работе.

Подключение Apache::DBI, httpd.conf:

Читать далее