GNU/Linux >> Tutoriales Linux >  >> Linux

NginX + PHP-FPM muestra páginas php en blanco

Según tu configuración, tienes dos server{...} bloques que son exactamente iguales. Entonces, antes de comenzar a explicar cuál es el problema con su configuración, debe proporcionar más detalles. Consulte a continuación algunos consejos para solucionar problemas.

Por ahora, publicaré el mío aquí y resaltaré algunos directives eso sí importa.

Mi /etx/nginx/conf.d/default.conf se ve como sigue

server {

  # Replace this port with the right one for your requirements
  listen 80;

  # Multiple hostnames separated by spaces.  Replace these as well.
  server_name mydomain.nl;

  root /var/www/mydomain.nl/public_html/;

  access_log /var/log/nginx/access.log;
  error_log /var/log/nginx/error.log;

  index index.php index.html;

  location / {
    # This is cool because no php is touched for static content.
    try_files $uri $uri/ /index.php;
  }

  location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
    expires max;
  }

  location ~* \.php$ {
    try_files $uri =404

    fastcgi_intercept_errors on;

    fastcgi_index   index.php;
    fastcgi_pass    unix:/var/run/php5-fpm.sock;

    include fastcgi_params;

    fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
    fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
  }

  location ~ /\.(ht|ssh) {
    deny  all;
  }

  location /status {
    include fastcgi_params;
    fastcgi_pass    unix:/var/run/php5-fpm.sock;
  }

}

Las siguientes directivas son importantes:

server_name mydmaiin.nl; <-- Esto es único para cada bloque de servidor.

root /var/www/mydomain.nl/public_html/; <-- Esta es la raíz que contiene su sitio web/datos.

El resto es trivial.

Así que tomemos el /etc/php-fpm.d/www.conf archivar y examinar. Elegiste usar un socket de archivo

listen = /var/run/php-fpm/php-fpm.sock <-- php-fpm se comunicará con nginx a través de este archivo. Este es mi www.conf archivo a menos que te hayas perdido algo. He filtrado todas las líneas comentadas. Así que estas son las líneas que no están comentadas.

[www]
listen = /var/run/php5-fpm.sock
listen.allowed_clients = 127.0.0.1
listen.owner = nginx
listen.group = nginx
listen.mode = 0666
user = apache
group = apache
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
slowlog = /var/log/php-fpm/www-slow.log
security.limit_extensions = .php
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/session

Resolución de problemas

1) Ver permisos de directorio. En este caso /usr/share/nginx/html

2) Consulte el registro de errores de php-fpm. Vea si el archivo de configuración se está cargando bien, ejecutando

php-fpm -y /etc/php-fpm.conf

3) Cambiar log_level = debug en /etc/php-fpm.conf

4) ¡Vuelve con más detalles!


Linux
  1. Usando PHP en páginas html

  2. Cómo instalar LEMP Stack Nginx, MySQL, PHP en Debian 11

  3. Cómo instalar PHP-FPM con Apache en Ubuntu 20.04

  4. ¿Activado cgi.fix_pathinfo sigue siendo peligroso en Nginx?

  5. ¿Con qué usuario deberían ejecutarse NGinx y PHP?

Instalación de Nginx con PHP (como PHP-FPM) y MariaDB (LEMP) en Debian 8

Instale Nginx + MariaDB + PHP en Fedora 27 / Fedora 26

Cómo instalar Nginx + PHP5-FPM + MySQL en LinuxMint 18 / LinuxMint 17

Cómo instalar Nginx con PHP-FPM en Debian 10

Cómo configurar PHP-FPM con NGINX

Cómo instalar LEMP (Nginx, MariaDB, PHP) en Centos 7