亿级流量场景下,大型缓存架构的虚拟机环境搭建

  

 

  静态模板是固定的 数据库中的数据全量喧嚷到模板中,下次请求来了直接返回,速度也很快;

  

 

  当数据上亿的时候,如果模板改定,把这些所有的数据在mysql中渲染进模板,非常耗时,不现实;

  

 

  缓存数据生产服务;

  不需要再进行全量重新渲染,直接将最新的html模板推送到nginx服务器,请求过来后直接在nginx本地进行渲染进模板中返回请求;

  

 

  

 

  虚拟机中安装CentOS

  启动一个virtual box虚拟机管理软件使用CentOS 6.5镜像即可,CentOS-6.5-i386-minimal.iso。

  配置网络

  vi /etc/sysconfig/network-scripts/ifcfg-eth0

  DEVICE=eth0

  TYPE=Ethernet

  ONBOOT=yes

  BOOTPROTO=dhcp

  service network restart

  ifconfig

  BOOTPROTO=static

  IPADDR=192.168.0.X

  NETMASK=255.255.255.0

  GATEWAY=192.168.0.1

  service network restart

  配置hosts

  vi /etc/hosts

  配置本机的hostname到ip地址的映射

  配置SecureCRT【本人使用的Xshell感觉也很好用】

  此时就可以使用SecureCRT从本机连接到虚拟机进行操作了

  关闭防火墙

  service iptables stop

  service ip6tables stop

  chkconfig iptables off

  chkconfig ip6tables off

  vi /etc/selinux/config

  SELINUX=disabled

  关闭windows的防火墙

  配置yum

  yum clean all

  yum makecache

  yum install wget

  ------------------------------------------------------------------------------------------

  在每个CentOS中都安装Java和Perl

  WinSCP,就是在windows宿主机和linux虚拟机之间互相传递文件的一个工具

  (1)安装JDK

  1、将jdk-7u60-linux-i586.rpm通过WinSCP上传到虚拟机中

  2、安装JDK:rpm -ivh jdk-7u65-linux-i586.rpm

  3、配置jdk相关的环境变量

  vi .bashrc

  export JAVA_HOME=/usr/java/latest

  export PATH=$PATH:$JAVA_HOME/bin

  source .bashrc

  4、测试jdk安装是否成功:java -version

  (2)安装Perl

  yum install -y gcc

  wget http://www.cpan.org/src/5.0/perl-5.16.1.tar.gz

  tar -xzf perl-5.16.1.tar.gz

  cd perl-5.16.1

  ./Configure -des -Dprefix=/usr/local/perl

  make make test make install

  perl -v

  为什么要装perl?我们整个大型电商网站的详情页系统,复杂。java+nginx+lua,需要perl。

  perl,是一个基础的编程语言的安装,tomcat,跑java web应用

  ------------------------------------------------------------------------------------------

  3、在4个虚拟机中安装CentOS集群

  (1)按照上述步骤,再安装三台一模一样环境的linux机器

  (2)另外三台机器的hostname分别设置为eshop-cache02,eshop-cache03,eshop-cache04

  (3)安装好之后,在每台机器的hosts文件里面,配置好所有的机器的ip地址到hostname的映射关系

  比如说,在eshop-cache01的hosts里面

  192.168.31.187 eshop-cache01

  192.168.31.xxx eshop-cache02

  192.168.31.xxx eshop-cache03

  192.168.31.xxx eshop-cache04

  ------------------------------------------------------------------------------------------

  4、配置4台CentOS为ssh免密码互相通信【此时四台linux虚拟机可以通过ssh实现无密码输入通信】

  (1)首先在四台机器上配置对本机的ssh免密码登录

  ssh-keygen -t rsa

  生成本机的公钥,过程中不断敲回车即可,ssh-keygen命令默认会将公钥放在/root/.ssh目录下

  cd /root/.ssh

  cp id_rsa.pub authorized_keys

  将公钥复制为authorized_keys文件,此时使用ssh连接本机就不需要输入密码了

  (2)接着配置三台机器互相之间的ssh免密码登录

  使用ssh-copy-id -i hostname命令将本机的公钥拷贝到指定机器的authorized_keys文件中

  1、安装单机版tcl + redis

  1. wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz

  2. tar -xzvf tcl8.6.1-src.tar.gz

  3. cd /usr/local/tcl8.6.1/unix/

  4. ./configure

  5. make make install

  6.使用redis-3.2.8.tar.gz(截止2017年4月的最新稳定版)

  7. tar -zxvf redis-3.2.8.tar.gz

  8. cd redis-3.2.8

  9. make make test make install

  ------------------------------------------------------------------------

  2、redis的生产环境启动方案

  如果一般的学习课程,你就随便用redis-server启动一下redis,做一些实验,这样的话,没什么意义

  1.要把redis作为一个系统的daemon进程去运行的,每次系统启动,redis进程一起启动

  (1)redis utils目录下,有个redis_init_script脚本

  (2)将redis_init_script脚本拷贝到linux的/etc/init.d目录中(初始化目录),将redis_init_script重命名为redis_6379,6379是我们希望这个redis实例监听的端口号

  (3)修改redis_6379脚本的第6行的REDISPORT,设置为相同的端口号(默认就是6379)

  (4)创建两个目录:/etc/redis(存放redis的配置文件),/var/redis/6379(存放redis的持久化文件,也就是后面要使用的redis备份)

  (5)修改redis配置文件(默认在根目录下,redis.conf),拷贝到/etc/redis目录中,修改名称为6379.conf

  (6)修改redis.conf中的部分配置为生产环境

  (7)启动redis,执行cd /etc/init.d, chmod 777 redis_6379,./redis_6379 start

  (8)确认redis进程是否启动,ps -ef | grep redis

  (9)让redis跟随系统启动自动启动

  在redis_6379脚本中,最上面,加入两行注释

  # chkconfig: 2345 90 10

  # description: Redis is a persistent key-value database

  在Xshell中执行 chkconfig redis_6379 on

  ------------------------------------------------------------------------

  3、redis cli的使用

  redis-cli SHUTDOWN,连接本机的6379端口停止redis进程

  redis-cli -h 127.0.0.1 -p 6379 SHUTDOWN,制定要连接的ip和端口号

  redis-cli PING,ping redis的端口,看是否正常

  redis-cli,进入交互式命令行:

  存取删测试:

  redis的技术,包括4块:

  redis各种数据结构和命令的使用,包括java api的使用

  redis一些特殊的解决方案的使用,pub/sub消息系统,分布式锁,输入的自动完成,等等

  redis日常的管理相关的命令

  redis企业级的集群部署和架构

  

 

  

 

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值