• 第35章-CentOS7实战



    补充安装软件包
    yum -y install vim lrzsz bash-completion telnet nmap
    关闭selinux:/etc/selinux/config
    关闭防火墙:systemctl disable firewalld.service #关闭开机自启动
                          stop                       
        system control
    关机做快照


    修改centos7网卡名称

    在安装系统的时候
    install 一栏  按tab键输入:
    net.ifnames=0 net.biosdevname=0

    已经安装完系统修改
    http://oldboy.blog.51cto.com/2561410/1722101


    ip:yum -y install iproute
    CentOS7主推使用ip、ss命令。
    ifconfig:yum -y install net-tools



    # systemd uses 'targets' instead of runlevels. By default, there are two main targets:
    #
    # multi-user.target: analogous to runlevel 3
    # graphical.target: analogous to runlevel 5
    #
    # To view current default target, run:
    # systemctl get-default
    #
    # To set a default target, run:
    # systemctl set-default TARGET.target



    [root@oldboy-ol02 ~]# ll /usr/lib/systemd/system/multi-user.target /usr/lib/systemd/system/graphical.target
    -rw-r--r--. 1 root root 558 Aug 5 2017 /usr/lib/systemd/system/graphical.target
    -rw-r--r--. 1 root root 492 Aug 5 2017 /usr/lib/systemd/system/multi-user.target




     systemctl status crond.service 
     systemctl stop crond.service 
     systemctl status crond.service 
     systemctl start crond.service 
     systemctl status crond.service 
     systemctl enable crond
     systemctl disable crond
     systemctl status crond.service 
     systemctl enable crond














    1.缓存数据库
    缓存:将数据存储在内存中,只有当磁盘胜任不了的时候,才会启用缓存。
    缺点:断电数据丢失(双电),用缓存存储数据的目的只是为了应付大并发的业务,至于数据存储及可靠性不要找他了。

    数据库:mysql(关系型数据库,能够保证数据一致性,保证数据不丢失,但是因为功能太多,导致性能不高)====》数据仓库
    缓存数据库: memcache、redis(非关系型数据库,性能极高,但是不保证数据完整)===》业务的数据提供者



    2. 缓存数据库使用场景

    2.1 作为数据库的缓存
    当数据库(mysql)承受不了大并发的请求时,可以将数据缓存到内存中(缓存数据库),然后就可以解决。


    2.2 会话共享
    场景:只要登录了网站,以后访问这个网站任何页面都不要登录了。

    为什么服务器知道你是谁?

     

    3. 安装使用memcache

    3.1 Memcached简介
    Memcached是一款开源的、高性能的纯内存缓存服务软件。Mem是内存的意思,cache是缓存的意思,d是daemon的意思。

    Memcache是项目的名字,诞生于2003年。Memcache服务分为客户端和服务端两部分,C/S架构。
    客户端软件memcache-2.25.tar.gz
    服务端软件memcached-1.4.13.tar.gz


    http://www.cnblogs.com/Csir/p/6711305.html

    3.2 Memcached原理及优点
    在启动Memcached时,根据指定的内存大小参数,会被分配一个内存空间。当我们读取数据库的各类业务数据后,数据会同时放入Memcached缓存中,当下一次用户请求同样的数据,程序直接去Memcached取数据返回给用户。
    优点:
    ①对于用户来讲,用户访问网站更快了,体验更好了。
    ②对网站来说,数据库压力降低了。只有当内存没有数据时才会去请求数据库。第一次写入的数据也会请求数据库。一般公司没有预热,只有当用户读取过数据库才会放到Memcached中。
    ③提升了网站的并发访问,减少服务器数量。


     

    企业案例:当机房断电,如何开启web服务器、memcached缓存服务器、数据库服务器的?
    开机顺序:先开启数据库,再开启缓存,然后预热缓存数据库,最后开启web服务器。如果不预热缓存数据库,当开启web后大量的访问流入MySQL,造成的结果是MySQL启动不了,一开就挂。

    如何正确关闭网站集群服务器?从前端往后端依次关闭。
    如何正确开启网站集群服务器?从后端依次往前端开启,缓存服务器要预热。



    3.4 安装memcached
    yum -y install memcached

    3.5 启动memcached
    [root@Memcached ~]# memcached -h

    -p <num> 指定监听端口 TCP port number to listen on (default: 11211)
    -l <addr> 绑定监听的网卡 interface to listen on (default: INADDR_ANY, all addresses) 
    -d run as a daemon # 后台运行
    -u <username> assume identity of <username> (only when run as root) #指定用户
    -m <num> 分配内存大小 max memory to use for items in megabytes (default: 64 MB)
    -c <num> max simultaneous connections (default: 1024) #并发访问连接数
    -P <file> 指定pid文件存放路径save PID in <file>, only used with -d option

    /etc/init.d/memcached start


    3.6 使用
    向Memcached添加数据:键值对
    key1-->values1
    key2-->values2

     



     # 写入数据
     [root@web01 ~]# printf "set key008 0 0 10 oldboy0987 "|nc 127.0.0.1 11211
     STORED
     # 查询数据
     [root@web01 ~]# printf "get key008 "|nc 127.0.0.1 11211
     VALUE key008 0 10
     oldboy0987
     END
     # 删除数据
     [root@web01 ~]# printf "delete key008 "|nc 127.0.0.1 11211
     DELETED
     [root@web01 ~]# printf "get key008 "|nc 127.0.0.1 11211
     END

     



    3.7 服务端memcached监控

     printf "stats "|nc 127.0.0.1 11211
     
    ①监听port或进程
    ②可以模拟用户先set后get,比对get内容是不是set的。crond nagios zabbix
    ③监控命中百分比
    ④监控响应时间及需要的状态


    4. PHP的memcache客户端

    4.1 安装
    tar xf memcache-2.2.5.tgz
    cd memcache-2.2.5
    /application/php/bin/phpize
    ./configure --enable-memcache --with-php-config=/application/php/bin/php-config --with-zlib-dir
    make
    make install

    sed -i.ori '$a extension=memcache.so' /application/php/lib/php.ini
    pkill php
    /application/php/sbin/php-fpm -t
    /application/php/sbin/php-fpm
    /application/php/bin/php -m|grep memcache




    4.2 生成测试页面

    cat >>/application/nginx/html/blog/mc.php<<'EOF'
    <?php
    $memcache = new Memcache;
    $memcache->connect('172.16.1.41', 11211) or die ("Could not connect");
    $memcache->set('key20171017', 'oldboy0326');
    $get_value = $memcache->get('key20171017');
    echo $get_value;
    ?>
    EOF
     

     
            应用 :session共享
    需要运维+开发协同
    运维:准备环境
    开发:用环境

    sed -i 's#session.save_handler = files#session.save_handler = memcache#;$a session.save_path = "tcp://172.16.1.41:11211"' /application/php/lib/php.ini

    pkill php
    /application/php/sbin/php-fpm -t
    /application/php/sbin/php-fpm


    总结:
     
    1. 服务端、客户端安装,管理工具的使用
     
    2. session共享配置

    3.memcached 作为缓存工作过程



     



    附件列表

    • 相关阅读:
      工作所得所思之一
      angular路由
      html中offsetTop、clientTop、scrollTop、offsetTop各属性介绍
      您无权输入许可证密钥,请请使用系统管理员账户重试
      nginx的配置说明
      flexbox弹性盒子模型
      移动web开发规范
      为什么要使用响应式开发
      移动web开发
      如何给图片做缓存
    • 原文地址:https://www.cnblogs.com/fadewalk/p/13068482.html
    Copyright © 2020-2023  润新知