• 在CentOS7上从源码编译安装redis,并做成服务程序


    1.安装编译的依赖环境

    # 安装pcre开发包:
     yum install -y pcre-devel 
    # 安装ssl功能需要openssl库
     yum -y install openssl-devel
    # 安装编译源码所需的工具和库
     yum install  gcc gcc-c++ ncurses-devel perl

    2.下载并安装

     #命令行下载redis源码包
     wget http://download.redis.io/releases/redis-2.8.17.tar.gz
     
     #解压到当前目录中
     tar xzf redis-2.8.17.tar.gz
     
     # 切换到解压的目录中
     cd redis-2.8.17
     
     # 编译源代码文件
     make
     
     # 创建redis安装目录
     mkdir /usr/local/redis
     
     # 安装redis到刚才的新建目录中
     #安装成功后/usr/local/redis目录中有多出一个bin子目录,里面会有
     #redis-benchmark  redis-check-aof  redis-check-dump 
     #redis-cli  redis-server 这5个可执行文件
     make  --PREFIX=/usr/local/redis   install

    3.修改配置文件

    vi redis.conf
    #修改一下配置
    # 修改程序运行方式(在配置文件的第37行),将redis以守护进程的方式运行,
    # no表示不以守护进程的方式运行(会占用一个终端) , 
    daemonize yes
    
    # 设置密码(在配置文件中的348行),取消注释,
    requirepass <密码>
    #保存退出
    
    
    # 将此配置文件复制到系统配置文件目录上,方便随机启动读取
    # 创建容纳redis配置文件的目录
     mkdir  /etc/redis
    # 复制并重命名配置文件为”6379.conf“,
    cp redis.conf /etc/redis/6379.conf

    4.注册redis服务

    #复制redis的启动脚本redis_init_script到/etc/rc.d/init.d/,并命名为redisd
     cp utils/redis_init_script /etc/rc.d/init.d/redisd
    #修改脚本文件
     vi /etc/rc.d/init.d/redisd 

    在redisd文件的第二行加入下面这一行内容(这里带#的注释是有意义的),并保存退出

    #chkconfig: 2345 80 90
    #注册服务
     chkconfig --add redisd
     
    # 系统可能会提示使用'/sbin/chconfig',此时要建立一个软链接
    ln -s /etc/rc.d/init.d/redisd /sbin/redisd
    # 再执行以下命令,应该不会再报错了
    /sbin/chkconfig --add redisd

    5.设置redis开机自启,启动redis服务

                这是/etc/init.d/redisd启动脚本的开头部分内容截图

    • 建立redis可执行文件的链接关系
    #刚才将"redis.conf"重命名为“6379.conf”的原因就是shell命令
    #“ CONF="/etc/redis/${REDISPORT}.conf" ”将在脚本执行是读取以端口号命名
    # 的conf文件,而这里端口的环境变量REDISPORT就是6379 。
    
    
    #shell命令‘EXEC=/usr/local/bin/redis-server‘和
    # ’CLIEXEC=/usr/local/bin/redis-cli‘将执行/usr/local/bin/目录下的
    #redis-server、redis-cli两个可执行文件,但我是将redis自定义安装在/usr/local/redis/bin
    #目录里的,因此要在/usr/local/bin/目录下建立redis执行文件的软链接
    ln -s /usr/local/redis/bin/redis-server /usr/local/bin/redis-server
    ln -s /usr/local/redis/bin/redis-cli /usr/local/bin/redis-cli
    #  建立软链接的时候,一定要写全路径,不要写相对路径,否则在执行文件会提示“too many link”
    • 设置开机自启
    systemctl enable redisd
    • 启动redis
    systemctl start redisd
    • 防火墙的redis端口开放
    #开放6379端口,方便外部远程登录redis
    firewall-cmd --permanent --add-port=6379/tcp
    #重新加载防火墙,使开放的端口生效
    firewall-cmd --reload
  • 相关阅读:
    Python--json处理
    Python--加密模块
    Python--函数即变量
    bzoj 2276: [Poi2011]Temperature
    1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛
    2017 9 15 noip模拟赛
    bzoj 1612: [Usaco2008 Jan]Cow Contest奶牛的比赛
    2017 9 11 noip模拟赛T2
    URAL 1613. For Fans of Statistics (2017 9 6 noip模拟赛T3)
    codeforces 105 B. Dark Assembly(birbe贿赂 noip模拟赛)
  • 原文地址:https://www.cnblogs.com/gocode/p/install-redis-by-source-code.html
Copyright © 2020-2023  润新知