阿里云主机安装Memcached

时间:2022-09-08 10:46:29

http://www.zyuns.com/?page_id=354

前言
最近发现阿里云主机在使用中,并发访问量稍大,页面加载速度就很慢。于是学习了一些服务器优化的文章,决定安装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了 试试是不是访问速度快了许多,这个效果对于访问量大的网站极为明显。

阿里云主机安装Memcached的更多相关文章

  1. 阿里云主机&lpar;aliyun-Linux&rpar; x64安装Redis详解

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/97.html?1455870336 如何在Linux​上安装Redis呢, ...

  2. 在阿里云主机的Debian操作系统上安装Docker

    因为需要新搭建饭团网站,所以需要在阿里云的主机上跑数据库,java环境. 考虑到可扩展性和模块化,所以准备最近流行的docker技术.Docker -- 从入门到实践 阿里云主机1核1G,资源不多,所 ...

  3. Linux云主机安装JDK,配置hadoop的详细方式

    云主机我使用的是青云的,还有好多其他品牌,比如阿里云 unitedstack 等等. 注册完青云后,会有试用券发到账户,可以利用此券试用其服务. 1 首先创建好一个主机,按照提示选择好系统,创建好一个 ...

  4. 放弃阿里云主机,选择高性价比Vultr VPS免备案

    阿里云主机ECS推广多年后,质量有所改善,但我依然强烈不推荐阿里云主机.考虑性价比带宽速度等因素后,我推荐的vps品牌有vultr和digitalocean,还有大名鼎鼎的linode,是中国用户的最 ...

  5. 【小技巧解决大问题】使用 frp 突破阿里云主机无弹性公网 IP 不能用作 Web 服务器的限制

    背景 今年 8 月份左右,打折价买了一个阿里云主机,比平常便宜了 2000 多块.买了之后,本想作为一个博客网站的,毕竟国内的服务器访问肯定快一些.满心欢喜的下单之后,却发现 http 服务,外网怎么 ...

  6. 阿里云主机Nginx下配置NodeJS、Express和Forever

    https://cnodejs.org/topic/5059ce39fd37ea6b2f07e1a3 AngularJS中文社区即运行在阿里云主机上,本站使用Nginx引擎,为了AngularJS,我 ...

  7. 阿里云ECS安装Kubernetes问题收集与解答

    问题1 kubernetes pod启动报错open /etc/docker/certs.d/registry.access.redhat.com/redhat-ca.crt: no such fil ...

  8. VisualVM监控远程阿里云主机

    一.前言 使用VisualVM监控远程主机,主要是要在远程主机上部署JMX服务和jstat服务,jstat服务的部署花了我半天的时间,而且,网上的资基本都是缺胳膊少腿的,没有一篇是一个整体(行得通的) ...

  9. 阿里云主机windows系统Apache启用浏览器缓存的方法

    一群友使用卡卡网的网站速度诊断工具诊断网站速度时,发现有几个需要优化的地方,其中较为重要的是“启用浏览器缓存”.诊断结果显示,网站尚未启用浏览器缓存. 图一:浏览器缓存未启用 群友找我帮忙设置一下,据 ...

随机推荐

  1. Java 8新特性-3 Lambda 表达式

    在 Java 8 之前,匿名内部类,监听器和事件处理器的使用都显得很冗长,代码可读性很差. 在Java 8 之前使用匿名内部类: 例如 interface ITestPrint{ public voi ...

  2. VMWare 安装 Mac OS X10&period;10 Yosemite

    OS X Yosemite 新功能特性 Mac OS X10.10 GM3|OS X 10.10 Yosemite 正式版下载 如何在虚拟机中安装苹果mac系统图示说明 vm10虚拟机安装Mac OS ...

  3. 转:Nginx&plus;ffmpeg的HLS开源服务器搭建配置及开发详解

    转:http://itindex.net/detail/51186-nginx-ffmpeg-hls 本文概述: 至目前为止,HLS 是移动平台上非常重要并十分流行的流媒体传输协议.做移动平台的流媒体 ...

  4. 生产场景NFS共享存储优化及实战

    生产场景NFS共享存储优化: 1.硬件:sas/ssd磁盘,买多块,raid0/raid10,网卡好 2.NFS服务器端优化加all_squash,async /backup/NFS 192.168. ...

  5. Linux id 命令 - 显示用户id和组id信息

    要登入一台计算机,我们需要一个用户名.用户名是一个可以被计算机识别的身份.基于此,计算机会对使用这个用户名的登陆的人应用一系列的规则.在Linux系统下,我们可以使用 id 命令. 什么是 id 命令 ...

  6. 分离JavaScript

    分离JavaScript类似于使用style属性,在HTML文档里使用诸如onclick之类的属性也是一种既没有效率又容易引发问题的做法.如果我们用一个"挂钩",就像CSS机制中的 ...

  7. git常用命令复习及其基本使用示例

    年后回来新上到项目,对于git的一些操作命令记得有点混乱了,所以特整理笔记如下: 一.git常用命令复习 查看当前分支:git branch (显示结果中带有*号的是当前分支)查看所有分支: git ...

  8. ElementUI表单验证使用

    1.设计校验方式: 我们表单验证的rules一般封装一个单独的js文件,比如我之前写的这个博客: ElementUI使用问题记录:设置路由+iconfont图标+自定义表单验证 可以修改下:公共的校验 ...

  9. (转)MapReduce Design Patterns(chapter 6 (part 1))(十一)

    Chapter 6. Metapatterns 这种模式不是解决某个问题的,而是处理模式的关系的.可以理解为“模式的模式”.首先讨论的是job链,把几个模式联合起来解决复杂的,有多个阶段要处理的问题. ...

  10. linux 自旋锁和信号量【转】

    转自:http://blog.csdn.net/xu_guo/article/details/6072823 版权声明:本文为博主原创文章,未经博主允许不得转载. 自旋锁最多只能被一个可执行线程持有( ...