Memcached缓存结合LAMP缓存搭建
案例环境:
系统类型 |
IP地址 |
主机名 |
所需软件 |
内存 |
Centos 7.4 1708 64bit |
192.168.100.101 |
memser |
libevent-release-1.4.15-stable.tar.gz memcached-1.5.10.tar.gz |
4G |
Centos 7.4 1708 64bit |
192.168.100.102 |
memcli |
libmemcached-1.0.18.tar.gz memcached-2.2.0.tgz httpd mariadb mysql php php-devel php-mysql |
1G |
下载位置:
server端:
http://memcached.org/downloads ##主程序memcached-1.5.10.tar.gz
https://codeload.github.com/libevent/libevent/tar.gz/release-1.4.15-stable ##libevent程序
client端:
https://launchpad.net/libmemcached/+download ##libmemcached程序下载
http://pecl.php.net/get/memcached-2.2.0.tgz ##memcached扩展程序(api)
案例步骤:
- 在server节点安装Libevent程序;
- 在server节点安装Memcached主程序;
- 在server节点配置优化Memcached服务;
- 在client节点安装lamp应用平台;
- 在client节点安装LibMemcached程序;
- 在client节点安装Memcached扩展组件(Memcached api);
- 在client节点配置php支持Memcached组件;
- 测试访问Memcached API功能;
- Memcached数据库的操作与管理;
- 在server节点安装Libevent程序;
[[email protected] ~]# ls
libevent-release-1.4.15-stable.tar.gz memcached-1.5.10.tar.gz
[[email protected] ~]# tar zxvf libevent-release-1.4.15-stable.tar.gz -C /usr/src/
[[email protected] ~]# cd /usr/src/libevent-release-1.4.15-stable/
[[email protected] libevent-release-1.4.15-stable]# ./autogen.sh
[[email protected] libevent-release-1.4.15-stable]# ./configure --prefix=/usr/local/libevent
[[email protected] libevent-release-1.4.15-stable]# make && make install
[[email protected] libevent-release-1.4.15-stable]# cd
[[email protected] ~]# ln -s /usr/local/libevent/lib/libevent* /usr/lib64/
- 在server节点安装Memcached程序;
[[email protected] ~]# tar zxvf memcached-1.5.10.tar.gz -C /usr/src/
[[email protected] ~]# cd /usr/src/memcached-1.5.10/
[[email protected] memcached-1.5.10]# ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent/
[[email protected] memcached-1.5.10]# make && make install
[[email protected] memcached-1.5.10]# cd
- 在server节点配置优化Memcached服务;
[[email protected] ~]# ln -s /usr/local/memcached/bin/* /usr/local/bin/
[[email protected] ~]# memcached -d -m 128m -u root ##启动memcached服务
[[email protected] ~]# netstat -utpln |grep mem
tcp 0 0 0.0.0.0:11211 0.0.0.0:* LISTEN 10748/memcached
- 在client节点安装lamp应用平台;
[[email protected] ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[[email protected] ~]# yum -y install httpd mariadb-server mysql php php-devel php-mysql
- 在client节点安装LibMemcached程序;
[[email protected] ~]# ls
libmemcached-1.0.18.tar.gz memcached-2.2.0.tgz
[[email protected] ~]# tar zxvf libmemcached-1.0.18.tar.gz -C /usr/src/
[[email protected] ~]# cd /usr/src/libmemcached-1.0.18/
[[email protected] libmemcached-1.0.18]# ./configure --prefix=/usr/local/libmemcached --with-memcached=/usr/local/memcached ##需要指定mem扩展组件的安装位置
[[email protected] libmemcached-1.0.18]# make && make install
[[email protected] libmemcached-1.0.18]# cd
- 在client节点安装Memcached扩展组件(Memcached api);
[[email protected] ~]# yum -y install zlib zlib-devel
[[email protected] ~]# tar zxvf memcached-2.2.0.tgz -C /usr/src/
[[email protected] ~]# cd /usr/src/memcached-2.2.0/
[[email protected] memcached-2.2.0]# phpize
[[email protected] memcached-2.2.0]# ./configure --enable-memcached --with-php-config=/usr/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached/ --disable-memcached-sasl
注解:
--enable-memcached ##开启memcached api功能
--with-php-config=/usr/bin/php-config ##指定php扩展命令所在位置
--with-libmemcached-dir=/usr/local/libmemcached/ ##指定上述libmemcached软件的安装位置
--disable-memcached-sasl ##关闭memcached的sasl功能
[[email protected] memcached-2.2.0]# make
[[email protected] memcached-2.2.0]# make test
[[email protected] memcached-2.2.0]# make install
Installing shared extensions: /usr/lib64/php/modules/
[[email protected] memcached-2.2.0]# ls /use/lib/64/php/modules/
curl.so json.so mysqli.so pdo_mysql.so pdo_sqlite.so sqlite3.so
fileinfo.so memcached.so mysql.so pdo.so phar.so zip.so
[[email protected] memcached-2.2.0]# cd
- 在client节点配置php支持Memcached组件;
[[email protected] ~]# vi /etc/php.ini ##末尾追加
extension_dir = /usr/lib64/php/modules/
extension = memcached.so
[[email protected] ~]# systemctl start httpd
[[email protected] ~]# netstat -utpln |grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 35528/httpd
[[email protected] ~]# cat <<END >/var/www/html/index.php
<?php
phpinfo();
?>
END
[[email protected] ~]# vi /var/www/html/test.php
<?php
$memcache = new Memcached();
$memcache->addServer('192.168.100.101',11211);
$memcache->set('key','Memcache test sussessful!',0,60);
$result = $memcache->get('key');
unset($memcache);
echo $result;
?>
- 测试访问Memcached API功能;
[[email protected] ~]# yum -y install telnet
[[email protected] ~]# telnet 192.168.100.101 11211
get key
VALUE key 3932160 25
Memcache test sussessful!
END
quit