Redis安装和配置教程

1 Linux命令安装

Ubuntu安装:

sudo apt-get install redis-server

CentOS安装需要先安装EPEL源,再从EPEL源安装redis:

yum -y install epel-release
yum -y install redis

点击查看CentOS安装EPEL软件源

2 Linux源码安装

首先要安装依赖工具,

yum install -y gcc-c++ tcl wget      # CentOS
apt-get install gcc-c++ tcl wget     # Ubuntu

在下载Redis源码,官方下载地址为:http://redis.io/download

找到最新版本,然后用下面的命令安装:

wget http://download.redis.io/releases/redis-3.0.7.tar.gz
tar xzf redis-3.0.7.tar.gz
cd redis-3.0.7
make
make install

安装完成后,会在/usr/local/bin目录下生成下面几个可执行文件,作用分别是:

  • redis-server:Redis服务器端启动程序
  • redis-cli:Redis客户端操作工具。也可以用telnet根据其纯文本协议来操作
  • redis-benchmark:Redis性能测试工具
  • redis-check-aof:数据修复工具
  • redis-check-dump:检查导出工具

源码安装还需要手动修改配置文件。

复制配置文件到/etc/目录,并打开:

cp redis.conf /etc/
vi /etc/redis.conf

为了让Redis后台运行,需要修改daemonize配置项为yes

daemonize yes

使Redis进程在后台运行。

3 Windows安装

在Windows系统上安装Redis相比Linux简单。

下载可执行安装文件(exe),双击后根据提示一步步完成安装即可。

Redis Windows版本下载地址:https://github.com/rgl/redis/downloads

4 启动Redis

配置完成后,启动Redis:

cd /usr/local/bin
redis-server /etc/redis.conf

检查启动情况:

ps -ef | grep redis

看到类似下面的一行,表示启动成功:

root     18443     1  0 13:05 ?        00:00:00 ./redis-server *:6379

5 开机启动

Redis开机运行可以将其添加到rc.local文件。

或者将其添加为系统服务,步骤请参考:配置为 Service 系统服务

本文使用rc.local的方式,命令:

echo "/usr/local/bin/redis-server /etc/redis.conf" >> /etc/rc.local

就可以了。

6 启动测试

启动 redis:

$ redis-server
$ ps aux |grep redis

本地测试:

$ redis-cli
127.0.0.1:6379> set foo bar
OK
127.0.0.1:6379> get foo
"bar"

说明 Redis 正常工作了,默认端口是 6379

7 设置密码

默认情况下,访问Redis服务器是不需要密码的,为了增加安全性,我们需要设置Redis服务器的访问密码。设置访问密码为123456

vi打开Redis服务器的配置文件redis.conf

$ sudo vi /etc/redis/redis.conf

# 取消注释 requirepass
requirepass 123456

修改后,重启Redis服务器。

$ sudo /etc/init.d/redis-server restart

未使用密码也可以登陆Redis服务器

$ redis-cli
> keys *
(error) ERR operation not permitted

但无法执行命令。所以,在登陆Redis服务器时,指定输入密码

$  redis-cli -a "123456"
> keys *
1) "key2"
2) "key3"
3) "key4"

登陆后,一切正常。

8 允许远程访问

默认情况下,Redis服务器不允许远程访问,只允许本机访问。

所以我们需要设置打开远程访问的功能,分三步。

8.1 修改配置文件

打开Redis服务器redis.conf配置文件:

$ vi /etc/redis/redis.conf

#注释本地IP绑定,如下:

#bind 127.0.0.1

检查Redis的网络监听端口

$ netstat -nlt|grep 6379
tcp        0      0 0.0.0.0:6379            0.0.0.0:*               LISTEN

看到网络监听从127.0.0.1:3306 变成 0 0.0.0.0:3306,表示Redis已经允许远程登陆访问。

我们在远程的另一台Linux访问Redis服务器

$ redis-cli -h 192.168.1.199 -p 6379 -a "123456"
> keys *
1) "key2"
2) "key3"
3) "key4"

远程终端访问正常。

8.2 允许第三方访问

第一步完成后,Redis还会处于保护模式,可以通过终端远程访问,不能通过PHP代码等第三方的方式访问。

要让第三方方式访问,需要关闭Redis的保护模式,或者设置绑定地址,或者设置密码(三选一)。

关闭保护模式的命令为:

> CONFIG SET protected-mode no                        # 关闭保护模式
> CONFIG REWRITE                                      # 持久保存配置

也可以配置Redis配置文件,设置保护模式为no

或者开启的时候用--protected-mode no参数暂时关闭保护模式。

 8.3 开启端口

首先,需要对公网打开 6379 端口,CentOS7下的命令:

$ firewall-cmd --permanent --zone=public --add-source=192.0.2.10/32   # (可选)设置有权限访问的客户端,不设置允许所有
$ firewall-cmd --permanent --zone=public --add-port=6379/tcp          # 打开 6379 端口
$ firewall-cmd --reload                                               # 重新加载防火墙
$ firewall-cmd --zone=public --list-ports                             # 查看所有打开的端口
$ netstat -anput                                                      # 查看程序启动和端口情况

CentOS6下的命令:

$ iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
$ service iptables save
$ service iptables restart
$ service iptables status

 

参考资料:

  1. CentOS6 安装 Redis
  2. Linux安装配置Redis CentOS下安装Redis
  3. 访问远程Redis服务。Connect to Remote Redis Server

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

昵称 *