Linux安装Redis及配置(超详细)
Linux安装Redis安装安装从官网下载源码安装包,下载地址:http://redis.io/download本教程使用的最新文档版本为 6.2.4
Linux安装Redis及配置(超详细)
安装
从官网下载源码安装包,下载地址:http://redis.io/download
本教程使用的redis版本为 6.2.4
解压
tar -zxvf redis-6.2.4.tar.gz
移动redis目录
一般都会将redis目录放置到 /usr/local/目录下
mv redis-6.2.4 /usr/local/
编译
进入redis-6.2.4文件夹目录,输入命令make执行编译命令
cd /usr/local/redis-6.2.4/
make
编译redis过程中出现一处报错"cc:未找到命令",原因是系统中缺少gcc,安装gcc即可。
安装GCC
yum -y install gcc automake autoconf libtool make
出现以下信息表示安装成功。
重新执行make命令。又出现问题:zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录。
解决方法,执行命令:make MALLOC=libc
make MALLOC=libc
编译终于通过
安装
make PREFIX=/usr/local/redis-6.2.4 install
注意: 这里多了一个关键字PREFIX,这个关键字的作用是编译的时候用于指定程序存放的路径。比如我们现在就是指定了redis必须存放在/usr/local/redis目录。假设不添加该关键字Linux会将可执行文件存放在/usr/local/bin目录,库文件会存放在/usr/local/lib目录,配置文件会存放在/usr/local/etc目录。其他的资源文件会存放在usr/local/share目录。这里指定目录也方便后续的卸载,后续直接rm -rf /usr/local/redis 即可删除redis。
安装完成。
启动redis
根据上面的操作已经将redis安装完成了。在目录/usr/local/redis-6.2.4下启动redis
./bin/redis-server ./redis.conf
启动出现权限不够问题
赋予权限重新运行
chmod 777 bin/redis-server redis.conf
出现如下结果表示redis启动成功
redis.conf配置文件
在目录/usr/local/redis-6.2.4.下有一个redis.conf的配置文件,重要配置项说明如下:
设置其他机器访问
vim /usr/local/redis/redis.conf
这里将daemonize改为yes,将bind中127.0.0.1改为*,将protected-mode设置为no。
这样启动后我就可以在外网访问了。
通过 /daemonize 查找到属性,默认是no,更改为yes即可。 (通过/关键字查找出现多个结果则使用 n字符切换到下一个即可,查找到结果后输入:noh退回到正常模式)
Redis客户端连接
在redis的安装目录下有reds的客户端,即redis-cli(Redis Command Line Interface),它是Redis自带的基于命令行的Redis客户端。命令:redis-cli -h ip地址 -p 端口
./bin/redis-cli
Redis的停止
(1)强制结束程序。使用kill -9 PID,强行终止Redis进程可能会导致redis持久化丢失;
(2)正确停止redis的方式是向redis发送shutdown命令,方法为:(关闭默认端口)
./bin/redis-cli shutdown
设置Redis服务开机自启(其他服务方法类似)
/etc/init.d 目录
1、init.d 目录中存放的是一系列系统服务的管理(启动与停止)脚本。
2、用service命令可执行init.d目录中相应服务的脚本。
例:执行命令“service redis start”,可启动/etc/init.d/redis脚本
3、/etc/init.d是指向/etc/rc.d/init.d的软连接
开机自启动方法
将启动脚本放在 /etc/init.d/ 目录下,再将脚本加入到chkconfig管理中
编写脚本
vim /etc/init.d/redis
复制下面代码到脚本中(注意要修改里面redis的安装路径)
#!/bin/sh
# description: Start and Stop redis
REDISPORT=6379
EXEC=/usr/local/redis-6.2.4/src/redis-server
CLIEXEC=/usr/local/redis-6.2.4/src/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/usr/local/redis-6.2.4/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
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$CLIEXEC -p $REDISPORT shutdown
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
restart)
"$0" stop
sleep 3
"$0" start
;;
*)
echo "Please use start or stop or restart as first argument"
;;
esac
chkconfig管理
将脚本添加到chkconfig,开机自启动
chkconfig --add redis
关闭开机启动
chkconfig redis off
从chkconfig管理中删除脚本
chkconfig --del redis
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)