Как настроить Apache для использования mod_fastcgi и php-fpm?
Теперь я использую Apache для обслуживания файлов php, используя mod_php. Получу ли я повышение производительности при запуске PHP в режиме fastcgi? Сейчас на этом сервере есть два виртуальных хоста. Я следовал этому уроку, написав три разных урока: https://docs.google.com/document/d/1Pk9tZ8Vg1IbrvVUVPusnCYnRUZCOLRvdXkDYEqm_-4Y/edit?usp=sharing
Но после перезапуска apache я получил ошибку. В чем может быть проблема?
File not found: /php5-fcgi/index.html
Сервер, который я использую, является сервером CentOS со следующими характеристиками:
CentOS release 6.6 (Final)
Pentium(R) Dual-Core CPU E5200 @ 2.50GHz
MemTotal: 1910040 kB
MemFree: 586200 kB
Buffers: 259076 kB
Cached: 646432 kB
250 GB HDD
Apache/2.2.15
PHP 5.4.37
mysqladmin Ver 8.42 Distrib 5.5.41, for Linux on x86_64
1 ответ
Вам не хватает некоторых обязательных параметров из вашей конфигурации apache. Это конфиг, который работает для меня:
<IfModule mod_fastcgi.c>
User apache
Group apache
AddHandler fastcgi-script .fcgi
FastCgiConfig -idle-timeout 20 -maxClassProcesses 1
FastCgiIpcDir /var/run/mod_fastcgi
Alias /php.fcgi /var/www/cgi-bin/php.fcgi
AddType application/x-httpd-fastphp .php
Action application/x-httpd-fastphp /php.fcgi
FastCGIExternalServer /var/www/cgi-bin/php.fcgi -socket /var/run/php-fpm/pool-www.sock -idle-timeout 35
<Directory "/var/www/cgi-bin">
Options +Indexes FollowSymLinks +ExecCGI
AllowOverride AuthConfig FileInfo
Order allow,deny
Allow from all
<Files "php.fcgi">
Options +Indexes FollowSymLinks +ExecCGI
Order deny,allow
Allow from All
</Files>
</Directory>
</IfModule>
Поместите содержимое в /etc/httpd/conf.d/fastcgi.conf, а в своих файлах vhost просто используйте DirectoryIndex.
Конечно, соедините это с соответствующими:
listen = /var/run/php-fpm/pool-www.sock
В /etc/php-fpm.d/your_custom.conf