一、安装
1. 下载地址:Redis下载 建议下载稳定版本(stable)
2. 使用 ftp类软件上传至linux:/home/software/ 目录下
3. 解压
tar -zxvf redis-5.0.5.tar.gz
得到文件夹 redis-5.0.5
4. 安装 gcc 编译环境
yum install gcc-c++
5. 进入到 redis-5.0.5 目录下,进行安装
cd redis-5.0.5/
#编译安装
make && make install
执行完毕后安装成功.
二、配置
1. 创建 /usr/local/redis/ ,用于存放配置文件
mkdir /usr/local/redis -p
2. 将redis配置文件到复制到新创建的目录下
cp redis.conf /usr/local/redis
3. 修改 /usr/local/redis/redis.conf 这个核心配置文件
(1)修改 daemonize no -> daemonize yes,目的是为了让redis启动在linux后台运行
(2)修改redis的工作目录,这里修改为 /usr/local/redis/working
修改后,同时创建该目录
mkdir /usr/local/redis/working
(3)修改如下内容,绑定ip改为0.0.0.0,代表可以让远程连接,不受访问者ip限制
(4)设置密码,默认被注释掉了(即没有密码),这里取消注释
4. 在 /home/software/redis-5.0.5/utils 下,拷贝 redis_init_script 到 /etc/init.d 目录,目的要把redis作为开机自启动
cd /home/software/redis-5.0.5/utils
cp redis_init_script /etc/init.d/
5. 进入 /etc/init.d/ 目录下,修改 redis_init_script 文件中的 redis.conf 的文件位置如下:
6. 为redis启动脚本添加执行权限,随后运行启动redis:
chmod 777 redis_init_script
./redis_init_script start
7. 查看redis进程
至此,redis安装成功!
7. redis关闭命令
./redis_init_script stop
不过会提示没有权限:
所以需要在redis_init_script文件中的关闭指令的那部分代码处加上密码
然后就能使用 ./redis_init_script stop 进行关闭了。
9. 设置redis开机自启动,修改redis_init_script, 添加如下内容(必须要有注释“#”)
#chkconfig: 22345 10 90
#description: Start and Stop redis
随后执行如下操作:
chkconfig redis_init_script on
重启服务器,再看进程
至此,结束。
完整的 /etc/init.d/redis_init_script 如下:
#!/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
#chkconfig: 22345 10 90
#description: Start and Stop redis
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/usr/local/redis/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 -a "didiok" -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