网站首页 > 技术教程 正文
在使用nginx缓存之前,必须在nginx里面加载专门的模块,这个模块叫做ngx_cache_purge。
添加ngx_cache_purge模块
下载ngx_cache_purge模块
ngx_cache_purge模块的官方地址:http://labs.frickle.com/files/。在这个地址找到最新版的模块版本 ,使用wget下载。
wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz tar zxvf ngx_cache_purge-2.3.tar.gz
我这里使用的就是ngx_cache_purge-2.3。
编译安装ngx_cache_purge模块
使用nginx -V命令查看nginx是否已经安装了这个模块,如果没有安装,需要重新编译安装。
使用军哥lnmp一键安装包的同学,可以在lnmp的安装目录中找到lnmp.conf这个文件,然后在nginx模块中添加ngx_cache_purge。之后重新平滑升级nginx即可。
修改ngxin配置
在使用fastcgi_cache缓存之前,必须先修改nginx配置,具体就是进入虚拟主机配置中,找到domainname.conf,然后修改里面的sever配置。
#下面2行的中的wpcache路径请自行提前创建,否则可能会路径不存在而无法启动nginx,max_size请根据分区大小自行设置 fastcgi_cache_path /tmp/wpcache levels=1:2 keys_zone=WORDPRESS:250m inactive=1d max_size=1G; fastcgi_temp_path /tmp/wpcache/temp; fastcgi_cache_key "$scheme$request_method$host$request_uri"; fastcgi_cache_use_stale error timeout invalid_header http_500; #忽略一切nocache申明,避免不缓存伪静态等 fastcgi_ignore_headers Cache-Control Expires Set-Cookie; #Ps:如果是多个站点,以上内容不要重复添加,否则会冲突,可以考虑将以上内容添加到nginx.conf里面,避免加了多次。 server { listen 80; #请修改为自己的域名 server_name zhangge.net; index index.html index.htm index.php default.html default.htm default.php; #请修改为自己网站的存放路径 root /home/wwwroot/domainname.com; set $skip_cache 0; #post访问不缓存 if ($request_method = POST) { set $skip_cache 1; } #动态查询不缓存 if ($query_string != "") { set $skip_cache 1; } #后台等特定页面不缓存(其他需求请自行添加即可) if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php|sitemap(_index)?.xml") { set $skip_cache 1; } #对登录用户、评论过的用户不展示缓存(这个规则张戈博客并没有使用,所有人看到的都是缓存) if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") { set $skip_cache 1; } #这里请参考你网站之前的配置,特别是sock的路径,弄错了就502了! location ~ [^/]\.php(/|$) { try_files $uri =404; fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; #新增的缓存规则 fastcgi_cache_bypass $skip_cache; fastcgi_no_cache $skip_cache; add_header X-Cache "$upstream_cache_status From $host"; fastcgi_cache WORDPRESS; fastcgi_cache_valid 200 301 302 1d; } location / { #此处可以添加自定义的伪静态规则(之前你新增的伪静态规则可以添加到这,没有就不用了) try_files $uri $uri/ /index.php?$args; rewrite /wp-admin$ $scheme://$host$uri/ permanent; } #缓存清理配置(可选模块,请细看下文说明) location ~ /purge(/.*) { allow 127.0.0.1; allow "此处填写你服务器的真实外网IP"; deny all; fastcgi_cache_purge WORDPRESS "$scheme$request_method$host$1"; } location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ { access_log off; log_not_found off; expires max; } location = /robots.txt { access_log off; log_not_found off; } location ~ /\. { deny all; access_log off; log_not_found off; } #请注意修改日志路径 access_log /home/wwwlogs/domainname.com.log access;
注意修改上述代码中的该修改部分,不然nginx重启会出错。当然,如果是启用了https,模块就应相应的改变。
安装Nginx-helper插件
在后台搜索nginx-helper,安装好插件。
关于插件的设置:
如果没有使用CDN就可以选择purge模式,如果使用了CDN最好选择文件模式。
由于插件作者定义的缓存路径是 /var/run/nginx-cache ,而我们可能会根据服务器实际情况来自定义缓存路径,这样一来,缓存路径的不同就会导致插件无法找到缓存文件并删除!
解决的方法:在wp-config.php中增加一行代码:
define( 'RT_WP_NGINX_HELPER_CACHE_PATH','/tmp/wpcache');
这样,就配置好了。
猜你喜欢
- 2024-10-14 php架构之CGI、FastCGI、php-fpm有什么关系?原来这么简单
- 2024-10-14 CGI、FastCGI、PHP-CGI、PHP-FPM个人理解
- 2024-10-14 你了解吗?最佳6个开源Python应用服务器
- 2024-10-14 CGI,FastCGI,PHP-CGI与PHP-FPM区别详解
- 2024-09-30 CGI,FastCGI,PHP-CGI与PHP-FPM的区别
- 2024-09-30 PHP应用模式之FastCGI的运行工作原理详解
- 2024-09-30 Nginx提升:Nginx+PHP+FastCGI加速模式
- 2024-09-30 8、简述FastCGI(fast方法论)
- 2024-09-30 Nginx+FastCgi+Php 的工作机制(nginx用什么处理php)
- 2024-09-30 一张图理解Nginx FastCGI:Nginx FastCGI工作原理解析
你 发表评论:
欢迎- 最近发表
-
- Oracle 在其新的 Linux 内核中引入了热补丁功能
- CentOS 7.6下安装Oracle 11.2.0.4
- ORACLE体系 - 2(oracle体系讲解)
- ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务
- Hadoop自学系列集(二) ---- CentOS下安装JDK
- 如何升级oracle数据库安全补丁(oraclepsu补丁升级)
- 搭建Oracle数据库服务器(oracle服务器创建用户)
- OGG同步到Kafka(oggforbigdata到kafka)
- oracle是什么软件?(oracle是干什么用的)
- 脚本化修改Oracle用户的密码以及执行sql(增删改查等)
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)