Boş Sayfa: nginx + php-fpm üzerinde wordpress


17

İyi günler.

Bu yazı , başarılı bir kurulum yaptıktan sonra ara sıra boş sayfalara hizmet etmek için benzer bir kurulumu tartışırken, boş sayfalardan başka bir şey sunamıyorum. Orada bulunan herhangi bir hata vardır /var/log/nginx/error.log, /var/log/php-fpm.logya da /var/log/nginx/us/sharonrhodes/blog/error.log.

Kurulumum:

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

Yapılandırma Dosyaları

php-fpm.conf:

[Genel]
pid = çalıştırma / php-fpm / php-fpm.pid
error_log = log / php-fpm.log
log_level = uyarı

[Www]
dinle = 127.0.0.1:9000
listen.owner = www
listen.group = www
listen.mode = 0660
kullanıcı = www
grup = www

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

nginx.conf:

kullanıcı www;
işçi_işlemleri 1;

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


Etkinlikler {
    işçi_bağlantıları 1024;
}


http {
    mime türlerini içerir;
    default_type uygulama / octet-stream;
    sendfile;
    keepalive_timeout 65;

    gzip;

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

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

akış yukarı php {
    sunucu 127.0.0.1:9000;
}

sunucu {
    error_log /var/log/nginx/us/sharonrhodes/blog/error.log bildirimi;
    access_log /var/log/nginx/us/sharonrhodes/blog/access.log;

    sunucu_adı blog.sharonrhodes.us;
    root / srv / apps / us / sharonrhodes / blog;
    dizin index.php;

    location = /favicon.ico {
            log_not_found kapalı;
            access_log kapalı;
    }

    location = /robots.txt {
            hepsine izin ver;
            log_not_found kapalı;
            access_log kapalı;
    }

    yer / {
            # Bu harika çünkü statik içerik için php'ye dokunulmadı                                                                                        
            try_files $ uri $ uri / /index.php?q=$uri&$args;
    }

    konum ~ \ .php $ {
            fastcgi_split_path_info ^ (. + \. php) (/.+) $;
            #NOTE: "cgi.fix_pathinfo = 0;" php.ini içinde                                                                                          
            fastcgi_params içerir;
            fastcgi_intercept_errors açık;
            fastcgi_pass php;
    }

    konum ~ * \. (js | css | png | jpg | jpeg | gif | ico) $ {
            maks;
            log_not_found kapalı;
    }
}

/etc/nginx/conf/fastcgi.conf:

fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name;
fastcgi_param QUERY_STRING $ sorgu_dizesi;
fastcgi_param REQUEST_METHOD $ istek_metresi;
fastcgi_param CONTENT_TYPE $ content_type;
fastcgi_param CONTENT_LENGTH $ content_length;

fastcgi_param SCRIPT_NAME $ fastcgi_script_name;
fastcgi_param REQUEST_URI $ istek_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 $ uzak_addr;
fastcgi_param REMOTE_PORT $ remote_port;
fastcgi_param SERVER_ADDR $ sunucu_addr;
fastcgi_param SERVER_PORT $ sunucu_port;
fastcgi_param SERVER_NAME $ sunucu_adı;

# Sadece PHP --enable-force-cgi-redirect ile oluşturulmuşsa gereklidir                                                                                         
fastcgi_param REDIRECT_STATUS 200;

boş sayfa genellikle önemli bir hata olduğu anlamına gelir. Daha fazla bilgi için error_log dosyasına bir göz atın
Mike

1
Bunu belirtmeliydim, ancak /var/log/nginx/error.log, /var/log/php-fpm.log veya / var / log / nginx / us / sharonrhodes / blog / error dosyasında hata yok. log.
troutwine

Yanıtlar:


36

Varsayılan olarak Nginx kaynağı fastcgi_params dosyasında SCRIPT_FILENAME tanımlamaz, bu nedenle Nginx'i yüklediğiniz repo bunu kendiniz yapmanız gerekmediği sürece.

Fastcgi_params dosyanızda aşağıdaki satırın olup olmadığını kontrol edin:

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;

ve değilse, ekleyin.


Ne yazık ki, fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;tam üstünde tanımladım /etc/nginx/conf/fastcgi.conf. Orijinal yayını bunu yansıtacak şekilde düzenleyeceğim.
troutwine

4
Fastcgi.conf dosyasını değil, fastcgi_params dosyasını eklersiniz. Cevabım hala geçerli.
Martin Fjordvald

4

Bu sadece beni biraz- ve tamamen benim hatamdı. Beni düzelten şeyleri paylaşmak istedim. Benim durumumda, index.php yüklenmiyordu (boş sayfa) ancak wp-admin çalıştı.

Özel bir temam var ve yakın zamanda paylaşılan bir barındırma hesabından VPS'ye geçtim. Bir rsync yaptım ve temam (/srv/blog.clifton.io/wp-content/themes/theme-here) bir simge bağlantısı. Bu symlink, önceki barındırma hesabımın yolunu kullandığı için elbette kırıldı.

Bu yardımcı olur umarım! (ve "TEMA BULUNAMADI" ya da benzeri bir günlüğe kaydedilmesini diliyorum)


üzerinde 2 gün geçirdi. Bir temayı bilmeden sildi ve boş sayfalar vardı. Kesinlikle bir tema bulunamadı hatası göstermeliyim.
SA Malik
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.