空白页:nginx + php-fpm上的wordpress


18

美好的一天。

虽然这篇文章讨论了类似的设置,以使我在成功安装后偶尔提供空白页,但是我只能提供空白页。有没有存在的错误/var/log/nginx/error.log/var/log/php-fpm.log/var/log/nginx/us/sharonrhodes/blog/error.log

我的设置:

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

配置文件

php-fpm.conf:

[全球]
pid =运行/ php-fpm / php-fpm.pid
error_log =日志/php-fpm.log
log_level =通知

[万维网]
听= 127.0.0.1:9000
listen.owner = www
listen.group = www
listen.mode = 0660
用户= www
组= www

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

nginx.conf:

用户www;
worker_processes 1;

error_log /var/log/nginx/error.log通知;
pid /var/run/nginx.pid;


事件{
    worker_connections 1024;
}


http {
    包括mime.types;
    default_type应用程序/八位字节流;
    发送文件;
    keepalive_timeout 65;

    gzip on;

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

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

上游php {
    服务器127.0.0.1:9000;
}

服务器{
    error_log /var/log/nginx/us/sharonrhodes/blog/error.log通知;
    access_log /var/log/nginx/us/sharonrhodes/blog/access.log;

    server_name blog.sharonrhodes.us;
    根/ srv / apps / us / sharonrhodes / blog;
    索引index.php;

    位置= /favicon.ico {
            log_not_found关闭;
            access_log关闭;
    }

    位置= /robots.txt {
            允许所有;
            log_not_found关闭;
            access_log关闭;
    }

    位置 / {
            #这很酷,因为静态内容没有涉及php                                                                                        
            try_files $ uri $ uri / /index.php?q=$uri&$args;
    }

    位置〜\ .php $ {
            fastcgi_split_path_info ^(。+ \。php)(/.+)$;
            #注意:您应该具有“ cgi.fix_pathinfo = 0;”。在php.ini中                                                                                          
            包括fastcgi_params;
            fastcgi_intercept_errors开启;
            fastcgi_pass php;
    }

    位置〜* \。(js | css | png | jpg | jpeg | gif | ico)$ {
            最多到期;
            log_not_found关闭;
    }
}

/etc/nginx/conf/fastcgi.conf:

fastcgi_param SCRIPT_FILENAME $ document_root $ 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 $ server_name;

#仅PHP,如果PHP是使用--enable-force-cgi-redirect构建的,则为必需                                                                                         
fastcgi_param REDIRECT_STATUS 200;

空白页通常表示存在致命错误。查看您的error_log以获取更多信息
迈克

1
我应该说过这一点,但是/var/log/nginx/error.log、/var/log/php-fpm.log或/ var / log / nginx / us / sharonrhodes / blog / error中没有错误。日志。
troutwine

Answers:


37

默认情况下,Nginx源未在fastcgi_params文件中定义SCRIPT_FILENAME,因此,除非您从中安装了Nginx的存储库需要您自己做。

检查以下行是否在您的fastcgi_params文件中:

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;

如果没有,则添加它。


不幸的是,我已经fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;在的顶部定义了/etc/nginx/conf/fastcgi.conf。我将编辑原始帖子以反映这一点。
troutwine

4
您包括文件fastcgi_params,而不是fastcgi.conf。我的答案仍然有效。
2011年

4

这只是一点点我-这完全是我的错。我想分享固定我的东西。就我而言,index.php没有加载(空白页),但是wp-admin起作用了。

我有一个自定义主题,最近我从共享主机帐户迁移到了VPS。我做了一个rsync,我的主题(/srv/blog.clifton.io/wp-content/themes/theme-here)是一个符号链接。该符号链接当然中断了,因为它使用的是我以前的托管帐户中的路径。

希望这可以帮助!(并希望它会记录“找不到主题”或类似内容)


花了2天。在不知不觉中删除了一个主题,并且有空白页。我绝对应该显示一个主题未找到错误。
SA Malik's
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.