Nginx网站架构实战——16、nginx连接memcached-linux安全运维_跨零代码

跨零代码为大家提供高品质的运维解决方案,请大家多多来访,跨零不胜感激,在此谢过。

[收起] 文章目录

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

  wget http://memcached.googlecode.com/files/memcached-1.4.9.tar.gz # tar zvxf memcached-1.4.9.tar.gz # cd memcached-1.4.9   /usr/bin/phpize   #生成configure编译文件  如果这里出现     Can’t find PHP headers in /usr/include/php     The php-devel package is required for use of this command  那么执行 yum install php-devel  ./configure --with-php-config=/usr/bin/php-config / make && make insll    会提示找到memcache.so位置 Installing shared extensions: /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/      [不同的电脑提示也不同]    修改php.ini  先找到Php.ini的位置 find / -name php.ini vim xxx/xxx/xxx/php.ini extension=/根据提示的mecached的位置/memcache.so ; 杀死php进程:pkill -9 php 重启php:./usr/bin/php-fpm 最后检查memcached是否安装成功  127.0.0.1 查看是否有memcache 模块。 

 

二:利用telnet 测试memcached

  查找memcached的位置 find / -name memcached   ./usr/local/memcached/bin/memcached -m 64 -p 11211 -vvv    【注意不能是root用户开启】  ./usr/local/memcached/bin/memcached -u nobody -vv -p 11211   如果上面的不能够安装memcached就按这里的方式来安装。 wget -c http://www.memcached.org/files/memcached-1.4.17.tar.gz tar -zxvf memcached-1.4.17.tar.gz cd memcached-1.4.17 ./configure --prefix=/usr/local/memcached make sudo make install  第三步:启动memcached cd /usr/local/memcached ./bin/memcached -d -m 1024 -u root -l 127.0.0.1 -p 11211  第三步:检查是否安装成功 $ps -aux | grep memcache  

三:测试是否安装了telnet

  测试是否安装了telnet rpm -q telnet-server 无信息回复表示没安装  安装 telnet yum 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窗口观察其中取值的变化。 

五:请求过程

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


//下面这个css和插件后台设置的主题有关系,如果需要换样式,则需要修改以下CSS名称

从零到一,创造未来!跨零代码综合IT问题解决服务站,欢迎你的到来。运维教程 只为你绽放。

本文固定链接: http://kua0.com/2019/02/02/nginx网站架构实战-16、nginx连接memcached-linux安全运维_跨零代码/

为您推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注