W3Nginx的总缓存问题

时间:2012-06-04 作者:urok93

您好,我在使用nginx的站点上安装了w3 total cache,但我有一些错误。例如,当我启用页面缓存磁盘:增强时,我得到:

页面缓存URL重写似乎不起作用。如果使用apache,请验证服务器配置是否允许。htaccess或如果使用nginx,请验证配置中是否包含所有配置文件。

选择“页面缓存磁盘:基本”时,不会显示任何错误。

以下是/etc/nginx/nginx中服务器的配置。形态:

http://pastebin.com/SEdnyHbf

如果有什么不同,我安装了多个站点,都在/srv/www中

我可以看到W3 Total Cache正在创建一个单独的nginx。每个网站的配置文件,例如/srv/www/mysite。com/public\\u html/nginx。其中有W3 Total Cache的规则,粘贴在此处:http://pastebin.com/dANPVMJk

我想有一个设置,为任何数量的网站,我会添加工程。我的服务器上的客户端需要按照自己的意愿自由更新其W3 Total缓存配置,而无需重新启动服务器。此外,他们可能会选择根本不使用插件。

2 个回复
最合适的回答,由SO网友:Pothi Kalimuthu 整理而成

您的主配置文件位于/etc/nginx/nginx.confsome pitfalls 它不应该那么复杂。让我分享一个更简单的版本,让你从。。。

server {
  server_name www.yourdomain.com;
  # please replace the root path
  # ex: /srv/www/mysite.com/public_html
  root /path/to/wordpress/installation;
  index index.php;

  # please update the path to W3 Total Cache\'s configuration
  # ex: /srv/www/mysite.com/public_html/nginx.conf
  include /path/to/wordpress/installation/nginx.conf;

  location ~* \\.php$ {
     try_files       $uri =404;
     fastcgi_index   index.php;
     fastcgi_pass    127.0.0.1:9000;
     include         fastcgi_params;
     fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
  }

  location / { try_files $uri $uri/ /index.php?$args; }
}
根据您的设置,您可以修改上述内容(或再添加几行代码)。例如,如果您使用www 在前面,那么您可能需要添加另一个server 像这样阻止。。。

server {
  server_name yourdomain.com;
  return 301 $scheme://www.yourdomain.com$request_uri;
}
无论何时更新W3 Total缓存设置,请始终记住重新启动或重新加载Nginx服务器。否则,Nginx仍将服务于W3 Total缓存中的先前配置。(我喜欢Apache,它支持动态处理htaccess规则。)

上述配置已在CentOS、Ubuntu和Debian(最新版本)上使用最新的Nginx和PHP-FPM进行了测试。如果使用Apache为PHP提供服务,那么它将无法工作。

希望这有帮助。

SO网友:Chris_O

您需要设置到的路径。插件常规选项中的conf文件,然后让W3 Total写入该文件。

我将创建一个w3总计。etc/nginx中的conf文件,然后下载它的www-data:www-data,以便w3可以写入它,然后将其作为include添加到服务器文件中。

更新:

以回答您的其他问题。如果所有站点都使用相同的W3 Total缓存设置,则为它们提供相同的配置文件路径,并将其包含在所有服务器块中。

为了简化,我喜欢将所有服务器块保存在一个文件中,然后包含一个全局wp。conf和全球w3总计。形态。

server {
   listen 80; 
    server_name domain1.com www.domain1.com;
    root /srv/www/domain1;
    index index.php index.html index.htm;

    include w3-total.conf;
    include wp.conf;    
}
server {
   listen 80; 
    server_name domain2.com www.domain2.com;
    root /srv/www/domain2;
    index index.php index.html index.htm;

    include w3-total.conf;
    include wp.conf;    
}

wp。形态:

error_page 404 = @wordpress;
log_not_found off;

location / {
    try_files $uri $uri/ /index.php?$args;
}

rewrite /wp-admin$ $scheme://$host$uri/ permanent;

location @wordpress {
    fastcgi_pass php;
    fastcgi_param SCRIPT_FILENAME $document_root/index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_NAME /index.php;
}

location ~ \\.php$ {
    fastcgi_max_temp_file_size 1M;
    fastcgi_connect_timeout 60;
    fastcgi_send_timeout 180;
    fastcgi_read_timeout 180;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 4 256k;
    fastcgi_busy_buffers_size 256k;
    fastcgi_temp_file_write_size 256k;
    fastcgi_index  index.php;
    fastcgi_pass php;  // php is defined in nginx.conf
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    try_files $uri @wordpress;
}

Nginx。形态

user www-data;
worker_processes  8;

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

events {
    worker_connections  1024;
}

http {
    include mime.types;
    default_type       application/octet-stream;
    access_log         /var/log/nginx/access.log;
    sendfile           on;
    keepalive_timeout  3;
    client_max_body_size 13m;
    # Upstream to abstract backend connection(s) for PHP.
    upstream php {
        server unix:/var/run/php5-fpm.sock;  //Make sure your setup to use sockets in /etc/php5/fpm/pool.d/www.conf
    }

    include sites-enabled/*;
}
以上配置是针对运行php fpm 5.4和Nginx 1.2.0的小型Debian挤压VPS的

结束

相关推荐

404在使用到APACHE的Nginx代理时主页上出现错误

我通常使用Nginx在服务器上提供静态内容,Apache使用PHP-FPM处理PHP内容。然而,我无法显示Wordpress的博客主页,我已经尝试了在web上找到的所有配置示例,但运气不好。这是我的Nginx配置:server { listen XXX.XXX.XXX.XXX:80; server_name wptest.mydomain.com; access_log /var/log/nginx/testblog

W3Nginx的总缓存问题 - 小码农CODE - 行之有效找到问题解决它

W3Nginx的总缓存问题

时间:2012-06-04 作者:urok93

您好,我在使用nginx的站点上安装了w3 total cache,但我有一些错误。例如,当我启用页面缓存磁盘:增强时,我得到:

页面缓存URL重写似乎不起作用。如果使用apache,请验证服务器配置是否允许。htaccess或如果使用nginx,请验证配置中是否包含所有配置文件。

选择“页面缓存磁盘:基本”时,不会显示任何错误。

以下是/etc/nginx/nginx中服务器的配置。形态:

http://pastebin.com/SEdnyHbf

如果有什么不同,我安装了多个站点,都在/srv/www中

我可以看到W3 Total Cache正在创建一个单独的nginx。每个网站的配置文件,例如/srv/www/mysite。com/public\\u html/nginx。其中有W3 Total Cache的规则,粘贴在此处:http://pastebin.com/dANPVMJk

我想有一个设置,为任何数量的网站,我会添加工程。我的服务器上的客户端需要按照自己的意愿自由更新其W3 Total缓存配置,而无需重新启动服务器。此外,他们可能会选择根本不使用插件。

2 个回复
最合适的回答,由SO网友:Pothi Kalimuthu 整理而成

您的主配置文件位于/etc/nginx/nginx.confsome pitfalls 它不应该那么复杂。让我分享一个更简单的版本,让你从。。。

server {
  server_name www.yourdomain.com;
  # please replace the root path
  # ex: /srv/www/mysite.com/public_html
  root /path/to/wordpress/installation;
  index index.php;

  # please update the path to W3 Total Cache\'s configuration
  # ex: /srv/www/mysite.com/public_html/nginx.conf
  include /path/to/wordpress/installation/nginx.conf;

  location ~* \\.php$ {
     try_files       $uri =404;
     fastcgi_index   index.php;
     fastcgi_pass    127.0.0.1:9000;
     include         fastcgi_params;
     fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
  }

  location / { try_files $uri $uri/ /index.php?$args; }
}
根据您的设置,您可以修改上述内容(或再添加几行代码)。例如,如果您使用www 在前面,那么您可能需要添加另一个server 像这样阻止。。。

server {
  server_name yourdomain.com;
  return 301 $scheme://www.yourdomain.com$request_uri;
}
无论何时更新W3 Total缓存设置,请始终记住重新启动或重新加载Nginx服务器。否则,Nginx仍将服务于W3 Total缓存中的先前配置。(我喜欢Apache,它支持动态处理htaccess规则。)

上述配置已在CentOS、Ubuntu和Debian(最新版本)上使用最新的Nginx和PHP-FPM进行了测试。如果使用Apache为PHP提供服务,那么它将无法工作。

希望这有帮助。

SO网友:Chris_O

您需要设置到的路径。插件常规选项中的conf文件,然后让W3 Total写入该文件。

我将创建一个w3总计。etc/nginx中的conf文件,然后下载它的www-data:www-data,以便w3可以写入它,然后将其作为include添加到服务器文件中。

更新:

以回答您的其他问题。如果所有站点都使用相同的W3 Total缓存设置,则为它们提供相同的配置文件路径,并将其包含在所有服务器块中。

为了简化,我喜欢将所有服务器块保存在一个文件中,然后包含一个全局wp。conf和全球w3总计。形态。

server {
   listen 80; 
    server_name domain1.com www.domain1.com;
    root /srv/www/domain1;
    index index.php index.html index.htm;

    include w3-total.conf;
    include wp.conf;    
}
server {
   listen 80; 
    server_name domain2.com www.domain2.com;
    root /srv/www/domain2;
    index index.php index.html index.htm;

    include w3-total.conf;
    include wp.conf;    
}

wp。形态:

error_page 404 = @wordpress;
log_not_found off;

location / {
    try_files $uri $uri/ /index.php?$args;
}

rewrite /wp-admin$ $scheme://$host$uri/ permanent;

location @wordpress {
    fastcgi_pass php;
    fastcgi_param SCRIPT_FILENAME $document_root/index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_NAME /index.php;
}

location ~ \\.php$ {
    fastcgi_max_temp_file_size 1M;
    fastcgi_connect_timeout 60;
    fastcgi_send_timeout 180;
    fastcgi_read_timeout 180;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 4 256k;
    fastcgi_busy_buffers_size 256k;
    fastcgi_temp_file_write_size 256k;
    fastcgi_index  index.php;
    fastcgi_pass php;  // php is defined in nginx.conf
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    try_files $uri @wordpress;
}

Nginx。形态

user www-data;
worker_processes  8;

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

events {
    worker_connections  1024;
}

http {
    include mime.types;
    default_type       application/octet-stream;
    access_log         /var/log/nginx/access.log;
    sendfile           on;
    keepalive_timeout  3;
    client_max_body_size 13m;
    # Upstream to abstract backend connection(s) for PHP.
    upstream php {
        server unix:/var/run/php5-fpm.sock;  //Make sure your setup to use sockets in /etc/php5/fpm/pool.d/www.conf
    }

    include sites-enabled/*;
}
以上配置是针对运行php fpm 5.4和Nginx 1.2.0的小型Debian挤压VPS的

相关推荐

Docker化的Wordpress出现了Nginx代理问题

我有一个停靠的Nginx代理,它位于我的服务器上。我的一个网站是Docker Compose Wordpress网站。它们是单独的容器,必须保持这种状态。When I update my Site Url in the Settings I can still log into my Admin Dashboard, but I cannot reach my actual site. I receive a 502 Gateway Error from Nginx. Nginx服务器块: serv