简介
安装redis 服务有好几种方式,你会如何选择?
系统自带的安装包
现在Linux发行版本基本都是有自带redis安装包的。
安装系统自带的包都会遵循HFS 的规范,配置文件一般是在/etc/redis.conf ,数据目录是在/var/lib/redis ,服务基本都是使用systemd 进行管理了。
REHL/CentOS
yum -y install redis
Debian/Ubuntu
sudo apt update
sudo apt install redis
Archlinux/Manjaro
sudo pacman -S redis
服务管理
systemctl enable redis
systemctl start redis
系统自带的版本,一般都是使用系统自带的glibc 进行编译的,为了稳定性一般不会是最新版本。
自编译安装
自编译安装就比较自由地选择版本, 但是目前redis6 对gcc 的版本要求比较高,有些发行版本需要安装一下新版本的gcc 才能完成编译。
CentOS/RHEL上编译脚本
#!/bin/bash
?
redis_version="6.0.9"
?
install_path="/opt/redis"
?
cd $HOME
?
wget -c -t 0 -T 12000 https://mirrors.huaweicloud.com/redis/redis-${redis_version}.tar.gz
?
tar zxvf redis-${redis_version}.tar.gz
?
cd redis-${redis_version}
?
# 需要高版本的gcc,可以直接使用yum进行安装
yum -y install centos-release-scl
?
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
?
scl enable devtoolset-9 bash
?
make
?
make PREFIX=${install_path} install
自编译完的二进制文件,也可以拷贝到相同的发行版本对应的版本的系统上直接运行,可以二次利用。
docker部署
容器化部署就更简单了
docker pull redis:6.0.9
docker run -itd -p 6379:6379 ? -v /data/redis:/data redis:6.0.9
如果不放心用别人的镜像,我们也可以自己制作一个
docker import https://mirrors.aliyun.com/alpine/v3.12/releases/x86_64/alpine-netboot-3.12.1-x86_64.tar.gz alpine:3.12.1
vim DockerFile
From alpine:3.12.1
ADD https://mirrors.huaweicloud.com/redis/redis-6.0.9.tar.gz /
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories &&\
apk add make gcc g++ linux-headers tar && tar zxvf redis-6.0.9.tar.gz && cd redis-6.0.9 && make && make install &&\
apk del make gcc g++ linux-headers tar && rm -rfv /redis-6.0.9
ENTRYPOINT [ "/usr/local/bin/redis-server","--protected-mode","no" ]
总结
无论用哪种方式部署,都是可以正常使用的,只是维护方式不一样而已。
|