多语言展示
当前在线:1417今日阅读:86今日分享:14

PHP学习第九课:MemCache服务搭建及php拓展安装

同学们好,我们又见面了,不知道大家的PHP学习进入到了什么阶段,有没有搞清楚动态网站和静态网站的区别。说到动态网站,熟悉的同学应该知道动态网站的数据来源于数据库。随着网站访问量的提升,数据库的请求压力也增加,我们在只能承担单台服务器费用的情况下,如何做到缓解网站压力呢?本文通过讲解memcached的部分内容来加以实现,希望对需要的同学有所帮助。5PHP学习第八课:LNMP成员之PHP安装及使用3PHP学习第七课:LNMP成员之mysql的yum安装1PHP学习第四课:如何使用PHP语言查询Mysql数据
工具/原料
1

CentOS 7.3

2

浏览器

服务端安装:
1

Yum 是个好同学,呵呵,运行虚拟环境并登陆系统,输入“yum install -y memcached”开始安装:

2

我们尝试启动memcached可以得到memcached的一些默认参数:命令:systemctl start memcached.servicesystemctl status memcached.service(1)监听端口号:11211;(2)分配容量:64M;(3)最大并发连接数:1024。也可以使用以下命令来查看进程:ps -ef | grep memcached

3

memcached默认的内容空间较小,我们可以修改,使用命令:/usr/bin/memcached -d -u memcached -m 2048

4

以上是服务器端的安装过程,需要说明的是一些参数的含义:(1)-d 表示以守护程序方式运行;(2)-m 分配空间,默认64M;(3)-u 当前用户是root时,不可以指定为root,默认用户是memcached;(4)-l 监听ip地址,默认本机可不用设置;(5)-p 监听端口号,默认是11211;(6)-c 最大并发连接数,默认1024;

5

特别说明,我在安装过程中,使用命令“systemctl status memcached.service”发现memcache启动失败,经排查,发现由于我曾经卸载并重新安装过,端口11211一直被占用,这时候可以使用“netstat -tunlp|grep 11211”查看,找到进程的ID,然后kill它重新启动即可。

客户端安装:
1

一种简单的连接memcached服务器的客户机是Telnet:(1)windows 默认没有开启,需要开启“telnet客户机”;(2)linux系统(例如centos),可以使用yum命令安装;网络上有好多资料,这里就不再赘述,同学们可以自行查找并修改。我使用的是CentOS 7 ,命令行输入:telnet 127.0.0.1 11211,进入服务:

2

使用命令行客户端去管理memcached服务器,主要是查看其运行状态,包括“stats , add , set , delete , get ”等等命令,很容易理解,同学们可自行操作熟悉。我们学习memcached主要还是应用于我们的web系统(简单理解就是网站),以下我们尝试使用PHP语言作为客户端API来学习memcached缓存技术在web系统中的应用:

3

我们在前面的课程(参见引用链接)中了解到,mysql是数据库服务,php作为nginx的一个模块,在从属关系上说属于mysql的客户端,同样memcached也是一种数据库(之不过形式上和mysql有差别罢了),同理,php也可以构建客户端API来实现对memcached的访问。

4

说到这里,同学们想想,我们当时是如何建立php和mysql的通信的,对了,“安装并开启拓展”,同样MemCache也有两个PHP拓展(memcache 和memcached),这里我们不再展开描述,总之大家记住一句话就行:memcached比memcache好用。

5

编译环境的准备:yum install gccyum install gcc-c++

6

先安装libmemached(因为memcached拓展依赖它),依次输入以下命令:(1)下载安装包:wget https://launchpad.net/libmemcached/1.0/1.0.16/+download/libmemcached-1.0.16.tar.gz  (2)解压缩:tar -zxvf libmemcached-1.0.16.tar.gz  (3)进入源代码目录:cd libmemcached-1.0.16  (4)配置./configure -prefix=/usr/local/libmemcached -with-memcached (5)编译和安装:make && make install

7

安装php-memcached,建议大家通过git克隆的方式下载并切换到最新版本:(1)回到home目录:cd ~;(2)下载:Git clone https://github.com/php-memcached-dev/php-memcached.git(3)进入源代码目录:cd php-memcached/(4)切换到最新版本:git checkout php7(5)查看是否安装phpize:phpize(6)假如没有安装phpize,请执行:yum install php70w-devel(因为我的php是70w版的,假如你的版本是5.6版的请执行yum install php56-devel ,其他版本类似)(7)配置:./configure -enable-memcached -with-php-config=/usr/bin/php-config -with-zlib-dir -with-libmemcached-dir=/usr/local/libmemcached -prefix=/usr/local/phpmemcached  --disable-memcached-sasl(注意有的朋友这个地方可能不同,或者是:-with-php-config=/usr/local/php/bin/php-config)(8)编译并安装:make && make install

8

打开php配置文件,添加memcached拓展:(1)配置文件位置:/etc/php.ini 可以查看phpinfo()的输出;(2)在配置文件中添加以下内容:extension=/usr/lib64/php/modules/memcached.so(3)保存后,重启php-fpm服务(systemctl restart php-fpm)(4)刷新浏览器,查看有没有安装memcached模块

9

至此,php作为客户端api的配置就结束了。

注意事项

php的memcache拓展和memcached拓展是两个东西

推荐信息