You are hereBlogs / blog de Carlos Miranda Levy / Configurando Apache y PHP con FCGID
Configurando Apache y PHP con FCGID
Debemos adicionar directivas especiales para la configuración del php como fcgid, las cuales podemos colocar en un archivo separado para que Apache las cargue al iniciar. Para crear dicho archivo, escribimos...
sudo nano /etc/apache2/conf.d/php-fcgid.conf
Y en el interior del mismo colocamos las siguientes instrucciones, según sugiere Khalid Baheyeldin de 2bits.com:
- Si es un servidor de bajo tráfico y capacidad...
AddHandler fcgid-script .fcgi .php
# Where to look for the php.ini file?
DefaultInitEnv PHPRC "/etc/php5/cgi"
# Maximum requests a process handles before it is terminated
MaxRequestsPerProcess 1000
# Maximum number of PHP processes
MaxProcessCount 5
# Number of seconds of idle time before a process is terminated
IPCCommTimeout 240
IdleTimeout 240
#Or use this if you use the file above
FCGIWrapper /usr/bin/php-cgi .php
ServerLimit 500
StartServers 3
MinSpareThreads 3
MaxSpareThreads 10
ThreadsPerChild 10
MaxClients 300
MaxRequestsPerChild 1000
- Si es un servidor con abundante memoria y que soportará una carga significativa de tráfico,
AddHandler fcgid-script .fcgi .php
# Where to look for the php.ini file?
DefaultInitEnv PHPRC "/etc/php5/cgi"
# Where is the PHP executable
FCGIWrapper /usr/bin/php-cgi .php
# Maximum requests a process handles before it is terminated
MaxRequestsPerProcess 1500
# Maximum number of PHP processes.
MaxProcessCount 35
# Number of seconds of idle time before a process is terminated
IPCCommTimeout 240
IdleTimeout 240
# Large site
ServerLimit 2048
ThreadLimit 100
StartServers 10
MinSpareThreads 30
MaxSpareThreads 100
ThreadsPerChild 64
MaxClients 2048
MaxRequestsPerChild 5000
Salimos del archivo con Ctrl-X y confirmamos que deseamos guardarlo con Y.
Finalmente, debemos adicionar la directiva ExecCGI en la línea de Options de las secciones <Directory ...> del sitio que deseamos usar con FCGID. En este caso, lo haremos para el sitio default que comprobamos en el paso anterior que está activo.
sudo nano /etc/apache2/sites-available/default
Y buscamos las líneas Options dentro de <Directory ...> y adicionamos ExecCGI a las mismas. Aprovechamos también para asegurarnos de que dentro de de <Directory ...> diga AllowOverride All, adicionándolo o cambiando el None por All si es necesario. La línea AllowOverride All permite una mayor facilidad en la configuración de Drupal y su buen buen funcionamiento, permitiendo que Apache lea los archivos .htaccess en cada directorio.
(...)
DocumentRoot /var/www
<Directory />
Options FollowSymLinks ExecCGI
AllowOverride All
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews ExecCGI
AllowOverride All
Order allow,deny
allow from all
</Directory>
(...)
Salimos con Ctrl-X y confirmamos que deseamos grabar los cambios con Y.
Ahora debemos recargar Apache para que los cambios surtan efecto. Debemos fijarnos en la pantalla por si se despliega algún error o aviso del sistema.
sudo /etc/init.d/apache2 reload
Para probar que todo funciona, creamos un archivo php en el sitio default y combrobamos que se ejecute correctamente. Por ejemplo, creemos un archivo llamado infodelservidor.php que ejecute la funcion phpinfo() y nos muestre información del mismo:
sudo nano /var/www/infodelservidor.php
En su contenido, coloquemos...
<? phpinfo() ?>
Cerremos con Ctrl-X y confirmemos que deseamos guardar los cambios con Y.
Ahora podemos navegar a nuestro servidor en cualquier explorador de Internet y ver el archivo en ejecución en http://dominio-o-ip-del-servidor/infodelservidor.php, donde además podemos comprobar que se usa fcgid en Server API y que la configuración de PHP cargada es la correspondiente a cgi...







Enviar un comentario nuevo