GNU/Linux >> Tutoriels Linux >  >> Linux

NginX + PHP-FPM affiche des pages php vierges

Selon votre configuration, vous disposez de deux server{...} blocs qui sont exactement les mêmes. Donc, avant de commencer à expliquer ce qui ne va pas avec votre configuration, vous devez fournir plus de détails. Voir ci-dessous pour quelques conseils de dépannage.

Pour l'instant, je vais poster le mien ici et souligner quelques directives ça compte.

Mon /etx/nginx/conf.d/default.conf se présente comme suit

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;
  }

}

Les directives suivantes sont importantes :

server_name mydmaiin.nl; <-- Ceci est unique pour chaque bloc de serveur.

root /var/www/mydomain.nl/public_html/; <-- Il s'agit de la racine qui contient votre site Web / vos données.

Le reste est banal.

Prenons donc le /etc/php-fpm.d/www.conf déposer et examiner. Vous avez choisi d'utiliser un fichier socket

listen = /var/run/php-fpm/php-fpm.sock <-- php-fpm communiquera avec nginx à travers ce dossier. Donc c'est mon www.conf fichier sauf si vous avez manqué quelque chose. J'ai filtré toutes les lignes commentées. Ce sont donc les lignes qui ne sont pas commentées.

[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

Dépannage

1) Voir les autorisations de répertoire. Dans ce cas /usr/share/nginx/html

2) Voir la journalisation des erreurs php-fpm. Vérifiez si le fichier de configuration se charge correctement en exécutant

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

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

4) Revenez avec plus de détails !


Linux
  1. Utilisation de PHP dans les pages html

  2. nginx - 413 Entité de requête trop grande

  3. Comment installer PHP-FPM avec Apache sur Ubuntu 20.04

  4. Comment installer LEMP Stack Nginx, MySQL, PHP sur Ubuntu 22.04

  5. Sous quel utilisateur NGinx et PHP doivent-ils fonctionner ?

Installation de Nginx avec PHP (comme PHP-FPM) et MariaDB (LEMP) sur Debian 8

Installez Nginx + MariaDB + PHP sur Fedora 27 / Fedora 26

Comment installer Nginx + PHP5-FPM + MySQL sur LinuxMint 18 / LinuxMint 17

Comment installer Nginx avec PHP-FPM sur Debian 10

Comment configurer PHP-FPM avec NGINX

Comment installer LEMP (Nginx, MariaDB, PHP) sur Centos 7