В официальном руководстве говорится:
$CATALINA_BASE\bin\setenv.bat редактирования (создающий файл при необходимости) и добавляют путь к tc-собственным библиотекам, апрель и OpenSSL для СОЕДИНЕНИЯ КАНАЛОМ. Например:
set PATH=%PATH;C:\cygwin\home\support\tomcat-native-current-win32-src\jni\native\Debug;C:\cygwin\home\support\tomcat-native-current-win32-src\jni\apr\Debug;C:\OpenSSL\lib\VC
И это означает: добавьте "C:\cygwin\home\support\tomcat-native-current-win32-src\jni\native\Debug" к переменной среды "ПУТЬ", таким образом, я полагаю, что это - то, куда необходимо поместить этот файл.
Едва ли отвечая на Ваш вопрос, но я не получаю эту вещь о FastCGI, являющемся трудным настроить. Это отличается, что другие методы, которые это должно заменить (mod_php, mod_python...), таким образом, это может потребовать перезаписи части кода. Это может быть твердой частью, но для конфигурирования Apache, по крайней мере, я нахожу, что это - подпруга. Как пример, я тестировал приложение WSGI в Python, и я хотел видеть, как он выполнил со всеми протоколами это поддержки WSGI. Вот виртуальный файл хоста с конфигурациями для всех протоколов (с mod_fastcgi
):
<VirtualHost *:8888>
DocumentRoot "/home/test/"
#FastCGIExternalServer /home/test/wsgi -host 127.0.0.1:3333
#SCGIMount / 127.0.0.1:3333
FastCgiServer /home/test/wsgi/fcgi.py -idle-timeout 60 -processes 1
<Directory "/home/test/wsgi/">
Options +ExecCGI +FollowSymLinks
AddHandler fastcgi-script .py
#AddHandler wsgi-script .py
#AddHandler cgi-script .py
</Directory>
</VirtualHost>
Это не делает кажется сложным мне. Несомненно, FastCGI поддерживает много опций, и его можно настроить до смерти, но это - другой вопрос.
Работать как другой пользователь, используйте suexec и FastCGIWrapper
, затем это становится:
FastCGIWrapper On
<VirtualHost *:8888>
SuexecUserGroup test test
DocumentRoot "/home/test/"
FastCgiServer /var/www/test/fcgi.py -idle-timeout 60 -processes 1
<Directory "/var/www/test/">
Options +ExecCGI +FollowSymLinks
AddHandler fastcgi-script .py
</Directory>
</VirtualHost>
И см. эту ссылку для пользовательского php.ini, но необходимо смочь указать его с -initial-env
опция, т.е.
FastCgiServer /var/www/test/fcgi.py -idle-timeout 60 -processes 1 -inital-env PHPRC=/blah/
Хороший кандидат: Apache 2 ITK MPM
apache2-mpm-itk (просто mpm-itk, если коротко) является MPM (Многопроцессорный Модуль) для веб-сервера Apache. mpm-itk позволяет Вам выполнять каждый из своих vhost под отдельным uid и ценурозом — короче говоря, сценарии и конфигурационные файлы для одного vhost больше не должны быть читаемыми для всех других vhosts.
Работал на один из наших клиентов очень хорошо с сотнями VirtualHosts с довольно большим количеством посетителей.
Вы получаете всех Профессионалов от выполнения PHP как модуль и разбираетесь в некоторых недостатках.
Мне вопрос - то, что является целью веб-сервера. Это служит больше чем одному виртуальному хосту? Если так, затем необходимо пожертвовать производительностью за изолированную безопасность. Да производительность действительно страдает, но с сегодняшними аппаратными средствами все еще должно потребоваться довольно мало трафика для обеспечения главных проблем производительности.
Если производительность настолько важна, выполняет один сайт на VPS или Выделенном сервере и настраивает для производительности.
Выполнение PHP через FastCGI, конечно, даст Вам наибольшую гибкость. Мало того, что можно безопасно использовать Apache mpm-рабочего, можно даже использовать другой веб-сервер в целом (например, nginx).
Но оставаясь с Apache, "PHP через FastCGI" является в данный момент не одной опцией, но по крайней мере двумя: mod_fastcgi, mod_fcgid. Вдобавок ко всему, можно или использовать динамические, статические, или внешние процессы FastCGI; с или без suexec. И затем существует внутренний диспетчер процессов FastCGI PHP, который теперь заменяется очень хорошим PHP-FPM в PHP 5.3. Все те опции имеют различные за и против и могут привести к различным проблемам.
Учитывая выбор, я выбрал бы mod_fastcgi с PHP-FPM в данный момент, главным образом потому что он допускает чрезвычайно универсальные и стабильные установки.