zoukankan      html  css  js  c++  java
  • Redis(1.1)linux下安装redis

    一、常见安装方式

    【0】环境

      OS:CentOS7.5

      Redis:4.0.14

      yum源:本地源

    【1】检查安装 gcc 依赖环境

    gcc -v
    #如果没安装会报错类似于 command not find
    #安装gcc环境(注意,这个需要自己配置yun源,如果是网络源需要网络保持畅通--yum源配置
    yum -y install gcc-c++
    yum -y install tcl

    【2】下载解压安装redis

    【2.1】下载

      官网:https://redis.io/download (这里我用的是windows下载,然后上传,公司环境特殊 虚拟机没网络)

      linux下载:wget http://download.redis.io/releases/redis-4.0.14.tar.gz

    【2.2】安装

    下载之后

    mkdir -p /data/redis/app
    cd /data/redis/app
    #然后拷贝redis文件过来
    tar
    -zxvf redis-4.0.14.tar.gz cd redis-4.0.14/ make cd src/ make test
    #这里报错了,说我需要tcl8.5版本以上才能使用这个(记得安装好之后,再运行一次make test啊!)  

    
    

    #如果有网络yum源,则直接

     yum -y install tcl

    # 官网下载地址:https://sourceforge.net/projects/tcl/

    # wget https://nchc.dl.sourceforge.net/project/tcl/Tcl/8.6.1/tcl8.6.1-src.tar.gz

    #tcl安装tcl8.5.9-src.tar.gz
    cd /tmp
    tar -zxvf tcl8.6.1-src.tar.gz
    cd tcl8.6.1/unix/
     ./configure --prefix=/usr/local/tcl/ --enable-shared
    make
    make install
    echo "export PATH=${PATH}:/usr/local/tcl/bin" >> /etc/profile
    source /etc/profile

    #安装redis
    cd
    /data/redis/app/redis-4.0.14/
    mkdir data
    cd src
    make PREFIX=/data/redis/app/redis-4.0.14/data install
      

       #把解压的redis路径下的redis.conf文件拷贝到安装路径下面

     到这里就算完成了,但我们看看这几个命令分别是干什么用的呢?
    redis-benchmark:性能测试工具
    redis-check-aof:aof 文件修复工具
    redis-check-rdb:rdb 文件检查工具(快照持久化文件)
    redis-cli:命令行客户端
    redis.cnf:复制过来的配置文件,用于后端启动
    redis-sentinel:哨兵接口工具
    redis-server:服务启动工具

    【2.3】启动redis

    #【2.3.1】前端启动
    #切入到redis安装目录 cd
    /data/redis/app/redis-4.0.14/data/bin ./redis-server

    OK

    #【2.3.2】后端启动
    #修改复制到redis安装目录的redis.conf配置文件
    vim redis.conf
    把如下图 daemonize 的 no 改为 yes
      

      

      #正式启动,利用server与.conf

      ./redis-server ./redis.conf

      

     #【2.3.3】核验redis是否启动

      ps -ef|grep redis

        

     【2.4】关闭redis

    ./redis-cli shutdown

    ps -ef|grep redis

      

     【2.5】相关常用操作

    //首先链接客户端
    [root@CO7 redis]# ./bin/redis-cli
    //检查网络是否可以
    127.0.0.1:6379> ping
    PONG
    //设置一个键值对
    127.0.0.1:6379> set name cheny
    OK
    //获取刚刚设置的键值对
    127.0.0.1:6379> get name
    "cheny"
    //查看所有的键
    127.0.0.1:6379> keys *
    1) "name"
    //删除name这个键
    127.0.0.1:6379> del name
    (integer) 1
    127.0.0.1:6379> keys *
    (empty list or set)
    127.0.0.1:6379> 

    【3】常见连接使用故障

    1、connect timed out----关闭防火墙或者开启6379端口
    2、connection refused : connect------将redis.conf中的127.0.0.1改成虚拟机地址--注意是虚拟机地址啊

                vim把redis-conf的第68行的bind 127.0.0.1改为bind 0.0.0.0,然后重启redis即可

    参考:https://blog.51cto.com/13719714/2175486

    二、生产上的安装

      生产上必须要注意的是安全问题,要用redis用户安装不要用root用户安装,不要用127.0.0.1作为绑定地址。

    【1】下载 redis 软件

    官网:https://redis.io/download (这里我用的是windows下载,然后上传,公司环境特殊 虚拟机没网络)
    linux下载:wget http://download.redis.io/releases/redis-4.0.14.tar.gz

    【2】使用root 创建 redis 用户和组

    groupadd -g 601 redis
    useradd -u 6001 -g 601 redis
    id redis
    passwd redis

    【3】调整 redis 用户的 ulimit

    vi /etc/security/limits.conf
    #输入以下内容
    redis  hard  nofile  10240
    redis  soft  nofile  1024
    redis  hard  nporc  8192
    redis  soft  nproc  8192
    #nproc 用户创建进程数 nofile 进程打开文件次数限制,更多参考《操作系统环境配置

    【4】构建安装路径与数据路径

    mkdir -p /data/redis
    chown -R redis:redis /data/redis
    mkdir -p /data/redis/log
    mkdir -p /data/redis/conf
    mkdir -p /data/redis/data
    chown -R redis:redis /data/redis
    chmod -R 777 /data/redis

    【5】安装

    #假设我们软件下载/上传在 /soft 目录下
    chmod -R 777 /soft  
    su -l redis
    cd /soft
    tar -zxvf redis-4.0.14.tar.gz
    cd redis-4.0.14
    make
    cd ./src
    make PREFIX=/data/redis/data install #注意,这里的 PREFIX 一定要大写
    cd ../
    cp redis.conf /data/redis/conf
    #echo "export PATH=${PATH}:/data/redis/data/bin" >> /etc/profile
    echo "export PATH=${PATH}:/data/redis/data/bin" >> ~/.bash_profile
    source ~/.bash_profile #source /etc/profile
    su -l root

    【6】OS 调优

    #【6.1】调整 vm.overcommit_memory
    #vi /etc/sysctl.conf
    echo "vm.overcommit_memory=1" >> /etc/sysctl.conf
    
    #改参数关注的是内存分配策略
    #0,标识内核将检查是否有足够的可用内存供应用进程使用;如果有则申请允许,否则内存申请失败,并返回错误给应用进程。
    #1,标识内核允许分配所有的物理内存,而不管当前的内存状态如何。
    #2,标识内核允许分配超过所有物理内存和交换空间(swap)的内存
    
    #【6.2】调整 Transparent Huge Pages(THP)
    #解决:redis 做 rdb 时会有部分请求超时的情况
    
    echo never > /sys/kernel/mm/transparent_hugepage/enabled
    echo "never > /sys/kernel/mm/transparent_hugepage/enabled" >> /etc/rc.local
    
    #【6.3】TCP backlog设置(详情见后续redis配置参数)
    echo 2048 > /proc/sys/net/core/somaxconn
    echo "net.core.somaxconn=2048" >> /etc/sysctl.conf
    #动态加载
    sysctl -p
    
    #此参数确定了TCP连接中已完成队列(完成三次握手之后)的长度
    #此值必须不大于linux系统定义的 /proc/sys/net/core/somaxconn的值,默认511
    #而 linux 默认参数值是128,当系统并发量大并且客户端缓慢时,可以将这2个参数一起参考设置。

    【7】调整redis配置文件  redis.conf(更多参考 redis 配置文件

    vi /data/redis/conf/redis.conf
    daemonize yes
    logfile "/data/redis/log/redis.log"
    #requirepass 123456
    bind 0.0.0.0
    pidfile /data/redis/conf/redis.pid
    dbfilename redis.rdb
    dir /data/redis/conf/
    
    

    【8】启动与连接及关闭

    8.1】启动
    redis-server /data/redis/conf/redis.conf #默认端口是6379
    【8.2】查看
    ps -ef|grep redis
    【8.3】连接登录
    redis-cli -a 123456
    【8.4】关闭redis
    bash环境: redis-cli -a 123456 shutdown
    redis环境: shutdown
    Bash环境: pkill pid
    【8.5】退出登录
    exit/ctrl + c 都可以
    【8.6】开机自启
    vim /etc/rc.local
    su -l redis -c "/data/redis/data/bin/redis-server /data/redis/conf/redis.conf"

     【9】封装 redis 服务成系统服务(参考linux启动与关闭

    #【9.1】构造文件
    vi /usr/lib/systemd/system/redis.service

    #【9.2】文件内容
    [unit] Description
    =Redis After=syslog.target network.target remote-fs.target nss-lookup.target [Service] Type=forking User=redis Group=redis PIDFile=/data/redis/conf/redis.pid ExecStart=/data/redis/data/bin/redis-server /data/redis/conf/redis.conf ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/data/redis/data/bin/redis-cli -a 123456 shutdown PrivateTmp=true [Install] WantedBy=multi-user.target

    #【9.3】刷新守护进程,设置为开机自启
    systemctl daemon-reload #重载系统服务
    systemctl enable redis #设置开机自启

    #【9.4】把该文件给 redis用户授权
    chown -R redis:redis /usr/lib/systemd/system/redis.service
    chmod -R 755 /usr/lib/systemd/system/redis.service

    #【9.5】封装成系统服务后 常用启动关闭 redis命令
    systemctl start redis  #启动redis
    systemctl stop redis   #关闭redis
    systemctl restart redis #重启redis
    systemctl status redis #查看redis服务状态

    三、4.0以后的快速安装

    #下载安装解压好之后
    cd /soft/redis-4.0.14/utils
    ./install_server.sh
      

     很明显,上面的 selected config:就是要我们输入实例的端口,配置文件,日志文件,数据目录,可执行命令。这些都是需要提前准备好目录和文件的。

     这里就没写准备工作了,大家自行理解;

     后面的Copied /tmp/6479.cnf => /etc/init.d/redis_6479  这个redis_6479就是我们的自定义系统服务名称了

     倒数3-4行的Successfully..... 就是添加了开机自启了,不过这里用的是 centos6的自定义服务和自启方式。。不过没关系,这都是兼容的,就是自启可能会有点问题。



    如何修改秘密?
      《1》修改配置文件,requirepass 后面的密码,然后重启
      《2》在线登录上客户端后修改:config set requirepass 123456

      

    四、redis图形化界面软件

      

     Redis是一个超精简的基于内存的键值对NOSQL数据库(key-value),一般对并发有一定要求的应用都用其储存session,乃至整个数据库。不过它公自带一个最小化的命令行式的数据库管理工具redis-cli,但使用起来并不方便。所幸Github上面已经有了很多图形化的管理工具,如果你不想对着黑屏打码的话,这是一些选择。

    Redis Desktop Manager

    一款基于Qt5的跨平台Redis桌面管理软件

        支持: Windows 7+, Mac OS X 10.10+, Ubuntu 14+

        特点: C++ 编写,响应迅速,性能好。但不支持数据库备份与恢复。

        项目地址: https://github.com/uglide/RedisDesktopManager

    Redis Studio

    国人开发的一款C++编写的redis管理工具,仅支持windows,支持xp操作系统。

    项目地址: https://github.com/cinience/RedisStudio

       

    Redis Client

    国人开发的一款,用Java编写,功能丰富

    项目地址: https://github.com/caoxinyu/RedisClient

  • 相关阅读:
    网络爬虫(抓取)正则表达式 (多线程协作)
    Asp.net 主题
    Asp.net 菜单控件
    CSS 布局Float 【4】
    CSS 布局Float 【3】
    CSS 布局Float 【2】
    CSS 布局Float 【1】
    CSS 布局Float 【0】
    Asp.Net 母版页
    Sql Server 远程过程调用失败
  • 原文地址:https://www.cnblogs.com/gered/p/11648333.html
Copyright © 2011-2022 走看看