fastcgi не работает - упаковщик загружен не запускается - PullRequest
1 голос
/ 13 июля 2009

На моем свежем Ubuntu 8.04

Я установил virtualmin. Затем я настроил fastcgi так же, как на другом сервере (Debian). У меня небольшая проблема. Когда я открываю веб-сайт, вместо запуска fastcgi-обёртки он загружает его. Вот конфиг:

<pre></p> <pre><code><IfModule mod_fastcgi.c> FastCgiIpcDir /usr/lib/apache2/fastcgi AddHandler fastcgi-script .fcgi FastCgiWrapper /usr/local/sbin/suexec FastCgiConfig -singleThreshold 1 -autoUpdate -idle-timeout 240 -pass-header HTTP_AUTHORIZATION </IfModule>

website.conf:

   SuexecUserGroup "#1002" "#1003"  
   DocumentRoot /home/przepisy/public_html  
   ScriptAlias /php-fastcgi/ /home/przepisy/php-fastcgi/  
   AddHandler php-fastcgi .php  
   AddType application/x-httpd-php .php  
   Action php-fastcgi /php-fastcgi/php5-fcgi  
   DirectoryIndex index.html index.php  
   <Directory /home/przepisy/public_html>  
    Options -Indexes +ExecCGI FollowSymLinks  
    allow from all  
    AllowOverride All  
   </Directory>  

/ home / przepisy / php-fastcgi / php5-fcgi

#!/bin/sh 
PHPRC="/home/przepisy/conf/" 
export PHPRC 
PHP_FCGI_CHILDREN=4 
export PHP_FCGI_CHILDREN 
PHP_FCGI_MAX_REQUESTS=200 
export PHP_FCGI_MAX_REQUESTS 
exec /usr/bin/php5-cgi 

Итак, если я захожу на веб-сайт, он дает ему произвольное имя, а когда я просматриваю загруженное содержимое, он показывает содержимое php5-fcgi. Когда я указываю скрипт php, например, index.php, он выбирает сохранение и показывает содержимое php5-fcgi ... Я не знаю, на этом этапе. Этот конфиг работал на Debian без проблем ...

1 Ответ

2 голосов
/ 13 июля 2009

Вам нужно добавить раздел, который говорит Apache использовать mod_fastcgi для выполнения вашего скрипта php5-fcgi с использованием FastCGI. Попробуйте добавить это на ваш website.conf:

<Location "/php-fastcgi/php5-fcgi">
   Order Deny,Allow
   Deny from All
   Allow from env=REDIRECT_STATUS
   Options ExecCGI
   SetHandler fastcgi-script      
</Location>

Часть SetHandler fastcgi-script говорит Apache использовать mod_fastcgi при выполнении вашего скрипта php5-fcgi. Allow from env=REDIRECT_STATUS запрещает посетителям скачивать скрипт php5-fcgi напрямую, открывая http://mydomain.com/php-fastcgi/php5-fcgi.

Также я пользуюсь

FastCgiWrapper On

вместо двоичного файла suexec, который вы указали в своем примере. Мой Apache скомпилирован с поддержкой SuEXEC, и я использую SuexecUserGroup, как и вы. Мой SuEXEC работает с этой конфигурацией - возможно, стоит попробовать.

И, конечно, я уверен, что вы уже проверили, но убедитесь, что у вас есть:

LoadModule fastcgi_module modules/mod_fastcgi.so

где-то в вашей конфигурации Apache.

...