Trang trống: wordpress trên nginx + php-fpm


18

Ngày tốt.

Mặc dù bài đăng này thảo luận về một thiết lập tương tự để thỉnh thoảng phục vụ các trang trống sau khi cài đặt thành công, tôi không thể phục vụ bất cứ thứ gì ngoài các trang trống. Không có lỗi trong /var/log/nginx/error.log, /var/log/php-fpm.loghoặc /var/log/nginx/us/sharonrhodes/blog/error.log.

Thiết lập của tôi:

  • Wordpress 3.0.4
  • nginx 0,8,54
  • php-fpm 5.3.5 (fpm-fcgi)
  • Arch Linux

Tập tin cấu hình

php-fpm.conf:

[toàn cầu]
pid = run / php-fpm / php-fpm.pid
error_log = log / php-fpm.log
log_level = thông báo

[www]
nghe = 127.0.0.1:9000
lắng nghe.owner = www
nghe.group = www
nghe.mode = 0660
người dùng = www
nhóm = www

chiều = năng động
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_Vquests = 500

nginx.conf:

người dùng www;
worker_ Processes 1;

thông báo error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;


sự kiện {
    worker_connections 1024;
}


http {
    bao gồm mime.types;
    ứng dụng default_type / octet-stream;
    sendfile trên;
    keepalive_timeout 65;

    gzip trên;

    bao gồm /etc/nginx/sites-enables/*.conf;
}

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

thượng nguồn php {
    máy chủ 127.0.0.1:9000;
}

người phục vụ {
    error_log /var/log/nginx/us/sharonrhodes/blog/error.log thông báo;
    access_log /var/log/nginx/us/sharonrhodes/blog/access.log;

    blog_name blog.sharonrhodes.us;
    root / srv / apps / us / sharonrhodes / blog;
    chỉ số index.php;

    vị trí = /favicon.ico {
            log_not_found tắt;
            access_log tắt;
    }

    vị trí = /robots.txt {
            chấp nhận tất cả;
            log_not_found tắt;
            access_log tắt;
    }

    vị trí / {
            # Điều này thật tuyệt vì không có php nào được chạm vào cho nội dung tĩnh                                                                                        
            try_files $ uri $ uri / /index.php?q=$uri&$args;
    }

    vị trí ~ \ .php $ {
            fastcgi_split_path_info ^ (. + \. php) (/.+) $;
            #Note: Bạn nên có "cgi.fix_pathinfo = 0;" trong php.ini                                                                                          
            bao gồm fastcgi_params;
            fastcgi_intercept_errors trên;
            fastcgi_pass php;
    }

    vị trí ~ * \. (js | css | png | jpg | jpeg | gif | ico) $ {
            hết hạn tối đa;
            log_not_found tắt;
    }
}

/etc/nginx/conf/fastcgi.conf:

fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name;
fastcgi_param QUERY_STRING $ query_ chuỗi;
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_protatio;

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;

# Chỉ PHP, được yêu cầu nếu PHP được xây dựng với --enable-force-cgi-redirect                                                                                         
fastcgi_param REDIRECT_STATUS 200;

trang trống thường có nghĩa là có một lỗi nghiêm trọng. Hãy xem error_log của bạn để biết thêm thông tin
Mike

1
Tôi đã tuyên bố điều này, nhưng không có lỗi nào xuất hiện trong /var/log/nginx/error.log, /var/log/php-fpm.log hoặc / var / log / nginx / us / sharonrhodes / blog / error. đăng nhập.
cá hồi

Câu trả lời:


36

Theo mặc định, nguồn Nginx không xác định SCRIPT_FILENAME trong tệp fastcgi_params, vì vậy trừ khi repo bạn đã cài đặt Nginx từ đó bạn cần phải tự làm điều đó.

Kiểm tra xem dòng sau có trong tệp fastcgi_params của bạn không:

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;

và nếu không thì thêm nó.


Thật không may, tôi đã fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;xác định ngay ở đầu /etc/nginx/conf/fastcgi.conf. Tôi sẽ chỉnh sửa bài gốc để phản ánh điều này.
cá hồi

4
Bạn bao gồm tệp fastcgi_params, không phải fastcgi.conf. Câu trả lời của tôi vẫn còn hiệu lực.
Martin Fjordvald

4

Điều này chỉ cắn tôi - và đó hoàn toàn là lỗi của tôi. Tôi muốn chia sẻ những gì cố định tôi. Trong trường hợp của tôi, index.php không tải (trang trống) nhưng wp-admin đã hoạt động.

Tôi có một chủ đề tùy chỉnh và gần đây tôi đã di chuyển từ một tài khoản lưu trữ được chia sẻ sang VPS. Tôi đã thực hiện một rsync và chủ đề của tôi (/srv/blog.clifton.io/wp-content/theme/theme-here) là một liên kết tượng trưng. Tất nhiên, symlink này đã bị hỏng, vì nó đang sử dụng đường dẫn từ tài khoản lưu trữ trước đó của tôi.

Hi vọng điêu nay co ich! (và muốn nó sẽ đăng nhập "THEME KHÔNG FOUND" hoặc tương tự)


đã dành 2 ngày cho nó. Vô tình xóa một chủ đề và có những trang trống. Tôi chắc chắn nên hiển thị một chủ đề không tìm thấy lỗi.
SA Malik
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.