redis是一个nosql数据库,由于高性能的存储能力常用来做分布式缓存中间件。
以下是linux centos7下安装了redis5.x单机版来作为参考,全部使用root用户安装,如果不使用root可以在相应需要权限的地方加上sudo
命令。
首先安装gcc
[root /]# yum -y install gcc-c++
再下载并解压redis
打开redis官网下载redis。可以先复制redis包的链接(文中使用的是redis5.0.8版本),然后在linux服务器上直接下载
//先切换到/tmp目录再下载
[root /]# cd /tmp
[root /tmp]# wget http://download.redis.io/releases/redis-5.0.8.tar.gz
//解压redis包
[root /tmp]# tar -zxvf redis-5.0.8.tar.gz
[root /tmp]# ls
redis-5.0.8 redis-5.0.8.tar.gz
编译安装redis
下载解压后就可以编译了
[root /tmp]# cd redis-5.0.8
// 编译安装redis
[root /tmp/redis-5.0.8]# make && make install
如果没有出现error就说明安装成功了,默认安装在/usr/local/bin目录
//查看redis是否安装完成
[root /]# cd /usr/local/bin
[root /usr/local/bin]# ls
redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server
修改redis默认配置
这个时候就已经安装好了,但我们还需要稍做一些简单的配置让redis使用起来更方便
//新建一个redis目录
[root /]# mkdir /usr/local/redis
//复制reids默认配置文件到redis目录
[root /]# cp /tmp/redis-5.0.8/redis.conf /usr/local/redis/
[root /]# cd /usr/local/redis/
//创建redis工作目录
[root /]# mkdir working
//把默认的redis配置文件明改成redis端口号来方便管理,默认是6379
[root /usr/local/redis/]# mv redis.conf 6379.conf
redis配置文件弄好后再修改一下redis.conf的配置,有四个基本的东西需要修改
- 把redis修改成后台运行,不然ssh一断redis就关闭了
- 修改ip访问限制,redis默认是只能本机修改
- 添加访问密码,因为放开了ip访问限制如果不加密码的话就很容易被黑掉
- 修改redis默认工作目录用户备份和恢复数据
//修改redis配置文件
[root /usr/local/redis/]# vi 6379.conf
可以搜索daemonize
,bind
,requirepass
,dir
四个关键字来找到三个默认配置
# redis默认运行方式:非后台运行
daemonize no
# redis默认绑定ip
bind 127.0.0.1
# redis默认工作目录,可以用来备份和恢复数据
dir ./
# redis默认没有设置密码
# requirepass foobared
把这个四个地方更改成
# 更改redis运行方式:后台运行
daemonize yes
# 更改redis访问ip为不限制
bind 0.0.0.0
# 设置redis工作目录
dir /usr/local/redis/working
# 设置redis密码
requirepass red123456
这样一个单机的redis就配置好了。但redis启动起来并不是很方便,需要加很长一段配置文件路径
redis-server /user/local/redis/6379.conf
把redis做成linux服务
进入redis安装目录找到redis_init_script脚本
//首先进入redis安装包目录
[root /]# cd /tmp/redis-5.0.8/utils
//可以找到一个redis_init_script
[root /tmp/redis-5.0.8/utils/]# ls
... redis_init_script ...
//复制脚本到/etc/init.d/目录
[root /tmp/redis-5.0.8/utils/]# cp redis_init_script /etc/init.d/redisd
这样我们就有了一个redisd的服务,但是需要简单的改一下
//修改脚本
[root /etc/init.d/]# vi /etc/init.d/redisd
下面是默认的,我们需要把redis配置文件路径改对并增加访问密码
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.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
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
#这个地方需要添加访问密码
$CLIEXEC -p $REDISPORT -a $PASSWORD shutdown
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
*)
echo "Please use start or stop as first argument"
;;
esac
改成
# 修改配置文件目录位置
CONF="/usr/local/redis/${REDISPORT}.conf"
# 增加redis访问密码
PASSWORD=red123456
这样就好了,我们启动试一下
[root /]# service redisd start
Starting Redis server...
7136:C 09 Apr 2020 12:26:46.265 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
7136:C 09 Apr 2020 12:26:46.265 # Redis version=5.0.8, bits=64, commit=00000000, modified=0, pid=7136, just started
7136:C 09 Apr 2020 12:26:46.265 # Configuration loaded
启动成功,再使用redis客户端连接一下
[root /]# redis-cli -a red123456
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> get k1
"v1"