centos7搭建单机redis5.0

1. redis初步安装

# 获取redis
wget http://download.redis.io/releases/redis-5.0.5.tar.gz

#安装gcc
yum install gcc

#把下载好的redis 放在/usr/local/文件夹下,解压
tar zxf redis-5.0.5.tar.gz
mv redis-5.0.5 /usr/local/

# 进入解压后的目录,编译
cd /usr/local/redis-5.0.5/
make

# 进入redis5.0.5/src目录下安装,安装完成验证src目录下是否生成redis-server,redis-cli
cd src
make install

#建立两个文件夹存放redis命令和配置文件
mkdir -p /usr/local/redis/etc
mkdir -p /usr/local/redis/bin

# 把redis5.0.5下的redis.conf复制到/usr/local/redis/etc/下
cd ..
cp redis.conf /usr/local/redis/etc/

# 把redis5.0.5/src下面的几个文件放到/usr/local/redis/bin下
cd src
mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server  /usr/local/redis/bin/

# 启动并指定配置文件
# 修改配置文件中的#bind 127.0.0.1,protected-mode no,daemonize yes 保存退出
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

# 查看是否启动
ps -ef | grep redis

# 查看是否有redis服务或者查看端口
netstat -tunpl | grep 6379

# 进入redis客户端
/usr/local/redis/bin/redis-cli

# 退出
quit

# 退出redis服务
pkill redis-server
kill 进程号

2. 配置

修改安装目录下的redis.conf文件

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

修改以下配置:

#bind 127.0.0.1 # 将这行代码注释,监听所有的ip地址,外网可以访问
protected-mode no # 把yes改成no,允许外网访问
daemonize yes # 把no改成yes,后台运行

3. 设置开机启动(centos6)

3.1 编写启动脚本

vim /etc/init.d/redis

输入下面内容:

#!/bin/sh
# chkconfig:   2345 90 10
# description:  Redis is a persistent key-value database

REDISPORT=6379
EXEC=/usr/local/redis/bin/redis-server
REDIS_CLI=/usr/local/redis/bin/redis-cli

PIDFILE=/var/run/redis_6379.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

然后保存退出

注意:以下信息需要根据安装目录进行调整:

EXEC=/usr/local/redis/bin/redis-server # 执行脚本的地址
REDIS_CLI=/usr/local/redis/bin/redis-cli # 客户端执行脚本的地址
PIDFILE=/var/run/redis_6379.pid # 进程id文件地址
CONF="/usr/local/redis/etc/redis.conf" #配置文件地址

3.2 设置权限

chmod 755 /etc/init.d/redis

3.3 启动测试

service redis start

启动成功会提示如下信息:

service redis stop

service redis restart

3.4 设置开机自启动

# 1. 将redis服务添加到开机自启
chkconfig --add redis
# 2. 设置redis开机自启
chkconfig redis on
# 3. 查看redis 有没有设置为开机启动
chkconfig --list

4. 设置开机启动(centos7)

centos 7以上是用Systemd进行系统初始化的,Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度。
Systemd服务文件以.service结尾,比如现在要建立redis为开机启动,如果用yum install命令安装的,yum命令会自动创建redis.service文件,直接用命令systemcel enable redis.service设置开机启动即可。

4.1 在系统服务目录里创建redis.service文件

/lib/systemd/system/redis.service
/etc/systemd/system/redis.service

写入以下内容(注意地址修改)

[Unit]
Description=Redis persistent key-value database
After=network.target

[Service]
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf --supervised systemd
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
Type=forking
User=redis
Group=redis
RuntimeDirectory=redis
RuntimeDirectoryMode=0755

[Install]
WantedBy=multi-user.target

配置描述:

  Description:描述服务
  After:描述服务类别
  [Service]服务运行参数的设置
  Type=forking是后台运行的形式
  ExecStart为服务的具体运行命令
  ExecReload为重启命令
  ExecStop为停止命令
  PrivateTmp=True表示给服务分配独立的临时空间
  注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
  [Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

4.2 系统重载

systemctl daemon-reload

4.3 常用命令

    systemctl start redis.service #启动redis服务
  systemctl enable redis.service #设置开机自启动
  systemctl disable redis.service #停止开机自启动
  systemctl status redis.service #查看服务当前状态
  systemctl restart redis.service  #重新启动服务
  systemctl list-units --type=service #查看所有已启动的服务

5. 测试本地连接

redis-cli -h 192.168.0.22 -p 6379

也可以使用RedisDesktopManager测试

posted @ 2019-11-05 14:37  if年少有为  阅读(541)  评论(0编辑  收藏  举报