我想在Linux虚拟机上安装redis,有两个需要注意的地方:
1、安装时需要进行编译操作,确保你的虚拟机里面安装了gcc编译器,安装的命令是yum install gcc,查看gcc环境是否安装好的命令是rpm -qa | grep gcc。
2、默认的安装的gcc的版本是4.8.5,如果你的redis版本是6.xxx版本的,那么它编译的时候就会报错,错误信息如下所示,解决的办法有两个:第一个方法就是换个低版本的redis(5.0.8就可以),第二个方法就是升级gcc的版本,升级gcc的命令如下所示:
#1、安装scl,它可以在不覆盖原有软件包的情况下与其共存,缺点就是仅支持64位 yum -y install centos-release-scl #2、安装gcc,其中的9表示大版本号,默认安装大版本下的最新稳定版本 yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils #3、使用以下命令临时启动gcc,这种方式适用于临时切换系统的gcc版本,即开即用,仅在当前bash中有效,重启虚拟机就又变成4.8.5了 scl enable devtoolset-9 bash #4、使用以下命令永久启动gcc,这种方式适用于长期使用该版本进行编译,切换bash依然有效 echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile #查看gcc环境 gcc -v官网的地址为:https://download.redis.io/releases/,下载适合自己的版本,并将安装包复制到Linux的usr/local目录下下。
进入到解压后的文件夹内,执行编译操作
cd redis-6.0.4 make将安装包里面的redis.conf的文件复制到redis的安装目录下,这是redis启动时需要的配置文件
cp /usr/local/redis-6.0.4/redis.conf /usr/local/redis/执行redis里的bin目录下的redis-server命令
redis-server
设置redis服务程序在后台运行,修改redis文件夹里面的redis.conf文件
vim /usr/local/redis/redis.conf #修改为yes,后台启动 daemonize yes进入redis目录,然后加载配置文件redis.conf运行
cd /usr/local/redis ./bin/redis-server ./redis.conf修改redis下的redis.conf文件,注释取消掉设置账号密码
requirepass 123456指定redis.conf文件重新启动
./bin/redis-server ./redis.conf进入到redis的bin目录下,输入以下命令:
./redis-cli -h 127.0.0.1 -p 6379 -a "123456"我们使用shutdown命令来停止redis,进入到redis的目录下
./bin/redis-cli shutdown编辑完重启一下redis服务
遇到的问题:
当我进行连接的时候,发现Redis desktop manager崩溃了,原因是因为redis处于protected mode,导致无法连接,
修改一下配置就可以了,protected mode功能是redis3.2以后添加的,默认为开启状态。
redis-cli -p 6379 config get protected-mode redis-cli -p 6379 config set protected-mode no注意:需要将6379端口号开放出去
#增加redis端口:6379 sudo firewall-cmd --add-port=6379/tcp --permanent #重新加载防火墙设置 sudo firewall-cmd --reload将Redis配置成为系统服务,以支持开机启动
#创建服务文件 sudo vi /usr/lib/systemd/system/redis.service #文件内容 [Unit] Description=Redis Server After=network.target [Service] ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf --daemonize no ExecStop=/usr/local/redis/bin/redis-cli -p 6379 shutdown Restart=always [Install] WantedBy=multi-user.target #设置Redis服务开机启动 sudo systemctl enable redis #启动Redis服务 sudo systemctl start redis #输入下面的命令即可查看redis是否在后台运行 ps -A | grep redis
