Redis6.0安装文档
目录
- 下载安装 Redis 6.0
- 启动并测试
- 安装错误及解决办法
Q;cc: command not found
Q:server.c:xxxx:xx: error: ****** has no member named ****** - 下载安装 Redis 6.0
点击进入 Redis 官网下载,当前最新的稳定版本为 Redis 6.0.4
// 下载 Redis
// 解压在这里插入代码片
tar -zxvf redis-6.0.4.tar.gz
编译安装 (如安装失败请查文末的解决方法)
make && make install PREFIX=/opt/redis6
// 复制一份配置文件到 redis 安装目录
cp redis.conf /opt/redis6
2. 启动并测试
进入 Redis 的安装目录 / bin 目录下,内容如下所示
启动 Redis /opt/redis6/bin/redis-server /opt/redis6/redis.conf &
下面我们打开一个新的 sheel 窗口,并启动 Redis 客户端,使用 get 、set 测试
Redis 客户端可以正常操作,安装成功
既然安装了 Redis 6.0 ,我想你还需要一篇 Redis 6.0 权限控制命令 ACLs 详解
- 安装错误及解决办法
Q;cc: command not found
A:yum -y install gcc
Q:server.c:xxxx:xx: error: ****** has no member named ******
A:gcc 版本低于 5.3 ,需要升级 (请按如下方式升级)
查看当前 gcc 版本
.
[root@LiaNgV2 redis-6.0.4]# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
Target: x86_64-redhat-linux
Configured with: …/configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)
默认的 gcc 版本为:4.8.5 < 5.3
升级 gcc 到 9 +
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
// 临时有效,退出 shell 或重启会恢复原 gcc 版本
scl enable devtoolset-9 bash
// 长期有效
echo “source /opt/rh/devtoolset-9/enable” >>/etc/profile
重新进入 shell,查看 gcc 版本
[root@LiaNgV2 ~]# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/lto-wrapper
Target: x86_64-redhat-linux
Configured with: …/configure --enable-bootstrap --enable-languages=c,c++,fortran,lto --prefix=/opt/rh/devtoolset-9/root/usr --mandir=/opt/rh/devtoolset-9/root/usr/share/man --infodir=/opt/rh/devtoolset-9/root/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --with-default-libstdcxx-abi=gcc4-compatible --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-9.1.1-20190605/obj-x86_64-redhat-linux/isl-install --disable-libmpx --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
.
.
Thread model: posix
安装完配置密码端口修改
安装了redis如果是放到内网,设不设置密码倒是无所谓。但是如果是放到外网去的话,设置密码和修改默认端口还是很有必要的,特别是安装redis的时候是root权限下。这样服务器被攻击是分分钟的事情,所以底下介绍下给redis设置密码和修改端口:
修改密码
一、永久性设置,即在配置里面写入密码(推荐)
在redis的redis.conf配置中找到#requirepass foobared ,去掉‘#’ ,foobared 改成要设置的密码,如:
requirepass test123。这样需要重启下redis的服务,就可设置成功。
二、设置临时新的密码,不需要重启,重启后临时密码无效
进入redis-cli后如下设置
设置密码:127.0.0.1:6379> config set requirepass test123
查询密码:
redis 127.0.0.1:6379> config get requirepass
(error) ERR operation not permitted
密码验证:
redis 127.0.0.1:6379> auth test123
OK
再次查询:
redis 127.0.0.1:6379> config get requirepass
- “requirepass”
- “test123”
ps:
AUTH命令跟其他redis命令一样,是没有加密的;阻止不了攻击者在网络上窃取你的密码;
认证层的目标是提供多一层的保护。如果防火墙或者用来保护redis的系统防御外部攻击失败的话,外部用户如果没有通过密码认证还是无法访问redis的。
修改端口
到redis.conf文件下找到
把这里的6379改成想要的端口,如port 6378,然后重启redis就可以了。我们用redis-cli去访问默认是访问6379端口,所以我们要指定端口,用命令 redis-cli -p 6378 这样就可以成功连接到我们修改后的端口了。