zoukankan      html  css  js  c++  java
  • redis-4.0.1 源码一键安装脚本(centos 7)

    #!/usr/bin/env bash
    
    set -e
    
    #定义下载路径:
    SRC='/usr/local/src'
    
    #定义redis 目录:
    REDISDIR='/usr/local/redis'
    
    #定义redis 密码:
    REDISPAS="$(openssl rand -base64 32)" && echo ${REDISPAS} > /root/.REDIS_PAS
    
    #从官网下载redis 源码包:
    wget -O ${SRC}/redis-4.0.1.tar.gz  http://download.redis.io/releases/redis-4.0.1.tar.gz
    
    #解压redis:
    tar zxf ${SRC}/redis-4.0.1.tar.gz -C ${SRC}
    
    #移动解压目录并重命名:
    mv ${SRC}/redis-4.0.1 ${REDISDIR}
    
    #进入redis 目录及创建目录:
    cd ${REDISDIR} && mkdir {bin,etc,var}
    
    make -j $(awk '/processor/{i++}END{print i}' /proc/cpuinfo)
    
    #复制可执行文件到创建的 bin 目录:
    cp -a ${REDISDIR}/src/redis-{benchmark,check-aof,check-rdb,cli,sentinel,server} ${REDISDIR}/bin
    
    #复制redis 主配置文件到创建的 etc 目录:
    cp -a ${REDISDIR}/redis.conf ${REDISDIR}/etc/
    
    #替换配置,采用守护进程的方式启动redis
    sed -i 's/^daemonize no/daemonize yes/' ${REDISDIR}/etc/redis.conf
    
    #替换redis 的日志目录:
    sed -i "s#^logfile ""#logfile "${REDISDIR}/var/redis_6379.log"#" ${REDISDIR}/etc/redis.conf
    
    #替换redis 的 pid 文件路径:
    sed -i "s#^pidfile /var/run/redis_6379.pid#pidfile ${REDISDIR}/var/redis_6379.pid#" ${REDISDIR}/etc/redis.conf
    
    #替换redis 最大连接数:
    sed -i "s@^# maxclients 10000@maxclients 100@"  ${REDISDIR}/etc/redis.conf
    
    #设置redis 密码:
    #sed -i "s@^# requirepass foobared@requirepass ${REDISPAS}@"  ${REDISDIR}/etc/redis.conf
    
    #启用redis 监听socket:
    sed -i "s@^# unixsocket /tmp/redis.sock@unixsocket  ${REDISDIR}/var/redis_6379.sock@" ${REDISDIR}/etc/redis.conf
    
    #设置 redis socket 文件的权限:
    sed -i "s/^# unixsocketperm 700/unixsocketperm 777/" ${REDISDIR}/etc/redis.conf
    
    #创建redis 启动脚本文件:
    echo '[Unit]' > /usr/lib/systemd/system/redis.service
    echo 'Description=Redis persistent key-value database' >> /usr/lib/systemd/system/redis.service
    echo 'After=network.target' >> /usr/lib/systemd/system/redis.service
    echo '' >> /usr/lib/systemd/system/redis.service
    echo '[Service]' >> /usr/lib/systemd/system/redis.service
    echo 'Type=forking' >> /usr/lib/systemd/system/redis.service
    echo "ExecStart=${REDISDIR}/bin/redis-server ${REDISDIR}/etc/redis.conf" >> /usr/lib/systemd/system/redis.service
    echo 'Restart=always' >> /usr/lib/systemd/system/redis.service
    echo '' >> /usr/lib/systemd/system/redis.service
    echo '[Install]' >> /usr/lib/systemd/system/redis.service
    echo 'WantedBy=multi-user.target' >> /usr/lib/systemd/system/redis.service
    
    #启动redis并设置成随机启动:
    systemctl start redis && systemctl enable redis
    
    #删除安装脚本
    rm -rf $0
  • 相关阅读:
    C# 从类库中获取资源图片,把图片资源保存到类库中
    C# Bitmap/png转成jpg格式,压缩图片
    C# 窗体间传值(使用委托与自定义事件)
    C# Image与Base64编码互转函数
    简单Tomcat HTTP RPC框架
    Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码)
    Java序列化机制和原理
    攻破JAVA NIO技术壁垒
    代理模式(Proxy)
    Java序列化与反序列化
  • 原文地址:https://www.cnblogs.com/carry00/p/10315369.html
Copyright © 2011-2022 走看看