AMH开源社区

AMH社区 - 开放自由有价值的社区

[求助帖] WordPress使用memcache和memcached加速

Aitkots
铁牌会员
173.00 价值分

2,755 次阅读   4 张回复   Aitkots 发表于 2015-05-24 17:43:21
[i=s] 本帖最后由 Aitkots 于 2015-5-24 17:40 编辑 [/i]

在应用软件中下载pecl_memcache-2.2.7的模块,然后安装。
安装完成之后到“AMH » pecl_memcache 扩展安装”管理界面安装扩展。
这时候可以上传一个PHP文件,内容为<? phpinfo();?>,查看memcache的扩展状态,如果显示出了相关信息则web运行环境中的Memcache扩展安装成功。

安装Memcached

A - 先安装livevent
yum install libevent-devel
安装memcached之前,必须安装libevent!
wgethttp://soft.laozuo.org/systems/memcached-1.4.15.tar.gz
tar -zxvf memcached-1.4.15.tar.gz
cd memcached-1.4.15
./configure --prefix=/usr/local/memcached --with-libevent=/usr/
make
make install
启动服务并且分配端口
/usr/local/memcached/bin/memcached -d -m 32 -l 127.0.0.1 -p 11211 -u root -P /tmp/memcached.pid
如果没有任何提示,说明已经安装成功。

B - 查看 Memcached 缓存情况
我们需要使用 telnet 命令查看,首先检测一下是否已安装 telnet 包
rpm -qa |grep telnet
如果安装了,会返回相关版本

telnet-0.17-41.el5
telnet-server-0.17-41.el5 #注意server在我安装的过程中并没有出现,所以我在ROOT执行了以下代码
yum install xinetd
yum install telnet
yum install telnet-server
特别说明:telnet服务要依靠xinetd服务启动,所以要先安装xinetd服务。所以我们要先安装xinetd,再安装telnet-server。

然后链接到 telnet 服务
telnet 127.0.0.1 11211
如果链接成功,会返回:
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
然后输入:
stats
回车,就可以看到 Memcached 的缓存情况:
STAT pid 21853 —— Memcached 进程的ID
STAT uptime 803 —— 进程运行时间
STAT time 1432458513 ——当前时间
STAT version 1.4.15 —— Memcached 版本
...
STAT cmd_get 355 —— 总共获取数据的次数(等于 get_hits + get_misses )
STAT cmd_set 98 —— 总共设置数据的次数
...
STAT get_hits 272 —— 命中了多少次数据,也就是从 Memcached 缓存中成功获取数据的次数
STAT get_misses 83 —— 没有命中的次数
以上数据的命中率:STAT get_hits/STAT cmd_get = 76.6%
要退出 telnet,输入组合键 Ctrl+] 出现

telnet>

输入 quit 即可退出。

1.关闭Memcached

直接使用 kill 进程ID 即可,比如上面信息显示的进程ID为21853,那就使用 kill 21853

2.重新启动Memcached,并且修改内存等参数,样例如下(修改最大内存为 1024M,最大连接数为 4000):
/usr/local/memcached/bin/memcached -d -m 1024 -u root -l 127.0.0.1 -p 11211 -c 4000 -P /tmp/memcached.pid 11211
更详细的有些参数介绍如下:

-p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25
-n 最小分配空间,key+value+flags默认是48
-h 显示帮助

WordPress中用FTP上传“WordPress Memcached 插件”
下载 WordPress Memcached 插件,解压后,将 object-cache.php 上传到 wp-content 目录(不是 wp-content/plugins/),这样 WordPress 会自动检查在 wp-content 目录下是否有 object-cache.php 文件,如果有,直接调用它作为 WordPress 对象缓存机制。

注意:如果你的服务器安装了多个 WordPress,请确保每个WordPress站点使用了不同的数据库前缀,如果前缀一样,比如都是 wp_ ,就很可能造成冲突,因为每个网站的数据都通过内存进行缓存,前缀一样就会打架啦!

为你的 WordPress 站点开启了 memcached 缓存以后,就没必要安装 DB Cache Reloaded Fix 这类数据库缓存插件了。






评价: 这个问题有价值吗?  没有 (0分)   有, 感谢 (2分)
2015-05-24 17:43:21 1

iCharlesC
银牌会员
2462.08 价值分

wordpress的话,使用免费的那2、3个SEO插件,效果也非常好,有点像静态化了页面了。 memcache效果不一定比静态化要高,就单wordpress而言。
评价: 这个答复有价值吗?  没有 (0分)   有, 感谢 (0分)
回复  2015-05-24 23:46:37 2

gavin519
铁牌会员
136.15 价值分

这个操作有点难。memadmin我一直安装不成功
评价: 这个答复有价值吗?  没有 (0分)   有, 感谢 (0分)
回复  2019-09-02 21:12:36 3

阿里云惠网
铁牌会员
166.42 价值分

WordPress静态化插件如何解决评论的问题?AJAX?
评价: 这个答复有价值吗?  没有 (0分)   有, 感谢 (0分)
回复  2019-09-15 17:46:45 4

gavin519
铁牌会员
136.15 价值分

我做了测试,很多wordpress钩子,没对应上。难搞哦
评价: 这个答复有价值吗?  没有 (0分)   有, 感谢 (0分)
回复  2019-09-16 14:25:39 5
 1  (总1页)
AMH社区列表
旅客不可参与帖子, 请您先登录
用户服务中心