Nginx, в отличии от lighttpd не умеет сам выполнять perl скрипты, а готовых fcgi демонов для этого не было в 2009 году, когда я перешёл на nginx.
Так же хорошо работает uWSGI, инструкции по настройке: Настройка nginx, php5-fpm и uwsgi и Running CGI scripts on uWSGI. Главное не забыть в конфиге nginx
uwsgi_modifier1 9;
Демон не моя разработка, я нашёл несколько готовых вариантов, доработал их немного, добавил rc.d скрипт для FreeBSD. В коде демона есть отсылки к оригиналам.
Работа chroot не проверялась, остальное вроде работает.
Часть не реализованных в демоне опций выполняется стартовым скриптом (chroot, смена пользователя и группы), часть не реализована (смена владельца и группы на сокете).
Стартовый скрипт: perl-fcgi (на FreeBSD расположить в /usr/local/etc/rc.d)
Демон: perl-fcgi.pl (на FreeBSD расположить в /usr/local/etc/ - можно поменять в стартовом скрипте, см выше)
Лицензия: BSD
Более продвинутый вариант: perl-fpm от NiTr0
Обсуждение на форуме: forum.nag.ru
В rc.conf для FreeBSD добавляем:
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"