怎么搭建Memcache服务
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,安装MemcacheMemcache的搭建需要借助于LAMP或LNMP,本篇博文采用LNMP结构安装环境如下:192.168.148.129 Memcache192.168.148.130 p
千家信息网最后更新 2026年11月02日怎么搭建Memcache服务
安装Memcache
Memcache的搭建需要借助于LAMP或LNMP,本篇博文采用LNMP结构
安装环境如下:
192.168.148.129 Memcache192.168.148.130 php192.168.148.131 nginx192.168.148.136 mysql- 安装nginx
下载nginx软件包
[root@bogon ~]# useradd -M -s /sbin/nologin nginx[root@bogon ~]# yum -y install openssl-devel[root@bogon ~]# tar zxf pcre-8.39.tar.gz -C /usr/src[root@bogon ~]# tar zxf zlib-1.2.8.tar.gz -C /usr/src[root@bogon ~]# tar zxf nginx-1.14.0.tar.gz -C /usr/src[root@bogon ~]# cd /usr/src/nginx-1.14.0/[root@bogon nginx-1.14.0]# ./configure --prefix=/usr/local/nginx \--user=nginx --group=nginx --with-http_dav_module \--with-http_stub_status_module --with-http_addition_module \--with-http_sub_module --with-http_flv_module --with-http_mp4_module \--with-pcre=/usr/src/pcre-8.39 --with-zlib=/usr/src/zlib-1.2.8 \--with-http_ssl_module --with-http_gzip_static_module && make && make install[root@bogon ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin[root@bogon ~]# nginx[root@bogon ~]# netstat -anpt | grep 80tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 8460/nginx: master - 安装PHP服务器
下载php软件包
[root@localhost ~]# yum -y install libxml2-devel lzip2-devel libcurl-devel libmcrypt-devel openssl-devel bzip2-devel [root@localhost ~]# tar zxf libmcrypt-2.5.7.tar.gz [root@localhost ~]# cd libmcrypt-2.5.7/[root@localhost libmcrypt-2.5.7]# ./configure --prefix=/usr/local/libmcrypt && make && make install[root@localhost ~]# tar zxf php-5.6.27.tar.gz [root@localhost ~]# cd php-5.6.27/[root@localhost php-5.6.27]# ./configure --prefix=/usr/local/php5.6 --with-mysql=mysqlnd \--with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --enable-fpm --enable-sockets \--enable-sysvshm --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib \--with-libxml-dir=/usr --enable-xml --with-mhash --with-mcrypt=/usr/local/libmcrypt \--with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d \--with-bz2 --enable-maintainer-zts && make && make install[root@localhost php-5.6.27]# cp php.ini-production /etc/php.ini[root@localhost php-5.6.27]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm[root@localhost php-5.6.27]# chmod +x /etc/init.d/php-fpm [root@localhost php-5.6.27]# chkconfig --add php-fpm[root@localhost php-5.6.27]# chkconfig php-fpm on[root@localhost php-5.6.27]# cp /usr/local/php5.6/etc/php-fpm.conf.default /usr/local/php5.6/etc/php-fpm.conf[root@localhost php-5.6.27]# vim /usr/local/php5.6/etc/php-fpm.conf修改内容如下: pid = run/php-fpm.pid listen = 192.168.31.141:9000 \\本地ip地址(千万不能用127.0.0.1)pm.max_children = 50 pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 35 [root@localhost php-5.6.27]# service php-fpm startStarting php-fpm done[root@localhost php-5.6.27]# netstat -anpt | grep php-fpmtcp 0 0 192.168.148.130:9000 0.0.0.0:* LISTEN 130988/php-fpm: mas - 安装MySQL数据库
下载mysql脚本一键安装
[root@bogon ~]# mysql -u root -p123mysql> create database testdb1;mysql> use testdb1;mysql> grant all on *.* to xws@'192.168.148.%' identified by '123456';mysql> create table test1(id int not null auto_increment,name varchar(20) default null,primary key (id)) engine=innodb auto_increment=1 default charset=utf8;mysql> insert into test1(name) values ('tom1'),('tom2'),('tom3'),('tom4'),('tom5');mysql> select * from test1;+----+------+| id | name |+----+------+| 1 | tom1 || 2 | tom2 || 3 | tom3 || 4 | tom4 || 5 | tom5 |+----+------+5 rows in set (0.00 sec)nginx操作如下:
[root@bogon nginx-1.14.0]# vim /usr/local/nginx/conf/nginx.conf //修改如下(大约在43行) location / { root html; index index.php index.html index.htm; } location ~ \.php$ { root /var/www/html; fastcgi_pass 192.168.148.130:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi.conf; }[root@bogon nginx-1.14.0]# nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful[root@bogon nginx-1.14.0]# nginx -s reloadphp操作如下:
[root@bogon ~]# mkdir -p /var/www/html[root@bogon ~]# vim /var/www/html/test.php[root@bogon ~]# vim /var/www/html/test1.php客户端访问如下:

- 安装Memecache
下载memcache
[root@bogon ~]# tar zxf libevent-2.0.22-stable.tar.gz -C /usr/src/[root@bogon ~]# cd /usr/src/libevent-2.0.22-stable/[root@bogon libevent-2.0.22-stable]# ./configure && make && make install [root@bogon ~]# tar zxf memcached-1.4.33.tar.gz -C /usr/src/[root@bogon ~]# cd /usr/src/memcached-1.4.33/[root@bogon memcached-1.4.33]# ./configure --prefix=/usr/local/memcached \> --with-libevent=/usr/local/ && make && make install[root@bogon ~]# memcached -d -m 2048 -l 192.168.1.7 -p 11211 -c 10240 -P /usr/local/memcached/memcached.pid -u root[root@bogon ~]# netstat -anpt | grep 11211- php操作如下(安装Memecache客户端)
[root@bogon ~]# tar zxf memcache-3.0.8.tgz -C /usr/src/[root@bogon ~]# cd /usr/src/memcache-3.0.8/[root@bogon memcache-3.0.8]# /usr/local/php5.6/bin/phpize[root@PHP memcache-3.0.8]# ./configure --enable-memcache \--with-php-config=/usr/local/php/bin/php-config && make && make install//执行后会显示memcache.so存放的路径[root@PHP ~]# echo "extension = /usr/local/php/lib/php/extensions/no-debug-zts-20131226/memcache.so" >> /etc/php.ini//在PHP主配置文件中填写memcache.so模块存放的路径[root@PHP ~]# systemctl restart php-fpm[root@PHP ~]# vim /var/www/html/test2.phpconnect('192.168.1.129', 11211) or die ("Could not connect");$version = $memcache->getVersion();echo "Server's version: ".$version."
";$tmp_object = new stdClass;$tmp_object->str_attr = 'test';$tmp_object->int_attr = 123;$memcache->set('key', $tmp_object, false, 600) or die ("Failed to save data at the server");echo "Store data in the cache (data will expire in 600 seconds)
";$get_result = $memcache->get('key');echo "Data from the cache:
";var_dump($get_result);?>//此测试脚本是显示memcached的版本//并且向里面插入了一个缓存时间为600秒的键值对"test=123",其ID为"key"客户端访问如下:

在PHP服务器上安装telnet工具测试
[root@PHP ~]# yum -y install telnet[root@PHP ~]# telnet 192.168.148.129 11211 //登陆到memcached的11211端口Trying 192.168.148.129...Connected to 192.168.148.129.Escape character is '^]'.get key //查询ID为"key"的键值对,可以看到我们测试脚本写入的"test=123"VALUE key 1 66O:8:"stdClass":2:{s:8:"str_attr";s:4:"test";s:8:"int_attr";i:123;}END//在进行上面的get验证时,需要将test2.php文件中插入的键值对的保存时间值改大一些//或者重新访问一下,以免缓存失效,查询不到quit //退出当前环境Connection closed by foreign host.[root@PHP ~]# 测试Memcache缓存数据库
[root@PHP ~]# vim /var/www/html/test4.php connect($memcachehost,$memcacheport) or die ("Could not connect");$query="select * from test1 limit 10";$key=md5($query);if(!$memcache->get($key)){$conn=mysql_connect("192.168.1.8","lzj","123456"); //指定数据库服务器的IP地址、用户及密码mysql_select_db(testdb1);$result=mysql_query($query);while ($row=mysql_fetch_assoc($result)){$arr[]=$row;}$f = 'mysql';$memcache->add($key,serialize($arr),0,30);$data = $arr ;}else{$f = 'memcache';$data_mem=$memcache->get($key);$data = unserialize($data_mem);}echo $f;echo "
";echo "$key";echo "
";//print_r($data); foreach($data as $a){echo "number is $a[id]";echo "
";echo "name is $a[name]"; //突出显示信息的字体颜色echo "
";}?>//经常需要修改的地方已经标注了!而且这个测试脚本在Memcache软件中也有第一次进行访问
第二次进行访问(刷新之后)
测试
脚本
服务
客户
客户端
数据
数据库
服务器
缓存
软件
地址
文件
时间
环境
路径
软件包
查询
信息
内容
地方
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
喔噻互联网科技有限公司
广州紫鲸互联网科技有限公司
有木互联网科技
猫创互联网科技
互联网科技公司介绍
成都仁贤领冠互联网科技有限公司
山东吉时兔互联网科技有限公司
互联网科技教育视频
互联网金融科技公司干啥的
栖莱科技互联网股份有限公司
互联网校园科技培训
世界互联网科技公司市值排名
昭通互联网科技选哪家
互联网科技产业特征
企晟互联网信息科技有限公司
世界互联网领先科技成果获奖
张召忠谈中国互联网科技
广东鹅鹅鹅互联网科技有限公司
陕西九四连强互联网科技有限公司
张家口科技产业互联网平台
手磨咖啡
西安纸贵互联网科技有限公司
互联网科技公司发展
狮子座互联网科技
博兴的互联网电子科技公司
小米互联网科技园设置
未来五年的互联网科技
坤平互联网科技
南博望互联网科技有限公司
美国五大互联网科技公司市值多少