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: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代码等第三方的方式访问。
三选一)。
关闭保护模式的命令为:
> 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