准备工作:
环境:linux
系统:centos6.4-x86-x64
安装工具:redis-3.2.11.tar.gz
软件下载:redis官网下载
redis是用C语言编写的,故先检查是否安装了gcc,若没有则安装gcc
#检查是否安装了gcc
rpm -q gcc
#安装gcc
yum -y install gcc-c++
将压缩文件通过xft5工具上传至/opt下,解压到指定目录下,删除压缩包
#创建目录用于存放redis安装目录
mkdir redis
#解压redis压缩包到指定目录下
tar -zxvf redis-3.2.11.tar.gz -C /opt/redis
#删除压缩包
rm -rf redis-3.2.11.tar.gz
redis安装:
#进入redis安装目录然后编译
cd /opt/redis/redis-3.2.11
make
#进入redis安装目录下的src里面进行redis安装
cd /opt/redis/redis-3.2.11/src
make install
启动redis:
前端启动方式:
cd /opt/redis/redis-3.2.11/src
./redis-server
强制关闭:Ctrl+c注意:前端启动的问题:一旦客户端关闭,则redis服务也停掉。
后端启动方式:#首先将配置文件复制到src目录下
cd /opt/redis/redis-3.2.11
cp redis.conf src/
#修改redis.conf文件,将daemonize改为yes,修改端口号,注释掉bing127.0.0.1
vim redis.conf
port=18889
daemonize yes
#bind 127.0.0.1
#启动redis服务从后台启动,并且指定启动配置文件
./redis-server redis.conf
强制关闭:kill -9 5071ps -ef | grep redis
查看该端口有没有占用 netstat -tunpl | grep 18889
注意:这里一定要注释掉bind 127.0.0.1,允许任何IP地址连接redis服务器,否则redis客户端连接不上
配置redis自启动(可根据需要配置)
touch /etc/init.d/redis
vi /etc/init.d/redis
输入如下内容:
#!/bin/bash
# Startup script for the redis
# chkconfig: 2345 80 90
# description: The redis daemon is a network memory cache service.
# processname: redis
# pidfile: /var/run/redis.pid
REDISPORT=18889
EXEC=/opt/redis/redis-3.2.11/src/redis-server
CLIEXEC=/opt/redis/redis-3.2.11/src/redis-cli
PIDFILE=/var/run/redis.pid
CONF="/opt/redis/redis-3.2.11/src/redis.conf"
RETVAL=0
prog="redis"
# Source function library.
. /etc/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -x $EXEC ] || exit 0
# Start redis daemons functions.
start() {
if [ -f $PIDFILE ];then
echo "$PIDFILE exists, process is already running or crashed"
exit 1
fi
echo $"Starting $prog: "
$EXEC $CONF &
RETVAL=$?
return $RETVAL
}
# Stop redis daemons functions.
stop() {
if [ ! -f $PIDFILE ];then
echo "$PIDFILE exists, process is already running or crashed"
exit 1
fi
echo -n $"Stopping $prog: "
PID=$(cat $PIDFILE)
$CLIEXEC -p $REDISPORT shutdown
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "redis stopped"
RETVAL=$?
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
;;
*)
echo $"Usage: $prog {start|stop|restart|reload}"
exit 1
esac
exit $RETVAL
将创建的/etc/init.d/redis文件添加权限,设置自启动
#增加redis服务控制脚本执行权限
chmod +x /etc/init.d/redis
#通过chkconfig命令将redis服务加入到自启动服务中
chkconfig --add redis
#开启自启动服务
chkconfig redis on
#查看是否添加成功
chkconfig --list redis
注意:这些参数替换成自己的redis安装目录
若配置了redis自启动方式则可以使用服务方式启动redis
#启动redis
service redis start
#停止redis
service redis stop
#查看redis是否启动成功
ps -ef|grep redis
查看该端口有没有占用
netstat -tunpl | grep 18889
配置redis环境变量
vim /etc/profile
export PATH=$PATH:$JAVA_HOME/bin:/opt/redis/redis-3.2.11/src
设置环境变量立即生效
source /etc/profile
这样就可以直接调用redis-cli的命令了,如下所示:
redis图形客户端:
redis-desktop-manager是redis图形客户端,可以直接服务器redis
软件下载地址:redis客户端
客户端连接redis:(本人redis客户端版本:redis-desktop-manager-0.9.1.771.exe)
客户端连接失败是因为linux防火墙没有对外开放redis端口号
查看是否开启18889端口号
netstat -an|grep 18889
解决方法:
方法一:直接关闭防火墙
chkconfig iptables off #重启后永久生效
方法二:开启防火墙的情况下,通过命令方式或者配置文件方式开放防火墙对外端口
#开启防火墙
chkconfig iptables on
#开启18889端口号
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 18889 -j ACCEPT
#保存开启的端口号
service iptables save
#重新启动防火墙
service iptables restart
通过修改配置文件开启端口号
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 18889 -j ACCEPT
#重新启动防火墙
service iptables restart
测试客户端连接成功(若客户端连接不上可以参考:redis连接客户端异常)
补充:
redis常见配置: