Archivo de la etiqueta: server

Configurar php en nginx con ubuntu 16.04

Esto está probado directamente en ubuntu 16.04, php5.6 y php5.6-fpm. Aunque es probable que funcione en algunas versiones inferiores. Las configuración se trabaja a partir del supuesto que ya se encuentra Nginx, php5.6 y php5.6-fpm instalado y además, que trabajamos con el sitio de pruebas “prueba.local” en nginx y su contenido se encuentra en /var/www/html

1) Abrir /etc/php/5.6/fpm/pool.d/www.conf y verificar el parámetro de “listen”
listen = /var/run/php5-6-fpm.sock
2) El parametro “listen” debe ser igual al que se le entrega a fastcgi_pass en el nginx.conf
fastcgi_pass unix:/var/run/php5-6-fpm.sock;
3) Verificar que el socket exista.
$ file /var/run/php5.6-fpm.sock
/var/run/php5.6-fpm.sock: socket
4) Si el socket no existe, quiere decir que php5.6-fpm no esta corriendo por lo que debes iniciarlo.
$ sudo /etc/init.d/php5-fpm start
5) Verificar que el archivo de parametros “fastcgi_params” exista:
$ file /etc/nginx/fastcgi_params
/etc/nginx/fastcgi_params: ASCII text

Nota: fastcgi_params es un archivo de variables requeridas por php5.6-fpm. Nginx incluye dos posibles archivos de estos parametros: fastcgi_params y fastcgi.conf. La diferencia entre éstos es la definición la variable SCRIPT_FILENAME:
$ diff fastcgi_params fastcgi.conf
1a2
> fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi.conf siempre debería funcionar. Si por alguna razón estas utilizando fastcgi_params, deberías definir SCRIPT_FILENAME en el siguiente paso.

6) Finalmente, en el archivo de configuración del servidor dependiendo de cual sea tu sitio agregar la configuración del listener php5.6-fpm
$ sudo nano /etc/nginx/sites-available/prueba.local

location ~ \.php$ {
include fastcgi_params;
# With php5-fpm:
fastcgi_pass unix:/var/run/php5.6-fpm.sock;
fastcgi_index index.php;
# SOLAMENTE si estas utilizando fastcgi_params y con el .conf
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

Con toda la configuracion lista, reiniciar la configuracion de nginx

$ sudo nginx -s reload

o tambien

$ sudo initctl nginx restart & sudo initctl php5.6-fpm restart