User Tools

Site Tools


fastcgi

wget http://www.fastcgi.com/dist/mod_fastcgi-current.tar.gz

make top_dir=/usr/lib/httpd/

make top_dir=/usr/lib/httpd/ install

Download and build FastCGI for Apache:

wget http://www.fastcgi.com/dist/mod_fastcgi-current.tar.gz
tar -zxf mod_fastcgi-current.tar.gz
cd mod_fastcgi-2.4.6
cp Makefile.AP2 Makefile
make top_dir=/usr/lib64/httpd

Install FastCGI as root:

make top_dir=/usr/lib64/httpd install

Edit /etc/httpd/conf/httpd.conf and comment out any existing references to PHP you might previously have added for testing:

# LoadModule php5_module modules/libphp5.so # AddType application/x-httpd-php .php Add the php-fpm configuration to httpd.conf:

LoadModule fastcgi_module modules/mod_fastcgi.so
<IfModule mod_fastcgi.c>  
  FastCGIExternalServer /usr/sbin/php-fpm -host 127.0.0.1:9000
  AddHandler php-fastcgi .php  
  #<LocationMatch "/status">
  #  SetHandler php-fastcgi-virt
  #  Action php-fastcgi-virt /usr/sbin/php-fpm.fcgi virtual
  #</LocationMatch>
  Action php-fastcgi /usr/sbin/php-fpm.fcgi  
  ScriptAlias /usr/sbin/php-fpm.fcgi /usr/sbin/php-fpm  
  <Directory /usr/sbin>  
    Options ExecCGI FollowSymLinks  
    SetHandler fastcgi-script  
    Order allow,deny  
    Allow from all  
  </Directory>  
</IfModule> 

Start php-fpm and Apache:

service php-fpm start
service httpd start

Test it out with your favorite script or create a file pi.php:

<?php
  phpinfo();
?>

Save it in /var/www/html/pi.php or in $HOME/public_html/pi.php, if you have configured UserDir in httpd.conf.

In a browser load http://localhost/pi.php or http://localhost/~yourname/pi.php.

This will show the PHP configuration values.

To test php-fpm's built-in statistics, edit httpd.conf and uncomment the four lines of the LocationMatch section:

<LocationMatch "/status">
  SetHandler php-fastcgi-virt
  Action php-fastcgi-virt /usr/sbin/php-fpm.fcgi virtual
</LocationMatch>

Edit /etc/php-fpm.conf and uncomment the line:

pm.status_path = /status

Restart php-fpm and Apache:

service php-fpm restart
service httpd restart

Run some load on the system:

ab -c 10 -t 60 http://localhost/pi.php  

Now http://localhost/status gives you the status of the server:

pool:                 www
process manager:      dynamic
start time:           13/Mar/2012:14:25:53 -0700
start since:          26
accepted conn:        50001
listen queue:         0
max listen queue:     6
listen queue len:     128
idle processes:       2
active processes:     1
total processes:      3
max active processes: 5
max children reached: 1

The php-fpm.conf file documents other output formats for the statistics. It also shows the extensive functionality available with php-fpm.

fastcgi.txt · Keista: 2014/08/05 13:46 (redaguoti papildomomis priemonėmis)