Nginx包含一个FastCGI模块,该模块具有用于缓存动态内容的指令,这些指令由PHP后端提供。进行设置可以消除对其他页面缓存解决方案的需求,例如反向代理(想想Varnish)或特定于应用程序的插件。还可以根据请求方法,URL,cookie或任何其他服务器变量将内容排除在缓存之外。
1、为Xenforo安装插件LiteSpeedCache(安装NGINX后不需要安装LiteSpeed)
点击下载 LiteSpeedCache-2.2.2 (下载102 )
2、编辑/etc/nginx/nginx.conf文件,在 http区块中添加(默认xenforo cookie的xf_前缀没有更改)
### Start FastCGI Cache
map $http_cookie $nocachecookie {
default 0;
~xf_user 1;
~xf_session_admin 1;
~xf_lscxf_logged_in 1;
}
map $request_uri $nocacheuri {
default 0;
~^/register 1;
~^/login 1;
~^/lost-password 1;
}
fastcgi_cache_path /var/run/nginx_fastcgi_cache levels=1:2 keys_zone=fastcgicache:256m inactive=30m;
### End FastCGI Cache
3、在虚拟主机站点的CONF文件中的php区块中,“include fastcgi_params;”后面添加
### fastcgi_cache start
fastcgi_cache_methods GET;
fastcgi_cache_key $host$request_uri;
fastcgi_cache_lock on;
fastcgi_cache_use_stale error timeout invalid_header updating http_500 http_503;
fastcgi_ignore_headers Cache-Control Expires Set-Cookie;
fastcgi_cache fastcgicache;
fastcgi_no_cache $nocachecookie $nocacheuri;
fastcgi_cache_bypass $nocachecookie $nocacheuri;
fastcgi_cache_valid 200 301 302 303 404 5m;
add_header X-Cache-Status $upstream_cache_status;
### fastcgi_cache end
重新nginx与php-fpm即可
使用Nginx fastcgi_cache,省略了安装php缓存插件等步骤,也不需单独再设置config.php文件