安装reids
预备工作:安装编译工具
yum install wget make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel kernel keyutils patch perl
首次安装,要先安装tcl组件包(安装Redis需要tcl支持)
wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz tar zxvf tcl8.6.1-src.tar.gz #解压 cd tcl8.6.1 #进入安装目录 cd unix make
安装redis(下载所需的redis版本)
解压redis,到相应 的目录下面(我mv到了/usr/local/下面)
mv redis-?-?/usr/local/redis make #编译 make install #安装
如果make redis出现
安装报错 error: jemalloc/jemalloc.h: No such file or directory
解决方法:make MALLOC=libc (原因:http://www.phperz.com/article/14/1219/42002.html)
测试启动redis(/usr/local/src):
./redis-server &
/usr/local/bin应有如下文件
redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server
如果没有:
cd /usr/local/bin #查看是否有下面文件,如果没有,拷贝下面文件到/usr/local/bin目录 cd /usr/local/redis mkdir -p /usr/local/bin cp -p redis-server /usr/local/bin cp -p redis-benchmark /usr/local/bin cp -p redis-cli /usr/local/bin cp -p redis-check-dump /usr/local/bin cp -p redis-check-aof /usr/local/bin
配置redis的启动配置文件,主要是配置后台启动:
#添加配置文件软连接 ln -s /usr/local/redis/redis.conf /etc/redis.conf vim /etc/redis.conf #编辑 daemonize yes #设置后台启动redis :wq! #保存退出
启动及关闭命令
redis-server /etc/redis.conf #启动redis服务(根据/etc/redis.conf这个配置文件,启动) redis-cli shutdown #关闭redis
查看其运行情况
#后台运行情况 ps -ef | grep redis #根绝端口查 默认端口 6379 netstat -lntp | grep 6379
配置服务方式启动redis:
启动脚本,在Redis安装目录下的/utils/ ,有一个Redis的启动脚本redis_init_script ,内容如下
#!/bin/sh # # Simple Redis init.d script conceived to work on Linux systems # as it does use of the /proc filesystem. #redis服务器监听的端口 REDISPORT=6379 #服务端所处位置,在make install后默认存放与`/usr/local/bin/redis-server`,如果未make install则需要修改该路径,下同。 EXEC=/usr/local/bin/redis-server CLIEXEC=/usr/local/bin/redis-cli #Redis的PID文件位置 PIDFILE=/var/run/redis_${REDISPORT}.pid #配置文件位置,需要修改 CONF="/etc/redis/${REDISPORT}.conf" case "$1" in start) if [ -f $PIDFILE ] then echo "$PIDFILE exists,process is already running or crashed" else echo "Starting Redis server..." $EXEC $CONF fi ;; stop) if [ ! -f $PIDFILE ] then echo "$PIDFILE does not exist,process is not running" else PID=$(cat $PIDFILE) echo "Stopping ..." $CLIEXEC -p $REDISPORT shutdown while [ -x /proc/${PID} ] do echo "Waiting for Redis to shutdown ..." sleep 1 done echo "Redis stopped" fi ;; *) echo "Please use start or stop as first argument" ;; esac
配置环境:
1. 根据启动脚本要求,将修改好的配置文件以端口为名复制一份到指定目录。需使用root用户。
mkdir /etc/redis cp redis.conf /etc/redis/6379.conf
2. 将启动脚本复制到/etc/init.d目录下,本例将启动脚本命名为redisd(通常都以d结尾表示是后台自启动服务)。
cp redis_init_script /etc/init.d/redisd
3. 设置为开机自启动
此处直接配置开启自启动 chkconfig redisd on 将报错误: service redisd does not support chkconfig
参照 此篇文章 ,在启动脚本开头添加如下两行注释以修改其运行级别:
#!/bin/sh # chkconfig: 2345 90 10 # description: Redis is a persistent key-value database #
再设置即可成功。
#设置为开机自启动服务器 chkconfig redisd on #打开服务 service redisd start #关闭服务 service redisd stop
设置redis密码
编辑redis的配置文件
vim/etc/redis/6379.conf
# requirepass foobared去掉注释,foobared改为自己的密码
然后重启 Redis
测试连接:
redis-cli -h 127.0.0.1 -p 6379
输入命令 会提示(error) NOAUTH Authentication required。这是属于正常现象。
输入 auth????? #你刚才设置的密码即可