配置Linux环境

安装mariadb +主从复制 https://www.cnblogs.com/pyyu/p/9467289.html

参考博客 redis https://www.cnblogs.com/pyyu/p/9843950.html

redis发布订阅

三个角色,提供的redis命令
1.发布者
    publish  频道  消息        给频道发消息
2.订阅者
    SUBSCRIBE  频道         订阅频道 
    PSUBSCRIBE 频道*          支持模糊匹配的订阅
3.频道
    channel  频道名 自定义
redis发布订阅
redis持久化之RDB
1.在配置文件中添加参数,开启rdb功能
redis.conf 写入
    port 6379
    daemonize yes
    logfile /data/6379/redis.log
    dir /data/6379
    dbfilename   s15.rdb
    save 900 1                    #rdb机制 每900秒 有1个修>改记录
    save 300 10                    #每300秒        10个修改
    记录
    save 60  10000                #每60秒内        10000修>改记录
2.开启redis服务端,测试rdb功能
redis-server redis.conf 
redis持久化之RDB
1.开启aof功能,在redis.conf中添加参数
    port 6379
    daemonize yes
    logfile /data/6379/redis.log
    dir /data/6379
    appendonly yes
    appendfsync everysec
2.启动redis服务端,指定aof功能,测试持久化数据 
redis持久化之aof
1.准备rdb的redis服务端
    redis-server   s15-redis.conf (注明这是在rdb持久化模式下)

2.切换rdb到aof
redis-cli  登录redis,然后通过命令,激活aof持久化
127.0.0.1:6379>  CONFIG set appendonly yes                #用命令激活aof持久化(临时生效,注意写入到配置文件)
OK
127.0.0.1:6379> 
127.0.0.1:6379> 
127.0.0.1:6379>  CONFIG SET save ""             #关闭rdb持久化

2.5 将aof操作,写入到配置文件,永久生效,下次重启后生效
    port 6379
    daemonize yes 
    logfile /data/6379/redis.log
    dir /data/6379   

    #dbfilename   s15.rdb
    #save 900 1  
    #save 300 10 
    #save 60  10000 
    appendonly yes
    appendfsync everysec


3.测试aof数据持久化 ,杀掉redis,重新启动
kill 
redis-server s15-redis.conf 

4.写入数据,检查aof文件
redis不重启之rdb数据切换到aof数据
1.检查redis数据库信息,主从状态的命令
redis-cli  -p 6379  info  检查数据库信息
redis-cli  -p 6379  info  replication  检查数据库主从信息
  

1.准备三个redis配置文件,通过端口的区分,启动三个redis数据库实例,然后配置主从复制
redis-6379.conf 
    port 6379
    daemonize yes
    pidfile /data/6379/redis.pid
    loglevel notice
    logfile "/data/6379/redis.log"
    dbfilename dump.rdb
    dir /data/6379
    
redis-6380.conf 
#通过命令快速生成配置文件
sed "s/6379/6380/g" redis-6379.conf > redis-6380.conf 
slaveof  127.0.0.1  6379   #指明主库的身份ip 和端口

redis-6381.conf 
#通过命令快速生成配置文件
sed "s/6379/6381/g" redis-6379.conf > redis-6381.conf 
slaveof  127.0.0.1  6379

2.启动三个数据库实例,检测redis主从同步方案


3.redis主从赋值,故障手动切换,
    1.杀死6379的主库实例
    kill 主库
    
    2.手动切换主从身份
        1.登录 redis-6380 ,通过命令,去掉自己的从库身份,等待连接
            info replication   查看自己的身份状态
            slaoveof no one  
        2.登录redis-6381 ,通过命令,生成新的主任
            slaveof 127.0.0.1 6380  
    
    3.测试新的主从数据同步
redis的主从同步
1.什么是哨兵呢?保护redis主从集群,正常运转,当主库挂掉之后,自动的在从库中挑选新的主库,进行同步

2.redis哨兵的安装配置
    1. 准备三个redis数据库实例(三个配置文件,通过端口区分)
        redis-server redis-6379.conf 
        redis-server redis-6380.conf 
        redis-server redis-6381.conf 
    2.准备三个哨兵,准备三个哨兵的配置文件(仅仅是端口的不同26379,26380,26381)
    touch redis-sentinel-26379.conf
        port 26379  
        dir /var/redis/data/
        logfile "26379.log"

        sentinel monitor s15master 127.0.0.1 6379 2

        sentinel down-after-milliseconds s15master 30000

        sentinel parallel-syncs s15master 1

        sentinel failover-timeout s15master 180000
        daemonize yes


    touch redis-sentinel-26380.conf
        快速生成配置文件
        sed "s/26379/26380/g" redis-sentinel-26379.conf >  redis-sentinel-26380.conf 
    touch redis-sentinel-26381.conf
        sed "s/26379/26381/g" redis-sentinel-26379.conf >  redis-sentinel-26381.conf 

    运行时先创建文件
    mkdir -p /var/redis/data

    4.启动三个哨兵
        redis-sentinel redis-sentinel-26379.conf 
        redis-sentinel redis-sentinel-26380.conf 
        redis-sentinel redis-sentinel-26381.conf 
        
    5.检查哨兵的通信状态

    redis-cli -p 26379  info sentinel 
    查看结果如下之后,表示哨兵正常
        最后那里
        # Sentinel
        sentinel_masters:1
        sentinel_tilt:0
        sentinel_running_scripts:0
        sentinel_scripts_queue_length:0
        sentinel_simulate_failure_flags:0
        master0:name=s15master,status=ok,address=127.0.0.1:6381,slaves=2,sentinels=3


    运行  redis-cli -p 6381 info replication  检查role:slave  状态
    



    6.杀死一个redis主库,6379节点,等待30s以内,检查6380和6381的节点状态
    kill 6379主节点
    redis-cli -p 6380 info replication 
    redis-cli -p 6381 info replication 
    如果切换的主从身份之后,(原理就是更改redis的配置文件,切换主从身份)
    
    7.恢复6379节点的数据库,查看是否将6379添加为新的slave身份
    redis-server redis-6379.conf
    redis-cli -p 6379 info replication
redis哨兵
redis-cluster安装配置
1.准备6个redis数据库实例,准备6个配置文件redis-{7000....7005}配置文件
    redis-7000.conf
    redis-7001.conf
    redis-7002.conf
    redis-7003.conf
    redis-7004.conf
    redis-7005.conf
    
    
    配置文件
    
    port 7005
    daemonize yes
    dir "/opt/redis/data"
    logfile "7005.log"
    dbfilename "dump-7005.rdb"
    cluster-enabled yes 
    cluster-config-file nodes-7005.conf 



    sed "s/7000/7001/g" redis-7000.conf > redis-7001.conf
    sed "s/7000/7002/g" redis-7000.conf > redis-7002.conf
    sed "s/7000/7003/g" redis-7000.conf > redis-7003.conf
    sed "s/7000/7004/g" redis-7000.conf > redis-7004.conf
    sed "s/7000/7005/g" redis-7000.conf > redis-7005.conf


2.启动6个redis数据库实例
    redis-server redis-7000.conf 
    redis-server redis-7001.conf 
    redis-server redis-7002.conf 
    redis-server redis-7003.conf 
    redis-server redis-7004.conf 
    redis-server redis-7005.conf 

3.配置ruby语言环境,脚本一键启动redis-cluster 
    1.下载ruby语言的源码包,编译安装
        wget https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz
    2.解压缩
        ./configure --prefix=/opt/ruby/       释放makefile
        make && make install     编译且安装
    3.下载安装ruby操作redis的模块包
        wget http://rubygems.org/downloads/redis-3.3.0.gem
        
        
    4.配置ruby的环境变量
    echo $PATH
    
    vim /etc/profile
    写入最底行
    PATH=$PATH:/opt/ruby/bin/
    读取文件
    source /etc/profile 
    
    5.通过ruby的包管理工具去安装redis包,安装后会生成一个redis-trib.rb这个命令
    /opt/ruby/bin/gem install -l redis-3.3.0.gem 
    
    一键创建redis-cluster 其实就是分配主从关系 以及 槽位分配 slot槽位分配
    /opt/redis-4.0.10/src/redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
    
    6.检查节点主从状态
    redis-cli -p 7000  info replication 
    
    7.向redis集群写入数据,查看数据流向
    redis-cli -p 7000    #这里会将key自动的重定向,放到某一个节点的slot槽位中
    set  name  s15 
    set  addr shahe  
一键创建集群
1.yum解决编译nginx所需的依赖包,之后你的nginx就不会报错了

    yum install gcc patch libffi-devel python-devel  zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel openssl openssl-devel -y

2.安装配置nginx软件,下载源代码
    wget -c https://nginx.org/download/nginx-1.12.0.tar.gz
3.解压缩源码,编译且安装
    tar -zxvf nginx-1.12.0.tar.gz 
    切换源码目录
    ./configure --prefix=/opt/nginx112/
    make && make install 
4.进入nginx的工作目录
cd /opt/ngin112/

5.查看gninx的工作目录
[root@localhost nginx112]# ls
conf  配置文件目录
html  网页根目录,你的index.html就放在这里,然后通过域名访问  pythonav.cn/index.html     html/index.html 
logs    日志
sbin    存放nginx可执行命令的


6.定制自己的nginx网站
修改/opt/nginx112/html/index.html  这是nginx网页根文件,清空内容写入自己的html标签

7.启动nginx服务器
/opt/nginx112/sbin/nginx    直接回车执行 

8.检查nginx服务端口
ps -ef|grep nginx 

9.通过windows访问nginx web服务
浏览器 访问http://192.168.13.79
nginx 入门学习
原文地址:https://www.cnblogs.com/qicun/p/10211616.html