再会。
虽然这邮政讨论了与我的设置类似的设置,在成功安装后偶尔会提供空白页,但我无法提供除空白页之外的任何内容。或/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 = log/php-fpm.log log_level = 通知 [万维网] 监听 = 127.0.0.1:9000 listen.owner = www listen.group = www listen.mode = 0660 用户 = www 群组 = www 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; 工作进程 1; error_log /var/log/nginx/error.log 通知; pid /var/run/nginx.pid; 事件 { 工作者连接1024; } http { 包括 mime.types; 默认类型应用程序/八位字节流; 发送文件; 保持活动超时 65; 开启 gzip; 包括/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 通知; 访问日志/var/log/nginx/us/sharonrhodes/blog/access.log; 服务器名称blog.sharonrhodes.us; 根/srv/apps/us/sharonrhodes/blog; 索引索引.php; 位置 = /favicon.ico { log_not_found关闭; 访问登录关闭; } 位置 = /robots.txt { 允许全部; log_not_found关闭; 访问登录关闭; } 地点 / { # 这很酷,因为静态内容不需要修改 php try_files $uri $uri/ /index.php?q=$uri&$args; } 位置 ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; #注意:你应该在 php.ini 中添加“cgi.fix_pathinfo = 0;” 包括 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 内容类型 $内容类型; fastcgi_param 内容长度 $内容长度; fastcgi_param 脚本名称 $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 $服务器协议; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param 服务器软件 nginx/$nginx_version; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $远程端口; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $服务器端口; fastcgi_param SERVER_NAME $服务器名称; # 仅限 PHP,如果 PHP 是使用 --enable-force-cgi-redirect 构建的,则需要此配置 fastcgi_param REDIRECT_STATUS 200;
答案1
默认情况下,Nginx 源未在 fastcgi_params 文件中定义 SCRIPT_FILENAME,因此,除非您安装 Nginx 的 repo 定义了该名称,否则您需要自己执行此操作。
检查您的 fastcgi_params 文件中是否有以下行:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
如果没有则添加。
答案2
这个问题困扰了我,这完全是我的错。我想分享一下我解决问题的方法。在我的例子中,index.php 无法加载(空白页),但 wp-admin 可以工作。
我有一个自定义主题,最近从共享托管帐户迁移到 VPS。我执行了 rsync,我的主题 (/srv/blog.clifton.io/wp-content/themes/theme-here) 是一个符号链接。这个符号链接当然坏了,因为它使用的是我以前的托管帐户中的路径。
希望这有帮助!(并希望它会记录“未找到主题”或类似内容)