Nginx网站架构实战——16、nginx连接memcached

网友投稿 822 2023-03-09

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

Nginx网站架构实战——16、nginx连接memcached

Nginx网站架构实战——01、Nginx介绍及编译安装

Nginx网站架构实战——02、Nginx信号量

Nginx网站架构实战——03、Nginx虚拟主机配置

Nginx网站架构实战——04、Nginx日志管理

Nginx网站架构实战——05、Nginx定时任务完成日志切割

Nginx网站架构实战——06、Location详解之精准匹配

Nginx网站架构实战——07、Location之正则匹配

Nginx网站架构实战——08、Nginx Rewrite语法详解

Nginx网站架构实战——09、编译PHP并与Nginx整合

Nginx网站架构实战——10、安装Ecshop

Nginx网站架构实战——11、商城Url重写实战

Nginx网站架构实战——12-Nginx Gzip压缩提升网站速度

Nginx网站架构实战——13、Expires缓存提升网站负载

Nginx网站架构实战——14、反向代理实现Nginx+Apache动静分离

Nginx网站架构实战——15、Nginx实现负载均衡

一:配置php扩展memcached

二:利用telnet 测试memcached

三:测试是否安装了telnet

 测试是否安装了telnetrpm -q telnet-server 无信息回复表示没安装安装 telnetyum install telnet在linux上打开一个窗口 打开telnet服务telnet 127.0.0.1 11211 回车ctrl+] 打开回显回车。在linux上打开一个窗口 测试mecached  add news 0 0 8 /  12345678 回车  get news 回车

测试是否安装了telnetrpm -q telnet-server 无信息回复表示没安装安装 telnetyum install telnet在linux上打开一个窗口 打开telnet服务telnet 127.0.0.1 11211 回车ctrl+] 打开回显回车。在linux上打开一个窗口 测试mecached add news 0 0 8 / 12345678 回车 get news 回车

四:nginx配置

 (1)配置nginx.conf 信息   location / {     #设置key     set $memcached_key "$uri";     #根据key查找对应的服务器     memcached_pass 127.0.0.1:11211;     #出错的时候回调php,查找数据库中的数据     error_page 404 /callback.php;   }   在linux上打开一个窗口 打开telnet服务   telnet 127.0.0.1 11211 回车   ctrl+] 打开回显回车。   在linux上打开一个窗口添加一个memcache key   add /4.html 0 0 10 /   hello word   浏览器上测试:输入 127.0.0.1/4.html   浏览器上显示:hello word(2)新建测试数据   mysql -uroot -p;   use  test;     CREATE TABLE `abc_table` (   `uid` int(10) unsigned NOT NULL AUTO_INCREMENT,   `name` varchar(25) NOT NULL,    PRIMARY KEY (`uid`)   ) ENGINE=InnoDB DEFAULT CHARSET=utf8; insert abc_table values(null,'1.html page'); insert abc_table values(null,'2.html page'); insert abc_table values(null,'3.html page'); insert abc_table values(null,'4.html page'); insert abc_table values(null,'5.html page'); insert abc_table values(null,'6.html page'); insert abc_table values(null,'7.html page'); insert abc_table values(null,'8.html page'); insert abc_table values(null,'9.html page'); insert abc_table values(null,'10.html page'); select * from abc_table    +-----+--------------+    | uid | name |    +-----+--------------+    | 1 | 1.html page |    | 2 | 2.html page |    | 3 | 3.html page |    | 4 | 4.html page |    | 5 | 5.html page |    | 6 | 6.html page |    | 7 | 7.html page |    | 8 | 8.html page |    | 9 | 9.html page |    | 10 | 10.html page |    +-----+--------------+(3)编写callback.php  要是在nginx的html目录文件夹中编写。<?php  header("Content-type: text/html; charset=utf-8");  $uri=$_SERVER['REQUEST_URI'];  #/user4243.html  #字符串截取获取数字  $uid=substr($uri,5,strpos($uri,'.')-5);  # echo $uid;die;  #连接数据库并入memcached  $con=mysql_connect("localhost","root","root");  $sql='use test';  mysql_query($sql,$con);  $sql="set names utf8";  $sql="select * from abc_table where uid=".$uid;  # echo $sql ;die;  $rs=mysql_query($sql,$con);  $sql="set names utf8";  $sql="select * from abc_table where uid=".$uid;  # echo $sql ;die;  $rs=mysql_query($sql,$con);  $user=mysql_fetch_assoc($rs);  if(empty($user)){     echo "用户不存在";   }else{    #写入memcached    $men=new memcache();    $men->connect('localhost',11211);    #echo '2222';    $men->add($uri,$user['name'],0,300);    $men->close();}(4)测试是否连接成功memcache   浏览器输入:127.0.0.1/user1.html  出现空白   再次刷新   出现数据     可以通过telnet窗口观察其中取值的变化。

(1)配置nginx.conf 信息 location / { #设置key set $memcached_key "$uri"; #根据key查找对应的服务器 memcached_pass 127.0.0.1:11211; #出错的时候回调php,查找数据库中的数据 error_page 404 /callback.php; } 在linux上打开一个窗口 打开telnet服务 telnet 127.0.0.1 11211 回车 ctrl+] 打开回显回车。 在linux上打开一个窗口添加一个memcache key add /4.html 0 0 10 / hello word 浏览器上测试:输入 127.0.0.1/4.html 浏览器上显示:hello word(2)新建测试数据 mysql -uroot -p; use test; CREATE TABLE `abc_table` ( `uid` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(25) NOT NULL, PRIMARY KEY (`uid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; insert abc_table values(null,'1.html page'); insert abc_table values(null,'2.html page'); insert abc_table values(null,'3.html page'); insert abc_table values(null,'4.html page'); insert abc_table values(null,'5.html page'); insert abc_table values(null,'6.html page'); insert abc_table values(null,'7.html page'); insert abc_table values(null,'8.html page'); insert abc_table values(null,'9.html page'); insert abc_table values(null,'10.html page'); select * from abc_table +-----+--------------+ | uid | name | +-----+--------------+ | 1 | 1.html page | | 2 | 2.html page | | 3 | 3.html page | | 4 | 4.html page | | 5 | 5.html page | | 6 | 6.html page | | 7 | 7.html page | | 8 | 8.html page | | 9 | 9.html page | | 10 | 10.html page | +-----+--------------+(3)编写callback.php 要是在nginx的html目录文件夹中编写。connect('localhost',11211); #echo '2222'; $men->add($uri,$user['name'],0,300); $men->close();}(4)测试是否连接成功memcache 浏览器输入:127.0.0.1/user1.html 出现空白 再次刷新 出现数据 可以通过telnet窗口观察其中取值的变化。

五:请求过程

上一篇:掌握 cinder-scheduler 调度逻辑 - 每天5分钟玩转 OpenStack(48)
下一篇:每天5分钟玩转 OpenStack
相关文章

 发表评论

暂时没有评论,来抢沙发吧~