빈 페이지 : nginx + php-fpm의 워드 프레스


18

좋은 날.

게시물 에서는 성공적으로 설치 한 후 빈 페이지를 제공하는 비슷한 설정에 대해 설명하지만 빈 페이지 이외의 다른 서비스는 제공 할 수 없습니다. 거기에 존재하는 오류는 없는지 /var/log/nginx/error.log, /var/log/php-fpm.log또는 /var/log/nginx/us/sharonrhodes/blog/error.log.

내 설정 :

  • 워드 프레스 3.0.4
  • nginx 0.8.54
  • php-fpm 5.3.5 (fpm-fcgi)
  • 아치 리눅스

구성 파일

php-fpm.conf :

[글로벌]
pid = run / php-fpm / php-fpm.pid
error_log = log / php-fpm.log
log_level = 공지

[www]
청취 = 127.0.0.1:9000
listen.owner = www
listen.group = www
청취 모드 = 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;
worker_processes 1;

error_log /var/log/nginx/error.log 공지;
pid /var/run/nginx.pid;


이벤트 {
    worker_connections 1024;
}


http {
    mime.types 포함;
    default_type 응용 프로그램 / 옥텟 스트림;
    sendfile on;
    keepalive_timeout 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 공지;
    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 off;
            access_log off;
    }

    위치 = /robots.txt {
            모두 허용;
            log_not_found off;
            access_log off;
    }

    위치 / {
            정적 콘텐츠에 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 on;
            fastcgi_pass PHP;
    }

    위치 ~ * \. (js | css | png | jpg | jpeg | gif | ico) $ {
            최대 만료
            log_not_found off;
    }
}

/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 $ 요청 _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가 --enable-force-cgi-redirect로 빌드 된 경우에만 필요합니다.                                                                                         
fastcgi_param REDIRECT_STATUS 200;

빈 페이지는 일반적으로 치명적인 오류가 있음을 의미합니다. 자세한 내용은 error_log를 참조하십시오
Mike

1
이것을 언급 했어야하지만 /var/log/nginx/error.log, /var/log/php-fpm.log 또는 / var / log / nginx / us / sharonrhodes / blog / error에 오류가 없습니다. 로그.
troutwine

답변:


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.conf가 아닌 fastcgi_params 파일을 포함합니다. 내 대답은 여전히 ​​유효합니다.
Martin Fjordvald

4

이건 그냥 나를 물었다. 그리고 그것은 내 잘못이었다. 나는 나를 고친 것을 나누고 싶었다. 필자의 경우 index.php 가로 드되지 않았지만 (빈 페이지) wp-admin이 작동했습니다.

사용자 지정 테마가 있으며 최근에 공유 호스팅 계정에서 VPS로 마이그레이션했습니다. 나는 rsync를했고 내 테마 (/srv/blog.clifton.io/wp-content/themes/theme-here)는 심볼릭 링크입니다. 이 심볼릭 링크는 이전 호스팅 계정의 경로를 사용했기 때문에 물론 중단되었습니다.

도움이 되었기를 바랍니다! (그리고 "THEME NOT FOUND"또는 이와 유사한 것을 기록하기를 원합니다)


그것에 이틀을 보냈다. 모르게 테마를 삭제했으며 빈 페이지가있었습니다. 테마를 찾을 수 없음 오류를 분명히 표시해야합니다.
SA Malik
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.