Site Tools


software:perl:fastcgi

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
software:perl:fastcgi [2018/05/08 20:53]
root
software:perl:fastcgi [2022/02/04 18:36]
– removed - external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
-====== Perl fastcgi daemon ====== 
-Nginx, в отличии от lighttpd не умеет сам выполнять perl скрипты, а готовых fcgi демонов для этого не было в 2009 году, когда я перешёл на nginx.\\ 
- 
----- 
- 
-Сейчас, в 2018 я перешёл на [[https://github.com/gnosek/fcgiwrap|fcgiwrap]]. Настраивается предельно просто.\\ 
-Так же хорошо работает uWSGI, инструкции по настройке: [[http://vladimir-stupin.blogspot.nl/2014/08/nginx-php5-fpm-uwsgi.html|Настройка nginx, php5-fpm и uwsgi]] и [[http://uwsgi-docs.readthedocs.io/en/latest/CGI.html|Running CGI scripts on uWSGI]]. Главное не забыть в конфиге nginx <code>uwsgi_modifier1 9;</code> 
- 
----- 
- 
-Демон не моя разработка, я нашёл несколько готовых вариантов, доработал их немного, добавил rc.d скрипт для FreeBSD. В коде демона есть отсылки к оригиналам.\\ 
-Работа chroot не проверялась, остальное вроде работает.\\ 
-Часть не реализованных в демоне опций выполняется стартовым скриптом (chroot, смена пользователя и группы), часть не реализована (смена владельца и группы на сокете).\\ 
- 
-**Стартовый скрипт**: [[http://netlab.linkpc.net/download/software/perl/fastcgi/perl-fcgi|perl-fcgi]] (на FreeBSD расположить в /usr/local/etc/rc.d)\\ 
-**Демон**: [[http://netlab.linkpc.net/download/software/perl/fastcgi/perl-fcgi.pl|perl-fcgi.pl]] (на FreeBSD расположить в /usr/local/etc/ - можно поменять в стартовом скрипте, см выше)\\ 
-**Лицензия**: BSD\\ 
- 
-**Более продвинутый вариант**: [[https://gitorious.org/perl-fpm/perl-fpm/|perl-fpm от NiTr0]]\\ 
-**Обсуждение на форуме**: [[http://forum.nag.ru/forum/index.php?showtopic=83021|forum.nag.ru]] 
- 
- 
- 
-===== Пример настроек ===== 
-В rc.conf для FreeBSD добавляем: 
-<code>perl_fcgi_enable="YES" 
-perl_fcgi_pidfile="/var/run/perl-fcgi.pid" 
-perl_fcgi_user="www" 
-perl_fcgi_group="www" 
-perl_fcgi_chdir="/" 
-perl_fcgi_chroot="" 
-# perl_fcgi_socket="127.0.0.1:53676" 
-perl_fcgi_socket="/var/run/perl-fcgi.sock" 
-perl_fcgi_socketbacklog="100" 
-perl_fcgi_socketmode="1777" 
-perl_fcgi_children="2" 
-perl_fcgi_childrentimeout="10" 
-perl_fcgi_max_requests="100" 
-perl_fcgi_path_env="/bin:/usr/bin"</code> 
-  * **enable** - разрешить запуск при загрузке 
-  * **user** - имя пользователя под которым выполнять демона и скрипты 
-  * **group** - группа под которыми выполнять демона и скрипты 
-  * **chdir** - текущая директория для демона 
-  * **chroot** - корневая директория для демона 
-  * **socket** - unix сокет - путь или ip:port - для работы fcgi 
-  * **socketbacklog** - размер очереди входящих соединений, только для сетевых сокетов 
-  * **socketmode** - права доступа к сокету, только для unix сокета 
-  * **children** - количество дочерних процессов для выполнения скриптов 
-  * **childrentimeout** - максимальное время выполнения скрипта 
-  * **max_requests** - максимальное количество запросов обработанных одним дочерним процессом 
-  * **path_env** - перезаписать переменную окружения PATH 
- 
- 
-===== Параметры командной строки демона ===== 
-  * **-d** <directory> - chdir to directory before spawning (default /) 
-  * **-s** <address/path> - unix socket or tcp address:port 
-  * **-sb** <size> - socket backlog size (default 10) 
-  * **-M** <mode> - change Unix domain socket mode (default 0777) 
-  * **-F** <children> - number of children to fork (default 2) 
-  * **-Ft** <timeout> - children process timeout (default 30) 
-  * **-Fm** <num> - children process max requests (default 100) 
-  * **-P** <path> - name of PID-file for spawned process 
-  * **-e** <path> - set new PATH environment (default /bin:/usr/bin) 
- 
  
software/perl/fastcgi.txt · Last modified: 2022/02/05 04:02 by root