We found 17 results for your search.

WordPress博客网站使用Memcached和Redis缓存哪个更好|

今天小白得到了一台4核8G的服务器,马上安装上宝塔。接下来就遇到了一个选择困难综合征。到底给数据库安装那种缓存好。是Memcached缓存,还是Redis缓存?接下来小白将详细分析下这两种的区别。 首先,我们今天研究的大前提是#wordpress#博客,那么注定数据量不会太大。访问量也不是超多那种。 一、#Memcached#和#Redis#区别 1、数据存储方式 Memecache把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小。 Redis有部份存在硬盘上,这样能保证数据的持久性。 2、数据支持类型 Memcache对数据类型支持相对简单。 Redis有复杂的数据类型。 3、使用底层模型差别 它们之间底层实现方式 以及与客户端之间通信的应用协议不一样。 Redis直接自己构建了VM 机制 ,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求。 4、#value#值大小不同 redis最大可以达到1GB,而memcache只有1MB。 二、Memcached和Redis哪个更适合WordPress 根据上面对比我们发现memcached为内存存储,其占用量最大就512MB内存。而Redis可以无限大占用内存和硬盘空间。memcached更适合存储简单的值。所以小白得出的结论是针对内容不多的WordPress博客建议选择用memcached做MySQL数据库的缓存。 但是这里也有一种例外,有些采集站大佬。因为数据量超多。大部分都超过10万篇文章。那种还是用Redis吧。毕竟有这么多内容的服务器配置应该也不低吧。 以上就是今天要介绍的所有内容,如果有错误欢迎留言指出。

同一服务器多个WordPress站点使用Memcached冲突的解决办法

缙哥哥开启了一个公益站点“琅嬛百科”,方便大家检索中医药相关的内容,由于需要经常搜索,所以开启了 Memcached 内存缓存,以便减少服务器压力,提高访问速度,改善用户体验度。由于跟缙哥哥博客放在同一台服务器上,开启后自动跳转到博客地址…… 缙哥哥就纳闷了,明明数据库不是同一个,数据库前缀也不同,网站文件也不同,怎么就冲突了呢?后来一想就明白了,用的是同个内存啊,既然如此,用 CACHE_KAY 把两个网站区分开就好了嘛! 区分Memcached缓存 进入WordPress站点根目录,编辑根目录下的wp-config.php文件,在 /* 好了!请不要再继续编辑。请保存本文件。使用愉快! */ 该代码注释上方添加以下代码 /* 同服务器多站点Memcached内存缓存分离 – https://www.dujin.org/12476.html */ define(‘WP_CACHE_KEY_SALT’, ‘www.dujin.org’); 这里引号中间 www.dujin.org 只是为了与其他站点区别 Memcached 缓存数据,避免冲突而已,你可以改成自己的网址,也可以不改。记得保存 wp-config.php 文件,然后重启下(个人建议)就OK了!

启用memcached动态缓存加速wordpress

博客正在使用的是基于nginx的fastcgi纯静态缓存,这是将所有的动态HTML页面都缓存到硬盘文件,nginx针对http请求只处理静态内容,因此对服务器的开销很小,速度快。对于动态内容不多的站点,用这个方法能极大缓解cpu的负担,由nginx来高效地处理并发。 另一种缓存方式是基于memcached缓存动态内容,将数据库的数据缓存在内存中,下次需要的时候直接从内存中取数据,减少MySQL的访问次数,也加速了wordpress对网页的处理。这种方式直接从内存中存取数据,理论上比静态缓存的IO开销更小,但是由于memcached需要占用一定php资源,因此会对CPU带来一些额外的压力。 本文记述了在另一个站点上安装部署memcached的过程,最后测试这种方式的缓存的响应速度和并发处理能力。   安装memcached服务 网上有一些文章提供了memcached服务的安装方法,有的手动下载源码编译安装,这里采用军哥lnmp一键包插件安装简单的方法。在lnmp源代码目录下,运行addon.sh脚本安装memcached服务 ./addons.sh install memcached 在随后出现的选项里选择2,也就是php-memcached的带d的版本,这个相对不带d的版本更新,性能更好。 编译安装完成以后,检查一下memcached的服务是否已经运行。 systemctl status memcached memcached.service – LSB: memcached – Memory caching daemon Loaded: loaded (/etc/rc.d/init.d/memcached; bad; vendor preset: disabled) Active: active (running) since Fri 2017-08-18 14:38:00 CST; 1 weeks 0 days ago 然后检查php的memcached模块是否已经加载 php -m | grep memcached 可以新建一个php文件测一下缓存功能,将下面的代码保存为test.php文件。 <?php $m = new Memcached(); $m->addServer(… Continue reading 启用memcached动态缓存加速wordpress

WordPress 如何启用 Memcached 内存缓存

Memcached 是一种高性能的分布式内存对象缓存系统。在动态应用,Memcached 既能提高访问的速度,同时还减低了数据库的负载。 Danga Interactive 为提升 LiveJournal.com 的速度研发了 Memcached。目前,LiveJournal.com 每天已经在向一百万用户提供多达两千万次的页面访问。而这些,是由一个由 Web 服务器和数据库服务器组成的集群完成的。Memcached 几乎完全放弃了任何数据都从数据库读取的方式,同时,它还缩短了用户查看页面的速度、更好的资源分配方式,以及 Memcache 失效时对数据库的访问速度。 WordPress 和 Memcached 由于 WordPress 默认支持 Object Cache,所以在 WordPress 实现 Memcached 就是使用 Memcached 把 WordPress 的 Object Cache 写到内存中去,下次直接从内存中读取。相比直接从数据库去读取数据,或者从 Object Cache 数据存到文件,然后从硬盘中读取,Memcached 有很大的速度优势。 Memcached 命中率 上图是我爱水煮鱼使用 Memcached 之后的缓存对象的命中率,可以看出命中率是非常高,接近 97%,基本上可以保证所有数据都是从能内存中取,所以使用 Memcached 进行缓存是非常有效的。 WordPress 如何启用 Memcached 缓存 1. 需要你的服务器支持,就是你的 PHP 需要安装上 Memcached… Continue reading WordPress 如何启用 Memcached 内存缓存

WordPress DUX主题修改favicon.ico地址

默认WordPress会使用WP目录下的#favicon.ico#作为网站图标。今天就遇到个奇葩的IP,刷了我这个图标1万7千次。也不知道他想干什么。浪费流量。那么如何修改这个图标到图床呢?下面小白详细介绍下。 1、找到#主题#目录下的“header.php”,DUX 6.3版本,在第12行。 原来的: <link rel=”shortcut icon” href=”<?php echo home_url() . ‘/favicon.ico’ ?>”> 修改成 <link rel=”shortcut icon” href=”你的图标图床网址链接”> 2、保存下,如果服务器有#memcached#等缓存记得清一下。图标其实不一定要ico格式,PNG格式也是可以的。JPEG或者JPG都可以,看自己喜欢。使用的是PNG。 测试下是否成功,最好操作前备份一下。省的弄错了。

WordPress DUX主题修改默认缩略图

WordPress #DUX#主题即时你使用了外链缩略图也会加载默认的/wp-content/themes/dux/img/thumbnail.png。这使得流量白白浪费,尤其是使用了#1核##2G##1M#这种小宽带的服务器明显增加负荷,那么今天就教大家如何修改这个图片到图床,给服务器优化节省流量。 1、找到主题目录下的 “functions-theme.php”,搜 thumbnail.png。 原代码: if( $r_src ){ if( _hui(‘thumbnail_src’) ){ return sprintf(”, $r_src, $post->post_title._get_delimiter().get_bloginfo(‘name’), get_stylesheet_directory_uri().’/img/thumbnail.png’); }else{ return sprintf(”, $r_src, $post->post_title._get_delimiter().get_bloginfo(‘name’)); } }else{ return sprintf(”, get_stylesheet_directory_uri().’/img/thumbnail.png’); 修改成: if( $r_src ){ if( _hui(‘thumbnail_src’) ){ return sprintf(”, $r_src, $post->post_title._get_delimiter().get_bloginfo(‘name’), get_stylesheet_directory_uri().’/img/thumbnail.png’); }else{ return sprintf(”, $r_src, $post->post_title._get_delimiter().get_bloginfo(‘name’)); } }else{ return sprintf(”, get_stylesheet_directory_uri().’/img/thumbnail.png’); 如果有memcached等缓存的修改完后记得重启下memcached。 总结起来就是修改两个 src=”图床图片链接” 这里,记得图片要220*150像素的。小了其实也没关系会自动调整,最好么这个像素,使用空白图像可以加快点载入速度。

LNMP 1.6安装与使用|自动开启TLS 1.3和支持PHP 7.3\MariaDB 10.3

LNMP是一个非常经典的Nginx/MySQL/PHP等Web环境一键安装包,支持Nginx、Apache或者前端Nginx+后端Apache,支持多PHP版本(目前可以安装PHP 7.3)以及常用缓存组件Redis/Xcache等的安装。 LNMP一键安装包目前已经更新了1.6版本,相对于以前的版本,主要是增加PHP 7.3、MariaDB 10.3、Nginx/Apache TLS 1.3支持。有想要体验一下TLS 1.3的朋友可以升级自己的LNMP了,LNMP 1.6安装后会自动开启TLS 1.3。 如果你手里有VPS主机想要用于建站的话,推荐用Oneinstack或者LNMP来搭建建站环境,对于新手朋友推荐使用宝塔BT面板、WDCP面板,它可以让你像管理虚拟主机一样使用VPS主机,更多的VPS主机控制面板可以参考专题:服务器控制面板榜单。 新版LNMP 1.6安装与使用-支持自动开启TLS 1.3和安装PHP 7.3\MariaDB 10.3 有关于Oneinstack、宝塔BT面板和WDCP面板的教程,这里有: OneinStack一键安装脚本-轻松部署Let’s Encrypt证书配置Https站点 WDCP免费服务器控制面板-切换Nginx\Apache和PHP版本一键SSL 新版BT.cn宝塔VPS主机面板建站使用体验-清爽傻瓜式操作功能全面 PS:2019年1月21日更新,如果你用的是Oneinstack或者宝塔BT面板,开启TLSV1.3的方法有:网站优化加速-开启TLSV1.3和Brotli压缩-Oneinstack,LNMP,宝塔面板。 一、LNMP 1.6安装 网站: https://lnmp.org/ 安装命令如下(如需要安装LNMPA或LAMP,将./install.sh 后面的参数lnmp替换为lnmpa或lamp即可): #安装screen screen -S lnmp #如果网络掉线,可以重新连接S-S-H,再执行 screen -r lnmp 就会看到你的lnmp安装进程。 #有时候screen异常退出可能会提示状态为Attached,可以执行:screen -D -r lnmp 进行恢复。 #有时候可能会创建了多个同名的screen会话,可以执行:screen -ls 查看对应会话的session id,然后使用screen -D -r sessionid 进行恢复。 #下载安装包,并开始安装 wget http://soft.vpser.net/lnmp/lnmp1.6beta.tar.gz -cO lnmp1.6beta.tar.gz… Continue reading LNMP 1.6安装与使用|自动开启TLS 1.3和支持PHP 7.3\MariaDB 10.3

使用ngx_lua配置WAF防火墙为网站防御CC攻击

博客建站三年了,从未重视过网站安全问题,毕竟个人小博客没必要多在乎安全问题,然而今天有位未知的朋友用实际行动告诉我一定要重视网站安全,不然损失的就不只是流量!特别是加了CDN的网站,那流量跑得飞起,然后你会为巨额流量买单。下面是今天我被CC攻击的全过程,以及我对此次攻击做出的补救措施,第一次搞网站防御若有错误欢迎指正。 第一次CC攻击 早上10点15分,突然收到腾讯云发来的CDN流量包即将消耗殆尽的邮件及短信通知,当时我就懵了,按照我一天500M的流量来算,不应该不够呀。然后瞬间意识到被攻击了 ,登陆腾讯云后台看到今日消耗流量40G。心都凉了半截,然后我快速设置了下腾讯CDN的请求次数控制,之前没有限制。限制每IP每秒仅可请求20次,然后设置CDN带宽阈值,超过自动回源。 最坑爹的是腾讯的CDN日志有2个小时左右的延迟,我根本没办法使用封禁IP的方式来解决这个问题。快12点我才看到腾讯CDN的日志信息,发现了一大堆下面形式的请求记录。   使用ngx_lua配置WAF防火墙为网站防御CC攻击 攻击者模拟了百度的UA,使用GET方法大量请求我的首页,使用的ip据查大部分是腾讯云的,而且ip杂乱,总共有高达600+ip,封禁ip的方法行不通了。 第二次CC攻击 下午在一个WordPress交流群中交流今天上午被CC攻击的事,刚说完,立马就受到了第二波攻击。这一次由于我设置了超过请求频率就会返回404页面,所以遭受的损失少了许多。找客服交流了许久,没有任何办法防御CC攻击,CDN流量损失也挽回不了。我开始在自己服务器上使用ngx_lua配置WAF防火墙,用来防御一部分CC攻击。既然CDN不靠谱,那么我还是靠自己吧,关键是CDN的流量跑起来太心痛了! 使用ngx_lua配置WAF防火墙为Nginx开启防御功能有很多种方式,最简单的就是使用oneinstack一键安装包安装服务器环境,oneinstack在2019年1月1日更新版本中新增了ngx_lua功能,可以自动安装配置,小白必备。 另一种就比较麻烦,需要自己手动下载源码,编译安装,然后配置Nginx支持,设置防火墙规则等等,一两句话说不完,这里就不多说了,需要的可以自行百度。 第三次CC攻击 下午3点05分,第三次CC攻击来临,这位老兄今天是耗上我了,不打死我的小博客不死心呀。CDN跑了10多G流量后成功回源,然后我的服务器防火墙也记录下了被拦截的CC攻击请求,如下:   使用ngx_lua配置WAF防火墙为网站防御CC攻击 图中我们可以看到拦截了一批CC攻击,但是仍然有一批透过了防御。 使用lua脚本+memcached动态黑名单防御 既然lua自己的CC防御逻辑拦不住,那我们就写一段拦截脚本,把一段时间内访问次数过多的用户ip给封禁处理。这里就需要使用memcached内存缓存了,当然你也可以使用redis缓存,也可以直接写到文件中,内存的响应比较快,我采取了memcached内存缓存策略。 在lua脚本文件中写入如下代码: ip_bind_time = 300 –封禁IP时间 ip_time_out = 1 –指定ip访问频率时间段 connect_count = 60 –指定ip访问频率计数最大值 local memcached = require “memcached” local memc, err = memcached:new() if not memc then ngx.say(“failed to instantiate memc: “, err) return end local… Continue reading 使用ngx_lua配置WAF防火墙为网站防御CC攻击