Най-четените учебни материали
Най-новите учебни материали
***ДОСТЪП ДО САЙТА***
ДО МОМЕНТА НИ ПОСЕТИХА НАД 2 500 000 ПОТРЕБИТЕЛИ
БЕЗПЛАТНИТЕ УЧЕБНИ МАТЕРИАЛИ ПРИ НАС СА НАД 7 700
Ако сме Ви били полезни, моля да изпратите SMS с текст STG на номер 1092. Цената на SMS е 2,40 лв. с ДДС.
Вашият СМС ще допринесе за обогатяване съдържанието на сайта.
SMS Login
За да използвате ПЪЛНОТО съдържание на сайта изпратете SMS с текст STG на номер 1092 (обща стойност 2.40лв.)Линукс. Apache+MOD_PERL |
![]() |
![]() |
![]() |
Apache + mod_perl (част 1) Един от начините да генерирате динамични страниците на ващия сайт е CGI скриптове написани на Perl. Но често проблема който възниква е как да ги накараме да се изпълняват по-бързо. CGI (Common Gateway Interface) се е наложило като стандарт сред сървърите. Предимството на CGI е че всеки web сървър го поддържа и програмите за него могат да се напишат на различни програмни езици и голямо количество платформи. Недостатъка на CGI е неговата неефективност. Всяко извикване на CGI програми създава нов процес на сървъра. Ако напишете CGI на Perl то тогава всеки път при извикване на програмата се зарежда и стартира и ново копие на Perl интерпретатора. Това води до използване на още памет и процесорно време. Естествено е да си зададем въпроса дали няма по-ефективен начин да се изпълняват програмите на Perl без да претърпят големи корекции. Отговорът на този въпрос е mod_perl – модул за известния Apache Web Server. Този модул зарежда само веднъж копие на Perl интерпретатора в Apache, кото по този начин не само ускорява изпълненито на perl скриптовете но и добава нови възможности към сървъра. Може би най-трудния момент при използването на mod_perl е неговото инсталиране и конфигуриране. За целта първо трябва да си свалите от интернет последните версии на Apache и mod_perl. Можете да ги откриете на следните адреси: След като сте ги свалили ги копирайте в една директория – например /usr/local/download/ и напишете: cd /usr/local/downloads Тези команди ще разархивират файловете и ще създадат две директории със сорс кодовете на Apache и mod_perl. Сега е време да конфигурира Apache за първи път. Ако не сте правили това преди напишете следните редове: cd apache-1.3.11/ Където /www може да замените с директорията където искате да инсталирате вашия web сървър. cd ../mod_perl-1.2/ Ако искате да разберете кои настройки на mod_perl да използвате прочетете README и INSTALL файла преди да напишете тази команда. perl Makefile.PL Ако искате да се активират всички директиви на mod_perl напишете: perl Makefile.PL EVERYTHING=1 При изпълнение на тази команда инсталационната програма ще ви зададе два въпроса. Configure mod_perl with ../apache-l.3.11/src ? [y] Отговорете и на двата с "y" или просто натиснете клавиша ENTER. Командите който остава да напишете са make Преди да напишете обаче make install спрете всички работещи сървъри с командата Ако до тук сте изпълнявали правилно командите трябва да сте готови да пуснете вашият нов сървър. За целта пишете: /www/bin/apachectrl start Ако искате да се уверите, че работи вашия нов сървър напишете следните команди: telnet localhost 80 и след това HEAD / HTTP/1.0 Резултата от тази команда трябва да съдържа и следния ред Което ще рече че вече имате работещ сървър на порт 80 с mod_perl модул. За да използвате възможностите на mod_perl ще трябва да добавите следните редове в httpd.conf файла( тои се намира в под директория conf на главната директорията на сървъра):
Добавете също така и следните директиви в httpd.conf PerlSeandHeader On След което запишете файла и проверете новата конфигурация със следната команда: /www/bin/apachectrl configtest Apache + mod_perl (част 2) Време е за нашата първа програма. Запишете я под името test.pl в /perl-bin директорията. use strict; За да я изпълните пишете във вашият браузър http://localhost/perl-bin/test.pl Тази команда трябва да ви покаже Environment обвивката на вашата система.
Ако използвате стандартният Perl програма винаги ще връща 1. Но при mod_perl всеки пък когато извикаме програмата ще получаваме число по-голямо от предишното с единица – 1, 2, 3, … Това е така защото стойностите на променливите от програмата се пазят в паметта и при всяко следващо извикване променливата $i не се занулява.
За да разберете как да използвате mod_perl максимално ефективно прочетете информацията на следния адрес: http://perl.apache.org/tuning/ С mod_perl не само ускорявате изпълнението на Perl CGI скриптовете но и добавяте нови възможности към сървъра. Например ако искате да получите информация за състоянието на сървъра, за броя на компилираните perl скриптове и допълнителни технически подробности трябва да добавите следните редове в конфигурационния файл:
Тук /perl-status не е физическа директория на вашият сървър. Ако искате само локално да виждате тази информация пишете:
В заключение ще кажа, че mod_perl не е панацея. Бързодействието което постигате е за сметка на повече използвана памет, тъй като всеки скрипт който се изпълнява се кешира. Ако паметта не е проблема за вас и единственото ви желание е по-бърз сайт то тогава комбинирането на мощта на Apache и mod_perl е за вас.
|