CentOS: mod_perl, directadmin

Народная ссылка: CentOS: mod_perl, directadmin

Mod_perl -- это С модуль Apache, реализующий Perl интерпретатор + набор Perl модулей, предоставляющих следующие интересные возможности:

1. Кэширование откомпилированых cgi скриптов (Apache::Registry.pm)
2. Perl интерфейс к C API Apache
Большинство разработчиков используют mod_perl чтобы увеличить производительность своих скриптов -- Apache не запускает новый процесс при каждом запросе к script.pl, т.к. имеет теперь свой Perl интерпретатор, и не компилирует script.pl при каждом запросе, т.к. Apache::Registry.pm хранит ваши откомпилированые скрипты в кэше. Perl интерфейс к C API Apache используется разработчиками не так часто.

mod_perl 1.0

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

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

Преимущества, которые дает использование mod_perl, в сравнении с использованием стандартного интерпретатора Perl совместно с сервером Apache и mod_cgi:

  • возможность создания обработчиков Apache на языке perl;
  • доступ ко всем стадиям обработки http-запросов;
  • увеличение скорости выполнения скриптов за счет снижения затрат времени на регулярную загрузку интерпретатора;
  • увеличение скорости выполнения скриптов и снижение нагрузки на сервер за счет использования Apache::Registry;
  • наличие дополнительных модулей, которые позволяют использовать в разработках сессии, пароли и базы данных с сохранением преимуществ mod_perl;
  • возможность встраивания инструкций perl в конфигурационный файл сервера;
  • perl-интерфейс к API Apache;
  • ментальное: повышенные требования к качеству написания скриптов и как следствие - увеличение скорости выполнения программ и повышение уровня безопасности.

Недостатки mod_perl:

  • высокие требования к объему памяти.

mod_perl 2.0

Mod_perl 2.0 это mod_perl, который предназначен для работы с сервером Apache 2.0. Он учитывает те изменения, которые произошли в развитии Perl и Apache с момента появления mod_perl 1.0.

Наиболее заметные изменения - это появившаяся поддержка тредов на основе ithreads, поддержка работы с Apache::Test, значительные улучшения в обеспечении быстродействия, изменения в работе с Apache API и т.п.

 

Установка и настройка mod_perl 2.0 для apache 2 под directadmin

Устанавливаем mod_perl.

cd /usr/local/directadmin/customapache
./build clean
rm -f configure.*
./build update
./build update_data
./build apache
./buld php n
./build mod_perl

service httpd restart

Настраиваем mod_perl:

Вносим следующие изменения в httpd.conf:

LoadModule perl_module /usr/lib/apache/mod_perl.so

Опять рестарт апача и в логах видим подобную запись:

[notice] Apache/2.0.55-dev (Unix)
  mod_ssl/2.0.55-dev OpenSSL/0.9.7e DAV/2 mod_perl/2.0.2-dev
  Perl/v5.8.7 configured -- resuming normal operations

Чтобы включить registry scripts  добавьте следующие строки в httpd.conf:

Alias /perl/ /home/admin/domains/сайт.ru/public_html/perl/
<Location /perl/>
SetHandler perl-script
PerlResponseHandler ModPerl::Registry
PerlOptions +ParseHeaders
Options +ExecCGI
Order allow,deny
Allow from all
</Location>

и теперь создаем файл rock.pl:

# !/usr/bin/perl
  print "Content-type: text/plain\n\n";
  print "mod_perl 2.0 rocks!\n";

устанавливаем соответствующие права:

% chmod a+rx /home/admin/domains/сайт.ru/public_html/perl/rock.pl

перезапускаем апач-сервер и по следующему адресу http://localhost/perl/rock.pl получаем ответ:

mod_perl 2.0 rocks! 

Если не работает, проверяем логи ошибок.

Модули Handler

Теперь можно убедиться, что mod_perl работает.

Напишем следующий фал Rocks.pm и поместим его в директорию /perl/MyApache2/:

  #file:MyApache2/Rocks.pm
  #----------------------
  package MyApache2::Rocks;
 
  use strict;
  use warnings;
 
  use Apache2::RequestRec ();
  use Apache2::RequestIO ();
 
  use Apache2::Const -compile => qw(OK);
 
  sub handler {
      my $r = shift;
 
      $r->content_type('text/plain');
      print "mod_perl 2.0 rocks!\n";
 
      return Apache2::Const::OK;
  }
  1;

И также создаем файл startup.pl, который размещаем в  /perl/ :

use lib qw(/home/httpd/httpd-2.0/perl);
  1;

Добавьляем следующие строки в httpd.conf 

<Location /rocks>
SetHandler perl-script
PerlResponseHandler MyApache2::Rocks
</Location>

PerlRequire /home/admin/domains/сайт.ru/public_html/perl/startup.pl

Далее перезапускаем сервер и обращаемся к http://localhost/rocks.

В ответ должны получить:

mod_perl 2.0 Rocks!

Если это не сработало - проверяем error_log файл.

Если мы хотим, чтобы скрипты выполнялись интерпретатором mod_perl и кэшировался для директории cgi-bin нужно изменить httpd.conf следующим образом:

Закомментируем следующую строку:

#### ScriptAlias /cgi-bin/ /home/сайт.ru/cgi-bin/

Следующие строки добавим:

PerlModule Apache::Registry
<Location /cgi-bin>
SetHandler perl-script
PerlHandler Apache::Registry
Options ExecCGI
allow from all
</Location>

Перезапустим Apache и убедимся, что всё работает.

 







Комментировать





  • » Биржа трафика SmiMarket
  • » Победители первого тура в конкурсе «Я люблю деньги! Весна-2010»
  • » Партнерская программа по дополнительной монетизации сайта
  • » Основные принципы продвижения сайта статьями
  • » Ladys - женская тизерная сеть
  • » Пресс-резиз новой мультифункциональной биржи блочных и контекстных ссылок "Индек"
  • » Биржа покупки и продажи трафика WMlink
  • » Паркинг доменов -- бизнес или халява?
  • » Конфигурационный файл сервера Apache - httpd.conf
  • » Система по покупке и продаже трафика Ru Click
  • » Биржа купли-продажи статей "Контент-система Hi Text"
  • » Первый дискаунтер выделенных серверов ВкусноСервер
  • » Партнерская программа Kino77
  • » Партнерская программа по продаже ПО и информационных услуг
  • » CentOS: IFTOP
  • » Биржа пиара в социальных медиа с покликовой оплатой Смиар
  • » Iframes - биржа купли/продажи iframe трафика
  • » Федеральный закон РФ "О национальной платежной системе" начал работать
  • » Уникальный контент - залог будущего сайта
  • » Контекстные ссылки от биржи ссылок "Set Links"
  • » BODYCLICK - партнерка по покупке и продаже тизерного и баннерного трафика
  • » Односторонние ссылки: 5 основных стратегий
  • » Яндекс и фильтр АГС-30
  • » Аутсайдеры ссылочного рынка - гении или психи?
  • » Заработай на ЛЮБОЙ интернет-ссылке...
  • » Аналитический обзор рынка FOREX за четверг, 28 января 2010 года
  • » Ads Parade - сервис партнерских программ
  • » Возможности Интернет-маркетинга
  • » Алгоритмы расчёта PageRank
  • » Партнёрская программа по продаже цифровой техники
  • » Дайджест интернета. Выпуск №12: новости от Google, Яндекс и Вконтакте
  • » Результативность фильтров
  • » Как Google выбирает заголовки для показа в поисковой выдаче?
  • » Показывать нельзя прятать
  • » Первые летние обновления для блоггеров и рекламодателей
  • » В ночь с пятницы 13 на 14...
  • » Обновление ТИЦ 17.08.11
  • » В систему добавлена биржа SetLinks
  • » Мобильная реклама сегодня. Стратегия и тренды
  • » Биллинг за 17-е сентября
  • » Выбор региона при добавлении URLов по ключевым словам
  • » Разработка новых сервисов.
  • » Апдейт тИЦ
  • » Механизм жалобы в Sape
  • » 18 августа: вебинар «Продвижение с Pr.Sape»
  • » Russian Interactive Week 2014: уникальный формат работы, обмена опытом и… отдыха!
  • » Перенос домена и SEO
  • » Добавлен раздел в Вопросах, объясняющий положение о сквозных ссылках.
  • » SeoPult-эксперт: конкурс завершен
  • » Как грамотно построить продуктовую страницу
  • » Работа системы Sape в праздничные дни
  • » Sape 2014. Новый год - новые возможности!
  • » Запустили еще одну полезную возможность: «слова из счетчиков статистики».
  • » «Серебряный Меркурий» обещает взорвать мозг!
  • » Оплата по пластиковым картам Visa/Mastercard
  • » Самое грандиозное событие этой весны – онлайн конференция «SEO 2013»!
  • » Новые вакансии SeoPult
  • » Статус-предупреждение для проекта
  • » Фильтр по дате регистрации и другие новинки
  • » Учет срока премодерации ссылок


Категории


Последние записи

Полезные заметки