文档章节

阿里云主机安装Memcached扩展优化WordPress

Amamatthew
 Amamatthew
发布于 2014/08/26 18:01
字数 1345
阅读 22
收藏 0

前言
最近发现阿里云主机在使用中,并发访问量稍大,页面加载速度就很慢。于是学习了一些服务器优化的文章,决定安装Memcached,优化页面查询,提高Wordpress的响应速度。这里记录下阿里云主机Centos6.3的Memcached安装的过程。

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon)是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。但是它并不提供冗余(例如,复制其hashmap条目);当某个服务器停止运行或崩溃了,所有存放在该服务器上的键/值对都将丢失。

Memcached函数库是在PECL(PHP Extension Community Library)中,主要作用是搭建大容量的内存数据的临时存放区域,在分布式环境下的作用体现的非常明显。

本文就详细讲解如何让PHP支持Memcached,以提高大访问量网站的访问速度,本文的PHP和Memcached的安装环境为Centos6.3操作系统。

安装Memcached前的准备工作

(1)首先安装apache、mysql、php,详细参见阿里云服务器搭建LAMP环境

[root@Linux ~]#yum install -y httpd-* mysql-server mysql mysql-devel php-*

(2)安装libevent libevent-devel
Memcached需要libevent的支持,详细的内容可以找下关于memcached的原理。

[root@Linux ~]#yum install -y libevent libevent-devel

(3)安装php-devel gcc make
Memcached编译时需要用到php-devel gcc make,需事先安装好

[root@Linux ~]#yum install -y php-devel gcc make

安装memcached

方法一:yum安装简单方便

[root@Linux ~]#yum -y install memcached

方法二:下载安装
到http://memcached.org/下载最新版本的memcached源代码包

[root@Linux ~]#wget  http://memcached.googlecode.com/files/memcached-1.4.13.tar.gz

然后就可以就如安装步骤了

[root@Linux ~]#tar zxvf  memcached-1.4.13.tar.gz[root@Linux ~]#cd  memcached-1.4.13[root@Linux ~]#./configure --prefix=/usr/local/memcached[root@Linux ~]#make[root@Linux ~]#make install[root@Linux ~]#ln -s /usr/local/memcached/bin/memcached /usr/local/bin/

启动memcached

[root@Linux ~]#memcached  -d -m 10 -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached

参数说明:
-d选项是启动一个守护进程,
-m是分配给Memcached使用的内存数量,单位是MB,这里是10MB,
-u是运行Memcached的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,由于是本地开发( 非实际运行环境 )这里指定了服务器的IP地址127.0.0.1,
-p是设置Memcached监听的端口,这里设置了11211,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,这里设置了256,按照服务器的负载量来设定,
-P是设置保存Memcached的pid文件,这里是保存在 /tmp/memcached.pid。

验证安装
memcached -h
应该会输出一些帮助信息

将memcached加入启动列表
chkconfig –level 2345 memcached on

配置Memcached
vi /etc/sysconfig/memcached
文件中内容如下
PORT=”11211″ 端口
USER=”root” 使用的用户名
MAXCONN=”1024″ 同时最大连接数
CACHESIZE=”64″ 使用的内存大小
OPTIONS=”” 附加参数

查看memcached状态
memcached-tool [Memcached Server IP]:[Memcached Server Port] stats
如:memcached-tool 127.0.0.1:11211 stats

检查Memcached是否启动
netstat -ant
出现类似这样的结果 tcp 0 0 88.88.88.88:11211 0.0.0.0:* LISTEN
11211端口已经打开,说明Memcached已正常启动。

=====至此,我们将Memcached服务配置完毕,接着我们配置PHP的扩展,以便在程序中来调用=====

安装Memcached的php扩展

PHP有两种Memcached扩展,老一点的叫memcache,新一点的叫memcached,这里我安装的是memcache。
首先到http://pecl.php.net/package/memcache下载memcached的php扩展最新稳定版本

[root@Linux ~]#wget http://pecl.php.net/get/memcache-2.2.5.tgz

解压:

[root@Linux ~]#tar zxvf  memcache-2.2.5.tgz

编译安装:

[root@Linux ~]#cd memcache-2.2.5[root@Linux ~]#phpize[root@Linux ~]#./configure --enable-memcache --with-php-config=/usr/bin/php-config --with-zlib-dir[root@Linux ~]#make[root@Linux ~]#make install

安装成功后提示:”Installing shared extensions:     /usr/lib64/php/modules/”。

在php.ini文件中添加memcache扩展

[root@Linux ~]#vim /etc/php.ini

添加以下内容

extension_dir = "/usr/lib64/php/modules/"extension=memcache.so

检验Memcache安装

[root@Linux ~]#php -m[...]memcache
mysql
mysqli[...]

Memcache环境测试
新建一个test.php文件测试PHP的Memcache扩展效果,如果有输出This is a test!,就表示环境搭建成功。

<?php
$mem = new Memcache;$mem->connect("127.0.0.1", 11211);$mem->set('key', 'This is a test!', 0, 60);$val = $mem->get('key');echo $val;?>

使Wordpress支持memcached

首先在 http://plugins.trac.wordpress.org/browser/memcached/trunk 目录下载object-cache.php的最新版本,将该文件放在wordpress目录中的wp-content 文件夹内。

一般的说法就是这样子就算启动了 wordpress 的 memcache 插件了,如果没有启动,需要修改这个文件的内容。

确认memcached进程使用的端口,默认的端口是11211,如果你守候了其他的进程(例如:14141),那么需要你在wp-config.php文件中增加如下代码:

global $memcached_servers;   $memcached_servers = array(’default => array(’127.0.0.1:14141′));//这里的14141替换为你设置的端口  

这样配置以后 应该就可以支持memcached了 试试是不是访问速度快了许多,这个效果对于访问量大的网站极为明显。

本文转载自:http://www.biphp.com/websitedesign/aliyun-memcached-wordpress/

Amamatthew
粉丝 67
博文 1050
码字总数 76443
作品 0
厦门
后端工程师
私信 提问
价值888元的wordpress性能优化方案 全面提升wordpress打开速度

接触wordpress也些年头了,wordpress建站非常好,性能好、主题多,但是唯一诟病的就是wordpress打开速度慢,造成wordpress访问速度慢的原因有很多,比如字体、表情emoji、插件、主题等因素。...

光山居士
2018/11/02
0
0
LNMP笔记:安装 Xcache 缓存扩展,降低服务器负载

WordPress 精品主机推荐: 阿里云(本站目前所用云主机) 倡萌一直都是用军哥的 lnmp 一键安装包来配置服务器环境,最近一个月来,网站流量上来了些,可能还有其他原因,导致服务器负载不太稳...

Kilar
2016/06/19
21
0
wordpress个人网站优化心得

第一:文武双全使用了阿里云公共DNS 2014年6月6日,阿里云推出了自己的公共DNS,文武双全就把用了N久的电信DNS换成了阿里云公共DNS。 由于使用了WDCP面板,在wdcp后台修改服务器的DNS也是轻而...

gydtep
2018/09/07
0
0
Kubernetes上建立WordPress博客

在Kubernetes上运行WordPress的好处是显而易见的。首先是安装非常简单(在已有集群的情况下),其次是可靠性更高,第三是规模可以伸缩。当然,可以在多个云之间更为容易地迁移也是非常重要的...

openthings
2018/09/15
0
0
wordPress建站

工欲善其事必先利其器,首先我们要准备以下东西: 一.购买主机: 1.了解: 在这里要注意云主机和虚拟主机的区别: (1).万网虚拟主机: https://wanwang.aliyun.com/hosting/free?spm=5176.8...

HaleyLiu
2018/01/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Jenkins基础入门-5-用户和权限管理

本篇,我们来介绍下Jenkins上如何创建用户,以及如何管理用户,和那些用户可以有ProjectA的权限。这个很好理解,一个项目,有开发和测试,和运维,每个团队都有不同的角色,例如有测试经理和...

shzwork
9分钟前
0
0
linux上解压版安装jdk,tomcat

需要的安装包 1.vmware12 2.centos7版本 3.安装完成后需要xshell来连接远程虚拟机,虚拟机保证要联网,网络畅通。 4.xftp用来向linux传输文件用,一般来说xshell和xftp配套使用 5.对应的压缩...

architect刘源源
45分钟前
24
0
使用 spring 的 IOC 解决程序耦合

工厂模式解耦 在实际开发中我们可以把三层的对象都使用配置文件配置起来,当启动服务器应用加载的时候,让一个类中的方法通过读取配置文件,把这些对象创建出来并存起来。在接下来的使用的时...

骚年锦时
今天
2
0
group by分组后获得每组中时间最大的那条记录

用途: GROUP BY 语句用于 对一个或多个列对结果集进行分组。 例子: 原表: 现在,我们希望根据USER_ID 字段进行分组,那么,可使用 GROUP BY 语句。 我们使用下列 SQL 语句: SELECT ID,US...

豆花饭烧土豆
今天
3
0
android6.0源码分析之Camera API2.0下的Preview(预览)流程分析

本文将基于android6.0的源码,对Camera API2.0下Camera的preview的流程进行分析。在文章android6.0源码分析之Camera API2.0下的初始化流程分析中,已经对Camera2内置应用的Open即初始化流程进...

天王盖地虎626
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部