Pagina vuota: wordpress su nginx + php-fpm


18

Buona giornata.

Mentre questo post discute una configurazione simile alla mia che serve pagine vuote di tanto in tanto dopo aver eseguito correttamente l'installazione, non riesco a servire altro che pagine vuote. Non ci sono errori presenti in /var/log/nginx/error.log, /var/log/php-fpm.logo /var/log/nginx/us/sharonrhodes/blog/error.log.

La mia configurazione:

  • Wordpress 3.0.4
  • nginx 0.8.54
  • php-fpm 5.3.5 (fpm-fcgi)
  • Arch Linux

File di configurazione

php-fpm.conf:

[globale]
pid = run / php-fpm / php-fpm.pid
error_log = log / php-fpm.log
log_level = avviso

[Www]
ascolta = 127.0.0.1:9000
hear.owner = www
hear.group = www
hear.mode = 0660
utente = www
gruppo = www

pm = dinamico
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500

nginx.conf:

utente www;
worker_processes 1;

error_log /var/log/nginx/error.log avviso;
pid /var/run/nginx.pid;


eventi {
    worker_connections 1024;
}


http {
    include mime.types;
    default_type application / octet-stream;
    file di trasmissione attivo;
    keepalive_timeout 65;

    gzip on;

    include /etc/nginx/sites-enabled/*.conf;
}

/etc/nginx/sites-enabled/blog_sharonrhodes_us.conf:

php a monte {
    server 127.0.0.1:9000;
}

server {
    avviso_errore /var/log/nginx/us/sharonrhodes/blog/error.log;
    access_log /var/log/nginx/us/sharonrhodes/blog/access.log;

    nome_server blog.sharonrhodes.us;
    root / srv / apps / us / sharonrhodes / blog;
    indice index.php;

    location = /favicon.ico {
            log_not_found off;
            access_log off;
    }

    location = /robots.txt {
            permettere tutto;
            log_not_found off;
            access_log off;
    }

    Posizione / {
            # Questo è bello perché non viene toccato php per contenuti statici                                                                                        
            try_files $ uri $ uri / /index.php?q=$uri&$args;
    }

    posizione ~ \ .php $ {
            fastcgi_split_path_info ^ (. + \. php) (/.+) $;
            #NOTA: dovresti avere "cgi.fix_pathinfo = 0;" in php.ini                                                                                          
            include fastcgi_params;
            fastcgi_intercept_errors su;
            fastcgi_pass php;
    }

    posizione ~ * \. (js | css | png | jpg | jpeg | gif | ico) $ {
            scade al massimo;
            log_not_found off;
    }
}

/etc/nginx/conf/fastcgi.conf:

fastcgi_param SCRIPT_FILENAME $ root_documento $ fastcgi_script_name;
fastcgi_param QUERY_STRING $ query_string;
fastcgi_param REQUEST_METHOD $ request_method;
fastcgi_param CONTENT_TYPE $ content_type;
fastcgi_param CONTENT_LENGTH $ content_length;

fastcgi_param SCRIPT_NAME $ fastcgi_script_name;
fastcgi_param REQUEST_URI $ request_uri;
fastcgi_param DOCUMENT_URI $ document_uri;
fastcgi_param DOCUMENT_ROOT $ document_root;
fastcgi_param SERVER_PROTOCOL $ server_protocol;

fastcgi_param GATEWAY_INTERFACE CGI / 1.1;
fastcgi_param SERVER_SOFTWARE nginx / $ nginx_version;

fastcgi_param REMOTE_ADDR $ remote_addr;
fastcgi_param REMOTE_PORT $ remote_port;
fastcgi_param SERVER_ADDR $ server_addr;
fastcgi_param SERVER_PORT $ server_port;
fastcgi_param SERVER_NAME $ nome_server;

# Solo PHP, richiesto se PHP è stato creato con --enable-force-cgi-redirect                                                                                         
fastcgi_param REDIRECT_STATUS 200;

pagina vuota di solito significa che c'è un errore fatale. Dai un'occhiata al tuo error_log per maggiori informazioni
Mike

1
Avrei dovuto dichiararlo, ma non sono presenti errori in /var/log/nginx/error.log, /var/log/php-fpm.log o / var / log / nginx / us / sharonrhodes / blog / error. log.
Troutwine,

Risposte:


37

Per impostazione predefinita, l'origine Nginx non definisce SCRIPT_FILENAME nel file fastcgi_params, quindi a meno che il repository da cui hai installato Nginx non sia necessario, devi farlo da solo.

Controlla se la seguente riga è nel tuo file fastcgi_params:

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;

e in caso contrario aggiungilo.


Sfortunatamente, ho fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;definito proprio in cima /etc/nginx/conf/fastcgi.conf. Modificherò il post originale per riflettere questo.
Troutwine,

4
Includete il file fastcgi_params, non fastcgi.conf. La mia risposta è ancora valida
Martin Fjordvald,

4

Questo mi ha appena morso- ed è stata totalmente colpa mia. Volevo condividere ciò che mi ha risolto. Nel mio caso, index.php non si stava caricando (pagina vuota) ma wp-admin ha funzionato.

Ho un tema personalizzato e di recente sono migrato da un account di hosting condiviso a un VPS. Ho fatto un rsync e il mio tema (/srv/blog.clifton.io/wp-content/themes/theme-here) è un link simbolico. Questo collegamento simbolico si è rotto naturalmente, poiché utilizzava il percorso dal mio precedente account di hosting.

Spero che sia di aiuto! (e vorrei che registrasse "TEMA NON TROVATO" o simile)


ci abbiamo passato 2 giorni. Eliminato un tema inconsapevolmente e c'erano pagine vuote. Dovrei assolutamente mostrare un errore del tema non trovato.
SA Malik,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.