我的设置:

我的设置:

再会。

虽然这邮政讨论了与我的设置类似的设置,在成功安装后偶尔会提供空白页,但我无法提供除空白页之外的任何内容。或/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) 是一个符号链接。这个符号链接当然坏了,因为它使用的是我以前的托管帐户中的路径。

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

相关内容