GNU/Linux >> Znalost Linux >  >> Linux

NginX + PHP-FPM zobrazuje prázdné stránky php

Podle vaší konfigurace máte dva server{...} bloky, které jsou úplně stejné. Takže než začnu vysvětlovat, co je s vaší konfigurací špatně, musíte poskytnout další podrobnosti. Níže naleznete několik rad pro odstraňování problémů.

Prozatím zde zveřejním své a zvýrazním několik directives na čem záleží.

Můj /etx/nginx/conf.d/default.conf vypadá následovně

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

}

Důležité jsou následující směrnice:

server_name mydmaiin.nl; <-- Toto je jedinečné pro každý blok serveru.

root /var/www/mydomain.nl/public_html/; <-- Toto je kořenový adresář, který obsahuje vaše webové stránky / data.

Zbytek je triviální.

Vezměme si tedy /etc/php-fpm.d/www.conf archivovat a zkoumat. Zvolili jste použití soketu souborů

listen = /var/run/php-fpm/php-fpm.sock <-- php-fpm bude komunikovat s nginx prostřednictvím tohoto souboru. Takže toto je můj www.conf pokud vám něco neuniklo. Odfiltroval jsem všechny komentované řádky. Takže toto jsou řádky, které jsou bez komentáře.

[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

Odstraňování problémů

1) Viz oprávnění k adresáři. V tomto případě /usr/share/nginx/html

2) Viz protokolování chyb php-fpm. Zkontrolujte, zda se konfigurační soubor načítá v pořádku, spuštěním

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

3) Změňte log_level = debug v /etc/php-fpm.conf

4) Vraťte se s dalšími podrobnostmi!


Linux
  1. Jak nainstalovat LEMP Stack Nginx, MySQL, PHP na Debian 11

  2. Jak nakonfigurovat Nginx pro spouštění PHP pomocí PHP-FPM

  3. Zapnutý cgi.fix_pathinfo je v Nginx stále nebezpečný?

  1. Použití PHP v html stránkách

  2. nginx - 413 entita požadavku je příliš velká

  3. Pod jakým uživatelem by měly NGinx a PHP běžet?

  1. Jak nakonfigurovat Nginx pro práci s PHP přes PHP-FPM

  2. Jak nainstalovat LEMP (Linux, Nginx, MariaDB &PHP-FPM) na CentOS 7 VPS

  3. Nainstalujte OwnCloud 7 s Nginx a PHP-FPM na Ubuntu VPS