中国关于影院建设的网站,做视频网站用什么好,网站建设公司多少钱,网站定制建设Memcached概述 一套开源的高性能分布式内存对象缓存系统 所有的数据都存储在内存中 支持任意存储类型的数据 提高网站的访问速度 数据存储方式与数据过期方式 数据存储方式:Slab Allocation 按组分配内存#xff0c;每次先分配一个Slab#xff0c;相当于一个大小为1M的页每次先分配一个Slab相当于一个大小为1M的页然后在1M的空间里根据数据划分大小的Chunk 数据过期方式 LRU数据空间不足时会根据LRU的情况淘汰最近最少使用的记录 Laxzy Expiration 惰性过期是指使用get时查看记录时间从而检查记录是否已经过期 部署Memcached实验 1.修改主机名 2.在memcache01节点上 1.上传软件包libevent-2.1.8-stable.tar.gzmemcached-1.5.1.tar.gz 2.下载依赖包
yum -y install gcc gcc-*
tar -zxvf libevent-2.1.8-stable.tar.gz -C /usr/src/
cd /usr/src/libevent-2.1.8-stable/
./configure --prefix/usr/local/libevent
make make install
cdtar -zxvf memcached-1.5.1.tar.gz -C /usr/src/
cd /usr/src/memcached-1.5.1/
./configure --prefix/usr/local/memcached --with-libevent/usr/local/libevent
make make install
cd
/usr/local/memcached/bin/memcached -d -m 128 -u root 单节点部署成功 3.在memcache02节点上 1.上传软件包libevent-2.1.8-stable.tar.gz 2.下载依赖
yum -y install gcc gcc-*
tar -zxvf libevent-2.1.8-stable.tar.gz -C /usr/src/
cd /usr/src/libevent-2.1.8-stable/
./configure --prefix/usr/local/libevent
make make install4.操作使用 1.切换第三台机器充当客户端 2.安装telnet
#类似ssh主要用于远程登录服务。然而在某些情况下这个命令可能只会安装telnet客户端或同时包含客户端和服务器的软件包如果存在这样的包
yum -y install telnet3.使用telnet管理数据库
#连接的第一台的IP地址memcache的端口号
telnet 192.168.27.140 11211 添加一个数据查询数据第一个0 定义的是标记信息第二个0是过期时间0是永不过期。第三位数是数据内容长度必须是这个否则不生效或者报错 修改一个数据不仅可以修改数据还能充当add添加的功能 删除数据 清空数据 退出ctrl} 回车输入quit即可退出telnet 4.使用php软件管理 1.安装软件包
yum install httpd php php-devel zlib-devel -yecho ?php phpinfo(); ? /var/www/html/info.php
systemctl start httpd2.安装完成后浏览器访问测试安装
http://192.168.27.139/info.php 3.安装引入模块 1.上传依赖包libmemcached-1.0.18.tar.gz 被 memcached-2.2.0.tgz依赖所以需要两个包 2.安装
yum -y install gcc gcc-*
tar -xzvf libmemcached-1.0.18.tar.gz
cd libmemcached-1.0.18/
./configure --prefix/usr/local/libmemcached --with-memcached/usr/local/memcached
make make install
cd 3.安装memcache
tar zxf memcached-2.2.0.tgz
cd memcached-2.2.0#使用phpize生成./config命令
phpize
#拷贝php支持文件
cp -r /usr/include/php/ext/ ./# 配置时使用--disable-memcached-sasl 选项关闭 Memcached 的 SASL 认证功能否则会报错
# --with-php-config获取php的信息
./configure \
--enable-memcached \
--with-php-config/usr/bin/php-config \
--with-libmemcached-dir/usr/local/libmemcached \
--disable-memcached-saslmake
make test
make install 4.执行完毕后在执行一次make install 生成一下php存放的路径
#执行完上诉操作后会有一个发送邮件的提示输入n拒绝make install
#打开配置文件调整内容
vi /etc/php.iniextension_dir /usr/lib64/php/modules/
extensionmemcached.so 重启服务
systemctl restart httpd 刷新网页查看是否有下图内容有则memcache即可使用 验证memcache是否可用 打开网页验证
vi /var/www/html/test.php
?php$memcache new Memcached();$memcache-addServer(192.168.27.140, 11211);$memcache-set(key, Memcache test successful!, 0, 60);$result $memcache-get(key);unset($memcache);echo $result;
?网页验证IP为第三台IP 部署 带有复制功能的memcache 1.在第一台机器上关闭冲突启动
pkill memcached 2.在两台memcache节点上上传软件包memcached-1.2.8-repcached-2.2.tar.gz 3. 安装
tar zxf memcached-1.2.8-repcached-2.2.tar.gz
cd memcached-1.2.8-repcached-2.2./configure --prefix/usr/local/memcached_replication --enable-replication --with-libevent/usr/local/libevent 1.安装之前要调整代码
vi memcached.c 2.删除标记两行 3.编译安装
make make install 4.在memcache01节点上
ln -s /usr/local/libevent/lib/libevent-2.1.so.6 /usr/lib64/
#IP指向memcache02的IP
/usr/local/memcached_replication/bin/memcached -d -u root -m 128 -x 192.168.27.130 5.在memcache02节点上
ln -s /usr/local/libevent/lib/libevent-2.1.so.6 /usr/lib64/
#IP指向memcache01的IP
/usr/local/memcached_replication/bin/memcached -d -u root -m 128 -x 192.168.27.140 6.在第三台机器验证。
#连接第一台机器
telnet 192.168.27.140 112117.高可用 1.在memcache01 memcache02节点安装 keepalived
cd
yum -y install keepalived 2.在memcache01节点
#打开配置文件
vi /etc/keepalived/keepalived.conf
#删除所有内容 3.删除所有内容替换一下内容按图修改内容
! Configuration File for keepalivedglobal_defs {router_id LB01
}vrrp_instance VI_1 {state MASTERinterface ens33virtual_router_id 51priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.27.200}
}virtual_server 192.168.27.200 11211 {delay_loop 6lb_algo rrlb_kind NATpersistence_timeout 50protocol TCP
#对向节点的IP即memcache02的IPsorry_server 192.168.27.129 11211
#本节点的IPreal_server 192.168.27.128 11211 {weight 1notify_down /root/memcached.shTCP_CHECK {connect_timeout 3nb_get_retry 3delay_before_retry 3connect_port 11211}}
}4.保存退出切换memcache02节点 5.在memcache01节点
#打开配置文件
vi /etc/keepalived/keepalived.conf
#删除所有内容 6.删除所有内容替换一下内容按图修改内容
! Configuration File for keepalivedglobal_defs {router_id LB02
}vrrp_instance VI_1 {state MASTERinterface ens33virtual_router_id 51priority 90advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.27.200}
}virtual_server 192.168.27.200 11211 {delay_loop 6lb_algo rrlb_kind NATpersistence_timeout 50protocol TCP
#对向节点的IP即memcache02的IPsorry_server 192.168.27.128 11211
#本节点的IPreal_server 192.168.27.129 11211 {weight 1notify_down /root/memcached.shTCP_CHECK {connect_timeout 3nb_get_retry 3delay_before_retry 3connect_port 11211}}
}7.在两台memcache节点操作
echo /usr/bin/systemctl stop keepalived /root/memcached.sh
chmod x memcached.shsystemctl start keepalived
systemctl enable keepalived 验证其中一台是否出现了VIP地址 验证 停掉vip所在机器的memcached服务
pkill memcached 会在另一台机器出现vip地址实现了故障切换即高可用