Linux下centos6.4安装redis

准备工作:

环境: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-cli shutdown


注意:前端启动的问题:一旦客户端关闭,则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 5071
正常关闭:./redis-cli shutdown
查看是否启动成功
ps -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
注意:
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"

这些参数替换成自己的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常见配置:
daemonize no
redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程,当启动redis以后台方式的时候需要修改该参数为yes即daemoniz yes
pidfile /var/run/redis.pid
当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定
port 6379
指定Redis监听端口,默认端口为6379,可以修改redis默认端口号
bind 127.0.0.1
绑定的主机地址,启动redis禁用该项,表示任意IP连接,否则redis客户端连接不上。
timeout 0
当客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能,如设置timeout 300
loglevel verbose
指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning,默认为verbose
databases 16
设置数据库的数量,默认数据库为16,可以使用SELECT <dbid>命令在连接上指定数据库id,使用select加上数据库的下标就可以选择指定的数据库来使用,下标从0开始
save <seconds> <changes>
指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合
Redis默认配置文件中提供了三个条件:
save 900 1
save 300 10
save 60 10000
分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改。redis默认持久化方式Rdb修改该配置
dir ./
指定本地数据库存放目录,也是redis默认持久化文件存储目录
appendonly no
指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。因为redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认为no
redis另一种持久化方式为Aof,则想要启用Aof方式必须设置appendonly yes
slaveof <masterip> <masterport>
设置当本机为slav服务时,设置master服务的IP地址及端口,在Redis启动时,它会自动从master进行数据同步,redis主从复制设置该参数,在从服务器上设置
masterauth <master-password>
当master服务设置了密码保护时,slav服务连接master的密码
requirepass foobared
设置Redis连接密码,如果配置了连接密码,客户端在连接Redis时需要通过AUTH <password>命令提供密码,默认关闭
maxclients 128
设置同一时间最大客户端连接数,默认无限制,Redis可以同时打开的客户端连接数为Redis进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis会关闭新的连接并向客户端返回max number of clients reached错误信息


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值