参考文章:
Linux下redis的安装 //这篇文章比较详细比较详细
redis第二篇:Centos下配置Redis开机启动 //简单直接
linux下安装redis与启动,及后台启动redis //作为补充
一:安装redis
- 希望将redis安装到"/usr/local/redis"目录
mkdir /usr/local/redis
- 下载redis
wget http://download.redis.io/releases/redis-5.0.3.tar.gz
该阶段的问题:
– wget:命令未找到
yum install wget
- 解压tar包
tar xzf redis-2.6.14.tar.gz
- 建立一个软链接,方便后续操作,可省略
ln -s redis-2.6.14 redis
- 安装
cd redis
make PREFIX=/usr/local/redis install #安装到指定目录中
该阶段问题:
– gcc:命令未找到
yum install gcc
–jemalloc/jemalloc.h:没有那个文件或目录
make MALLOC=libc
在安装redis成功后,你将可以在/usr/local/redis/bin可以看到以下文件:
redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server
二:启动redis
- 普通启动
/usr/local/redis/bin/redis-server
- 后台启动,需要更改redis.conf文件
cd /usr/local/src/redis # tar包解压后的那个目录
vi redis.conf # 编辑配置文件
/daemonize # 找到daemonize参数,该参数设置redis是否为后台启动,将参数值设置为yes,仅Linux系统下有效,保存并退出vi
/usr/local/redis/bin/redis-server /usr/local/src/redis/redis.conf #指定配置文件启动,该配置文件将redis设为后台启动
三:开启启动redis
- 在redis的解压文件夹的utils目录中有redis的初始化脚本redis_init_script,将改脚本复制到etc/rc.d/init.d目录,bin更名为redis方便操作
cp /usr/local/src/redis/utils/redis_init_script /etc/rc.d/init.d/redis
ps: /etc/rc.d/init.d/目录下的脚本就类似与windows中的注册表,在系统启动的时候某些指定脚本将被执行
- 修改脚本,主要是修改EXEC和CLIEXEC两个参数,分别对应redis-server和redis-cli的路径
EXEC=/usr/local/redis/bin/redis-server # 根据实际情况修改
CLIEXEC=/usr/local/redis/bin/redis-cli # 根据实际情况修改
ps:完整的脚本文件
#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
### BEGIN INIT INFO
# Provides: redis_6379
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Redis data structure server
# Description: Redis data structure server. See https://redis.io
### END INIT INFO
REDISPORT=6379
EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/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 shutdown
while [ -x /proc/${PID} ]
"redis" 50L, 1364C
$CLIEXEC -p $REDISPORT 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
- 将redis配置文件拷贝到/etc/redis/${REDISPORT}.conf
mkdir /etc/redis
cp /usr/local/src/redis/redis.conf /etc/redis/6379.conf
ps:拷贝过来之后需要将daemonize参数更改为yes,因为将redis做成服务启动,也是调用redis-server,如果想让它在后台运行,那么需要将 daemonize no 改为 daemonize yes
- 注册yedis服务:
chkconfig --add redis
- 启动redis服务
service redis start
该阶段问题:
– /var/redis/run/redis_6379.pid exists, process is already running or crashed
进入到/var/redis/run/ 目录,删除redis_6379.pid文件
四: 将Redis的命令添加PATH中
- 修改profile文件:
vi /etc/profile
- 在最后行追加:
export PATH="$PATH:/usr/local/redis/bin"
3.应用这个文件:
. /etc/profile