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
参考资料: