CentOS7安装Redis
注意:centos7安装redis7肯能需要安装python3
注意:centos7安装redis7肯能需要安装python3
注意:centos7安装redis7肯能需要安装python3
安装redis7报错error: ../deps/hiredis/libhiredis.a: No such file or directory的解决办法
1、今天安装redis报错如下:
cc: error: ../deps/hiredis/libhiredis.a: No such file or directory
cc: error: ../deps/lua/src/liblua.a: No such file or directory
cc: error: ../deps/jemalloc/lib/libjemalloc.a: No such file or directory
make[1]: *** [redis-server] Error 1
make[1]: Leaving directory `/data/redis-5.0.7/src'
make: *** [install] Error 2
解决办法如下:
[root@node2 redis-5.0.7]# cd deps
[root@node2 deps]# make lua hiredis linenoise
2、报错如下
cc: error: ../deps/jemalloc/lib/libjemalloc.a: No such file or directory
make[1]: *** [redis-server] Error 1
make[1]: Leaving directory `/data/redis-5.0.7/src'
解决办法如下:
[root@node2 redis-5.0.7]# cd deps/jemalloc/
[root@node2 redis-5.0.7]# ./configure
[root@node2 jemalloc]# make && make install_bin install_include install_lib
这里是使用在线安装包安装,如果是使用下载好的安装包需先上传安装包再安装。
1、下载redis安装包
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
这里注意redis的版本号,可以在浏览器地地址栏里直接输入http://download.redis.io/releases/,可以查看redis的历史版本或者下载。
2、解压压缩包
tar -zxvf redis-5.0.5.tar.gz
如果想直接解压到指定目录的话,可以在命令后后加-C /usr/local/,指定目录。
3、yum安装gcc依赖
可以先通过gcc -v是否有安装gcc,如果没有安装,执行命令:
sudo yum install -y gcc
sudo命令是通过以管理员权限执行该命令。
4、跳转到redis解压目录下
cd /usr/local/redis-5.0.5
5、编译redis并安装
make
make install
如果想在安装的时候指定安装路径,可在make install命令后面加PREFIX=/usr/local/redis参数,指定安装路径。
第1 2条命令可以简写为make && make install
如果在执行1 2条命令的时候出错的话,解决办法是:
make MALLOC=libc
第5步的编译安装也可通过执行下面操作来实现。
make MALLOC=libc
将/usr/local/redis-5.0.5/src目录下的文件加到/usr/local/bin目录
cd src && make install
这里是先在redis的目录下执行cd src命令,跳转到src目录后再执行make install。
6、测试是否安装成功
cd /usr/local/redis-5.0.5/src/
./redis-server
如果出现一个正方体的数据库图形,就已经安装成功了,ctrl+c关闭窗口。
通过上面的方式安装后,在/usr/local/bin目录里会出现redis的相关文件,所以也可以通过进入/usr/local/bin目录,来启动redis。
redis配置
1、以后台进程方式启动redis
修改redis.conf文件
将daemonize no改为daemonize yes
指定redis.conf文件启动
./redis-server /usr/local/redis-5.0.5/redis.conf
./redis-server /usr/local/redis/redis.conf
关闭redis进程
首先使用ps -aux | grep redis查看redis进程
kill -9 18714
2、设置redis远程连接
因为redis默认设置允许本地连接,所以我们要将redis.conf中将bind127.0.0.1改为bind0.0.0.0或者注释该行
另外,阿里云ECS有一个安全组,找到并添加规则允许6379端口访问
3、设置redis连接密码
在redis.conf中搜索requirepass这一行,然后在合适的位置添加配置
requirepass yourpassword
设置完成后执行/usr/local/bin/redis-server /usr/local/redis-4.0.6/redis.conf更新配置
/usr/local/redis/src/redis-server /usr/local/redis/redis.conf
4、设置开机自启动
由于上面我们执行了redis进程启动,通过ps -aux | grep redis查看redis进程,并用kill -9 进程id杀死
在/etc目录下新建redis目录
mkdir /etc/redis
将/usr/local/redis-5.0.5/redis.conf 文件复制一份到/etc/redis目录下,并命名为redis.conf
cp /usr/local/redis-5.0.5/redis.conf /etc/redis/redis.conf
开始编写脚本
#vim /etc/init.d/redis --创建脚本文件
脚本文件内容:
#!/bin/bash
#chkconfig: 22345 10 90
#description: Start and Stop redis
REDISPORT=6379 #redis.conf文件的端口
EXEC=/usr/local/bin/redis-server #redis-server文件的位置
CLIEXEC=/usr/local/bin/redis-cli #redis-cli文件的位置
REDISPWD=123456
PIDFILE=/var/run/redis.pid #进程文件的位置
CONF=/etc/redis/redis.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 # $EXEC表示EXEC的值,命令:/usr/local/bin/redis-server /etc/redis/redis.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 -a $REDISPWD shutdown
#$CLIEXEC -h 192.168.1.22 -p $REDISPORT shutdown #该命令为redis-cli -h ip地址 -p 端口 shutdown
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown..."
sleep 1
done
echo "Redis stopped"
fi
;;
restart)
"$0" stop
sleep 3
"$0" start
;;
*)
echo "Please use start or stop or restart as first argument"
;;
esac
写完需要修改文件权限
#chmod +x /etc/init.d/redis
把脚本添加到系统服务列表
#chkconfig --add redis
#chkconfig redis on
#chkconfig --list //查看所有注册的脚本文件
5、启动reids客户端
服务端启动以后,就可以使用客户端了。
开启客户端,首先进入/usr/local/redis/bin文件夹下:
cd /usr/local/redis/bin
然后,输入./redis-cli
就启动了redis客户端了。默认连接localhost运行在6379端口的redis服务。
如果你要连接远程的redis服务器,请输入:
./redis-cli -h 192.168.25.153 -p 6379
-h:连接的服务器的地址,请修改成你自己的。
-p:服务的端口号,一般都是6379,这是默认的,如果你修改了,请输入修改后的端口。
6、日志输出文件等信息
logfile ""
修改为指定的日志文件
logfile "/var/log/redis/6379.log"
可以直接启动 ./redis-server,这种方式是前端启动方式,可以ctrl+c关闭redis。