项目需要使用redis6,以为很简单的事情,结果花了大半天才装好,对出现的问题和解决方法做个记录,把经验分享给大家。
一、下载redis6最新版本
当然要去官网啦 https://redis.io/
现在是2020年6月,最新版本是6.0.5,还很新鲜,快来!
二、第一次尝试安装
上传到服务器,解压,放到一个临时目录就可以
按说明安装只需要两步
make
make install
tar -xf redis-6.0.5.tar.gz
cd redis-6.0.5/
make
真这么简单?天真。咔 redis编译报错!
上网一查,gcc版本问题
检查gcc版本:
gcc -v
gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)
很不幸,redis6要求gcc版本要高于5,所以还得先安装高版本gcc环境。
这是个很漫长的过程,建议做好心理准备。网络好处理器给力的话一小时以内能装好。虚拟机环境可能需要几小时吧。
三、安装高版本gcc环境
如果服务器能联网还好,直接按以下步骤操作。
# 获取安装包
wget http://ftp.gnu.org/gnu/gcc/gcc-6.1.0/gcc-6.1.0.tar.gz
# 解压
tar -zvxf gcc-6.1.0.tar.gz --directory=/usr/local/
cd /usr/local/gcc-6.1.0
# 获取依赖
./contrib/download_prerequisites
mkdir build && cd build
../configure -disable-checking -enable-languages=c,c++ -disable-multilib
# 编译和安装
make -j4 && make install
以上我没试过,因为我的服务器连不上外网。 = =
下面我来讲离线安装gcc7.1的过程。
首先,下载gcc安装包并上传到服务器,解压到/usr/local/目录下。
# 解压
tar -zvxf gcc-7.1.0.tar.gz --directory=/usr/local/
cd /usr/local/gcc-7.1.0/
# 查看gcc6.1需要的依赖版本
vi contrib/download_prerequisites
需要依赖以下软件版本
附:
gmp下载链接:http://ftp.gnu.org/pub/gnu/gmp/
mpfr下载链接:http://mirror.hust.edu.cn/gnu/mpfr/
mpc下载链接:http://ftp.gnu.org/gnu/mpc/
isl 下载链接:http://www.mirrorservice.org/sites/sourceware.org/pub/gcc/infrastructure/
注意,依赖包一定要是指定版本的,否则会出问题。下载好依赖包,直接解压到/usr/local/gcc-7.1.0/ 目录,然后设置软链接:
ln -sf gmp-6.1.0 gmp
ln -sf mpfr-3.1.4 mpfr
ln -sf mpc-1.0.3 mpc
ln -sf isl-0.16.1 isl
更新gcc
#创建编译目录
mkdir build && cd build
#配置编译参数
../configure --prefix=/usr/local/gcc-7.1.0 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++
#多线程编译,耗时较长大概半小时-一小时吧
make -j4
make install
安装完成没有error即安装成功,会在gcc目录下生成bin目录,里面会有gcc g++等执行文件
但是gcc的环境变量还没有设置好,因此要设置环境变量
# 备份原有的gcc4.8.5
mkdir /usr/local/gcc485backup
mv /usr/bin/{gcc,g++} /usr/local/gcc485backup
# 创建软链接
ln -s /usr/local/gcc-7.1.0/bin/gcc /usr/bin/gcc
ln -s /usr/local/gcc-7.1.0/bin/g++ /usr/bin/g++
# 查看版本:
gcc -v
如果显示gcc-7.1.0,则安装成功。
四、安装redis6
下面就简单了,进入redis目录,安装。
make
make install
# 将安装好的redis移动到新目录
cp bin/* /opt/redis6/
cp redis.conf /opt/redis6
cd /opt/redis6
# 创建日志和数据目录
mkdir logs
mkdir data
修改Redis配置
可修改日志和持久化目录、io-线程数、密码等常用配置
vi redis.conf
#bind 127.0.0.1
# 后台运行
daemonize yes
# 修改密码
requirepass love2020
# 日志
logfile "/opt/redis6/logs/redis.log"
# 快照文件位置
dir /opt/redis6/data/
为发挥redis6的多线程读写能力,需修改以下配置:
io-threads-do-reads yes
io-threads 6
线程数可设置为CPU核心数的3/4.查看服务器核心数:
lscpu
启动Redis
./redis-server redis.conf
ps -ef | grep redis
然后就可以使用redis客户端测试连接redis和存取数据。
Redis6安装成功,可以愉快地玩耍啦!