怎么搭建Memcache服务
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,安装MemcacheMemcache的搭建需要借助于LAMP或LNMP,本篇博文采用LNMP结构安装环境如下:192.168.148.129 Memcache192.168.148.130 p
千家信息网最后更新 2025年02月01日怎么搭建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 reload
php操作如下:
[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安全错误
数据库的锁怎样保障安全
软件开发html
查询教务系统数据库所有数据
家庭电脑当服务器
全国林地一张图数据库
网络安全法 立法说明
共建校园网络安全稿件
政府机关单位网络安全实施计划
百兆光纤的服务器一年多少钱
网络安全警察局电话
网络安全和信息化投稿
宁夏网络安全宣传周活动
国网湖南电力网络安全保护体系
两筛软件开发请示
网络安全乔彩玉
网站管理员怎么进去数据库
linux登录服务器
大数据专业和软件开发专业区别
jsp页面显示数据库信息
笔画设计软件开发
Oppo查找手机提示服务器异常
大数据软件开发收费报价表
河北安卓软件开发多少钱
udp 数据库
软件开发业务算法
对数据库人工管理阶段的启示
大煌网络安全专业
excel填数据存到数据库
db2数据库0x0020
长沙零点网络技术有限公司
潼南区企业网络技术服务包括什么