安装环境:CentOS6.5 64位、Redis3.2
一、源码安装
1> 解压、编译并安装
redis官网下载地址:http://redis.io/download
wget http://download.redis.io/releases/redis-3.2.0.tar.gz
tar -zxvf redis-3.2.0.tar.gz -C /usr/local/src
cd redis-3.2.0
make && make install
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
make时如果遇到zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory错误,用make MALLOC=libc && make install
重新安装
2> 设置系统环境变量
redis安装完成后,redis-server、redis-cli等程序默认安装在/usr/local/src/redis-3.2.0/src目录中,我们需要将它安装到系统搜索路径,并安装为系统服务,方便在任何终端访问,并且开机自动启动。
cd /usr/local/src/redis-3.2.0/utils
./install_server.sh
- 1
- 2
- 1
- 2
执行install_server.sh会提示你输入redis配置文件、日志文件、数据目录和redis-server的存储位置,如果不需要修改路径,直接回车即可。如上图中,默认的redis配置文件为/etc/redis/6379.conf,我改成了/etc/redis/redis.conf。日志文件路径、数据目录、redis-server和redis-cli依次安装到了/var/log/redis.log、/var/lib/redis/data、/usr/local/bin/redis-server和/usr/local/bin/redis-cli路径中。
3> 配置
3.1、 修改默认服务名称
执行install_server.sh命令后,默认redis的服务名称为redis_6379,不方便记忆。将/etc/rc.d/init.d/redis_6379修改成/etc/rc.d/init.d/redis即可
service redis_6379 stop # 先停止redis服务
mv /etc/rc.d/init.d/redis_6379 /etc/rc.d/init.d/redis
service redis start # 启动服务
# 开机启动
chkconfig --add redis
chkconfig redis on
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
3.2、 修改绑定IP
redis默认绑定的IP是127.0.0.1,所以其它机器是无法连接的。将其绑定为本机的所有网卡IP即可(有些机器可能有多个IP)。打开/etc/redis/redis.conf配置文件,找到bind 127.0.0.1配置项,修改成bind 0.0.0.0即可。如下图所示:
3.3、设置连接密码
redis默认连接不需要密码,表示任何人都可以连接这台redis server进行数据的修改,不太安全。打开/etc/redis/redis.conf配置文件,找到requirepass foobared,打开注释,修改foobared为你自己的密码。比如我的redis server密码修改为:yangxin。如下图所示:
在防火墙中开启6379端口。
/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT #开启6379端口
/etc/rc.d/init.d/iptables save #保存配置
/etc/rc.d/init.d/iptables restart #重启服务
redis服务器设置密码后,使用service redis stop 会出现以下信息:
service redis stop
Stopping ...
OK
(error) NOAUTH Authentication required.
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
出现这样的错误信息,redis 这时是没有停止服务的。可以使用ps -ef | grep redis 查进程号 然后kill 掉。
解决办法:
修改redis服务脚本,vi /etc/init.d/redis,在stop方法中修改如下一句
$CLIEXEC -a "password" -p $REDISPORT shutdown
注意:修改redis.conf配置之后,要重新启动服务使其生效。
service redis restart
- 1
- 1
登录:
redis-cli -h <your ip> -p <port> -a <your password>
#示例:
redis-cli -h 192.168.248.126 -p 6379 -a 123456
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4