Автор Гілка: Веб-сервер + Perl  (Прочитано 7365 раз)

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
Веб-сервер + Perl
« : 2011-01-31 19:35:52 »
Якими способами їх можна подружити. Ну через cgi це понятно і в апача є mod_perl. А Щото по типу FastPerl існує?

Відсутній Volodymyrko

  • Графоман
  • ****
  • дописів: 370
  • Карма: +0/-0
  • I Like FreeBSD !
Re: Веб-сервер + Perl
« Відповідей #1 : 2011-02-01 11:48:59 »
FastCGI  (там не тільки перл)
« Змінено: 2011-02-01 11:49:34 від vova07 »

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
Re: Веб-сервер + Perl
« Відповідей #2 : 2011-02-01 18:49:06 »
А що взагалі представляє із себе FastCGI? крутиться якийсь сервер і приймає конекти на порт, а видає виіх із скрипта?

Відсутній piktor

  • Видавець
  • *******
  • дописів: 3396
  • Карма: +0/-0
Re: Веб-сервер + Perl
« Відповідей #3 : 2011-02-01 23:47:20 »
В cgi при кожному запиті зі сторони клієнта запускається інтерпретатор, завантажується та виконується скрипт, потім все це вивантажується. При великих навантаженнях швидкодія страждає. Скрипт будується як звичайна програма - запустилася, зробила справу, закрилася.
В FastCGI інтерпретатор та скрипт постійно (впродовж декількох викликів, число яких можна задати в httpd.conf) висять в пам'яті і, при запиті, виконуються куди швидше, бо вже завантажені. Скрипт будується як резидентна програма, визначаються підпрограми обробки подій, що надходять від apache чи іншого веб-сервера. Ще в FastCGI по іншому формуються URL - замість http://site.com/index.pl?category=5&filter=green буде http://site.com/5/green/
Ім'я скрипта не вказане, бо він визначений конфігом.

P.S. Професійних веб-розробників прошу сильно не бити, я колись розбирався з fcgi в Python, як зрозумів - так і написав. Поправте, чи уточніть.  :)
Всим, хто тоне й не знає,
За що вхопитись,
Хто вже з останніх
Вибився сил:
Попереджаю - я не колода,
Попереджаю - я крокодил.

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
Re: Веб-сервер + Perl
« Відповідей #4 : 2011-02-02 19:17:43 »
Цитата
Ще в FastCGI по іншому формуються URL - замість http://site.com/index.pl?category=5&filter=green буде http://site.com/5/green/
Ім'я скрипта не вказане, бо він визначений конфігом.
Незнаю як і що ви налаштовували. А я FastCGI налаштовував ПХП і сервер був nginx. То там 1. За перетвореннями посилань в людинозрозумілий зрозумілий для пошукових машин вигляд стежить сам сервер. Тобто в першому випадку передадуться змінні як GET запит. Так що думаю обидва твердження в корені не вірні.
Цитата
число яких можна задати в httpd.conf
І я налаштовував передрав налаштування окремим демоном з окремим конфігом.

Мені здається я почав розуміти набагато більше.

Відсутній piktor

  • Видавець
  • *******
  • дописів: 3396
  • Карма: +0/-0
Re: Веб-сервер + Perl
« Відповідей #5 : 2011-02-02 20:09:59 »
Незнаю як і що ви налаштовували. А я FastCGI налаштовував ПХП і сервер був nginx. То там 1. За перетвореннями посилань в людинозрозумілий зрозумілий для пошукових машин вигляд стежить сам сервер. Тобто в першому випадку передадуться змінні як GET запит. Так що думаю обидва твердження в корені не вірні.
З ПеХаПе не воював. Там, ніби, по іншому організовано, ніж у Perl та Python - ці дві мови не обов'язково юзаються для веб.
Які саме твердження не вірні? Вас не зрозумів.
« Змінено: 2011-02-02 20:12:48 від Piktor »
Всим, хто тоне й не знає,
За що вхопитись,
Хто вже з останніх
Вибився сил:
Попереджаю - я не колода,
Попереджаю - я крокодил.

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
Re: Веб-сервер + Perl
« Відповідей #6 : 2011-02-02 20:40:44 »
ну щодо посилань. Можна і явно задавати. Ну і ім’я скрипта, можна напряму в httpd.conf але можна і mod_rewrite. І, само-собою, напряму в рядку браузера можна задавати.

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
Re: Веб-сервер + Perl
« Відповідей #7 : 2011-02-02 20:42:03 »
В php то по іншому, але якщо мова йде про FastCGI, то як я розумію ідея та ж. просто різні інтерпритатори.

Відсутній piktor

  • Видавець
  • *******
  • дописів: 3396
  • Карма: +0/-0
Re: Веб-сервер + Perl
« Відповідей #8 : 2011-02-03 12:12:37 »
ну щодо посилань. Можна і явно задавати. Ну і ім’я скрипта, можна напряму в httpd.conf але можна і mod_rewrite. І, само-собою, напряму в рядку браузера можна задавати.
Е ні, якщо в конфігу прописано ім'я скрипта, що оброблятиме події, то все, що ви напишете після http://example.com/ буде вважатися параметрами і передаватися веб-сервером цьому скрипту через параметри виклику. Принаймні, у випадку mod_python було так.
Всим, хто тоне й не знає,
За що вхопитись,
Хто вже з останніх
Вибився сил:
Попереджаю - я не колода,
Попереджаю - я крокодил.

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
Re: Веб-сервер + Perl
« Відповідей #9 : 2011-02-03 14:26:55 »
Давайте не будемо опускатися до банального мордобою???  ::)

mod_python - це хіба FastCGI( в чистому вигляді). Він же тільки під апач.
А якщо інши браузер. Полюбому треба FastCGI як окремий демон піднімати чи щось по типу цього. І там вже перетворення адрес інше.

В більшості випадків все на один скрипт і передаєтсья. Але не факт і це точно не особливість FastCGI. просто так зручніше.

Ну і щодо апача. Я так розумію, якщо юзається якийсь mod_* то там прописується SetHandler. а тоді вже через mod_rewrite робиться ЧПУ. Хоча може це тільки у випадку пхп так.

Відсутній piktor

  • Видавець
  • *******
  • дописів: 3396
  • Карма: +0/-0
Re: Веб-сервер + Perl
« Відповідей #10 : 2011-02-03 19:11:29 »
mod_python - це хіба FastCGI( в чистому вигляді). Він же тільки під апач.
Ну добре, нехай буде mod_fcgi.  :)
Полюбому треба FastCGI як окремий демон піднімати чи щось по типу цього. І там вже перетворення адрес інше.
Хто вам таке сказав?
http://www.electricmonk.nl/docs/apache_fastcgi_python/apache_fastcgi_python.html
Apache і є той демон. До нього є модулі. Вони всім тим займаються.
Всим, хто тоне й не знає,
За що вхопитись,
Хто вже з останніх
Вибився сил:
Попереджаю - я не колода,
Попереджаю - я крокодил.

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
Re: Веб-сервер + Perl
« Відповідей #11 : 2011-02-03 19:20:10 »
А якщо сервер nginx ???

Відсутній piktor

  • Видавець
  • *******
  • дописів: 3396
  • Карма: +0/-0
Re: Веб-сервер + Perl
« Відповідей #12 : 2011-02-03 19:44:13 »
mod_python - це хіба FastCGI( в чистому вигляді)
Прошу ваш критерій "чистоти" вигляду.
Всим, хто тоне й не знає,
За що вхопитись,
Хто вже з останніх
Вибився сил:
Попереджаю - я не колода,
Попереджаю - я крокодил.

Відсутній piktor

  • Видавець
  • *******
  • дописів: 3396
  • Карма: +0/-0
Re: Веб-сервер + Perl
« Відповідей #13 : 2011-02-03 19:49:13 »
А якщо сервер nginx ???
А якщо пошуковик Google?
http://library.linode.com/web-servers/nginx/perl-fastcgi/debian-5-lenny
В кожного веб-сервера свої модулі для реалізації цього, але принцип у FastCGI залишається незмінним.
Всим, хто тоне й не знає,
За що вхопитись,
Хто вже з останніх
Вибився сил:
Попереджаю - я не колода,
Попереджаю - я крокодил.

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
Re: Веб-сервер + Perl
« Відповідей #14 : 2011-02-03 19:58:21 »
fastcgi_pass  127.0.0.1:8999;
 оце значить що це не модуль nginx а окремий демон-сервер, який може і напряму приймать перл-файли
location ~ \.pl$ {
а це значить, що не буде ЧПУ а будуть адреси виду index.pl etc.

І в дебіановських репозиторіяк допотопні пакунки. Я вручну налаштовував. По тому ж принципу. тільки ЧПУ

# if (!-e $request_filename) {  
#       rewrite ^(.+)$ /index.php?q=$1 last;  
#     }

такой фішкой робиться. Так що таки не факт якщо fastcgi то обов’язково ЧПУ