专栏首页晓晨的专栏CentOS 7 源码编译安装 Redis

CentOS 7 源码编译安装 Redis

1.下载源码并解压

wget http://download.redis.io/releases/redis-4.0.10.tar.gz
tar -xzf redis-4.0.10.tar.gz
cd redis-4.0.10

2.编译

yum -y install gcc gcc-c++ kernel-devel
make

等待编译完成

3.安装

make PREFIX=/usr/local/redis install
mkdir /usr/local/redis/etc/
cp redis.conf /usr/local/redis/etc/
cd /usr/local/redis/bin/
cp redis-benchmark redis-cli redis-server /usr/bin/

4.更改配置

vim /usr/local/redis/etc/redis.conf

# 修改一下配置
# redis以守护进程的方式运行
# no表示不以守护进程的方式运行(会占用一个终端)  
daemonize yes

# 客户端闲置多长时间后断开连接,默认为0关闭此功能                                      
timeout 300

# 设置redis日志级别,默认级别:notice                    
loglevel verbose

# 设置日志文件的输出方式,如果以守护进程的方式运行redis 默认:"" 
# 并且日志输出设置为stdout,那么日志信息就输出到/dev/null里面去了 
logfile stdout
# 设置密码授权
requirepass <设置密码>
# 监听ip
bind 127.0.0.1 

5.配置环境变量

vim /etc/profile
export PATH="$PATH:/usr/local/redis/bin"
# 保存退出

# 让环境变量立即生效
source /etc/profile

6.配置启动脚本

#!/bin/bash
#chkconfig: 2345 80 90
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.

PATH=/usr/local/bin:/sbin:/usr/bin:/bin
REDISPORT=6379
EXEC=/usr/local/redis/bin/redis-server
REDIS_CLI=/usr/local/redis/bin/redis-cli
   
PIDFILE=/var/run/redis.pid
CONF="/usr/local/redis/etc/redis.conf"
   
case "$1" in
    start)
        if [ -f $PIDFILE ]
        then
                echo "$PIDFILE exists, process is already running or crashed"
        else
                echo "Starting Redis server..."
                $EXEC $CONF
        fi
        if [ "$?"="0" ] 
        then
              echo "Redis is running..."
        fi
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
                $REDIS_CLI -p $REDISPORT SHUTDOWN
                while [ -x ${PIDFILE} ]
               do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
        ;;
   restart|force-reload)
        ${0} stop
        ${0} start
        ;;
  *)
    echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
        exit 1
esac

7.开启自启动设置

# 复制脚本文件到init.d目录下
cp redis /etc/init.d/

# 给脚本增加运行权限
chmod +x /etc/init.d/redis

# 查看服务列表
chkconfig --list

# 添加服务
chkconfig --add redis

# 配置启动级别
chkconfig --level 2345 redis on

8.启动测试

systemctl start redis   #或者 /etc/init.d/redis start  
systemctl stop redis   #或者 /etc/init.d/redis stop

# 查看redis进程
ps -el|grep redis

# 端口查看
netstat -an|grep 6379

参考资料:

https://segmentfault.com/a/1190000003084917

https://www.cnblogs.com/smail-bao/p/6164132.html

https://www.cnblogs.com/joshua317/p/5635483.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • IdentityServer4实战 - API与IdentityServer的交互过程解析

    晓晨
  • ASP.NET Core & Docker 零基础持续集成

    晓晨
  • Azure 使用 Web App 服务运行 Docker 镜像

    最近在完善 CanalSharp 的文档,采用的是 vuepress 生成的文档网站,生成以后变考虑如何部署这个文档,考虑过 github pages,但是不想...

    晓晨
  • Redis系列:Linux下部署Redis 6.x 版本

    主要原因是从 redis-6.x 开始的多线程代码依赖C标准库中的新增类型 _Atomic 。但是注意 gcc 从 4.9 版本才开始正式和完整地支持 stda...

    java乐园
  • Linux系统上安装JDK、Tomcat以及Redis

    首先检查Linux系统上是否有JDK,一般Linux系统会有默认的openJDK,将其卸载掉。

    Java阿呆
  • 程序员探案之漫长的Redis指令操作

    用户2196567
  • redis单机版,集群版,jedis

    redis是一个开源的key-value数据库。主要用来做数据缓存,本篇文章介绍redis的单机搭建,进而到redis的集群搭建,刚接触的可以先搭建单机版的,再...

    聚沙成塔
  • linux环境安装Redis

    1、下载redis源码包(Redis中文网:https://www.redis.net.cn/)

    Sindsun
  • linux下redis安装基本使用

    http://code.google.com/p/redis/downloads/list

    the5fire
  • Redis学习四(运维指南).

    一般 redis 的参数配置都在 redis.conf 中,在上线前根据实际环境配置好合适参数,能有效提高 redis 的可用性。

    JMCui

扫码关注云+社区

领取腾讯云代金券