为 W3 Total Cache 配置 NGINX

为 W3 Total Cache 配置 NGINX

我安装了 W3 Total Cache 插件,它自动配置了我的 nginx 配置文件。不幸的是,没有显示任何 CSS 或其他静态文件。除了无主题的主页外,所有内容都是 404。

这是 nginx 配置:http://pastie.org/2296620我希望有人能指出问题所在。

谢谢你,

麦克风

答案1

我看到的主要问题是 WordPress 重写。

在本节中,删除 root 和 index 指令并将它们放在 listen 80 之下,然后将 if rewrite 更改为 try 文件。

为了帮助保持井然有序,我会将 W3 Total Cache 配置移动到单独的文件并使用包含来添加它。

以下是一个例子:

server {
    listen 80;

    server_name domain.com www.domain.com;

    root /srv/www/domain/public;

    access_log /var/log/nginx/example.access.log;
    error_log /var/log/nginx/example.error.log;

        client_max_body_size 8M;
        client_body_buffer_size 128k;
    location / { 
        #try_files $uri $uri/ /index.php;
                try_files $uri $uri/ /index.php?q=$uri&$args; 
    }

    location /search { limit_req zone=one burst=3 nodelay; rewrite ^ /index.php; }

    fastcgi_intercept_errors off;

    location ~ \.php {
    try_files $uri =404;
    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  SCRIPT_FILENAME    $document_root$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;

    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;

    fastcgi_pass 127.0.0.1:9000;
 }

    include w3-total-cache-config.conf;

}

我最近写了一篇博客文章使用 W3 Total Cache 设置 Nginx您可能也会发现它们很有帮助。

答案2

好吧,我会从简单开始——删除所有 W3TC 缓存垃圾,并进行基本的站点配置,然后首先使其正常工作。检查您的错误日志,了解请求出现 404 的原因;很有可能您只是弄乱了链接或其他东西。此外,我看到很多陷阱在您的配置中,您可能需要研究如何修复。

相关内容