怎么搭建Memcache服务
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,安装MemcacheMemcache的搭建需要借助于LAMP或LNMP,本篇博文采用LNMP结构安装环境如下:192.168.148.129 Memcache192.168.148.130 p
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
数据库xs表在哪里
平顶山市dns服务器
淮安专业联想服务器技术指导
谷歌商店手游服务器错误
付费阅读软件开发
服务器是残端
时钟同步网络安全防护
网页与数据库连接测试
萨弗隆服务器
网络安全 4g 通讯模块
杭州全速网络技术有限公司邮编
数据库怎么恢复
长沙软件开发公司多吗
网络安全账户被掏空
java可不可以开服务器
数据库表的关系模式
倒卖服务器数据未遂犯法吗
dns服务器做访问控制
云免服务器搭建卖流量
服务器多台如何管理
服务器类型选项有几个
网络安全源头管理
夏日清新服务器
审计对象数据库
国内第一网络安全厂商
宏病毒专杀软件开发
服务器上下线管理规定
云服务器和管理端
医院软件开发项目质量保障措施
pyqt5 数据库入门