一、下载redis
redis中文官网:redis中文官网
redis官网和中文网的最新版本不一致按需下载即可。
二、安装redis
将redis的压缩包上传到linux系统中,建议存放在/opt目录下。上传可以使用Xftp。
解压:tar -zxvf redis-6.0.6.tar.gz
[root@izbp198rtvi9jbqddkri25z server]# tar -zxvf redis-6.0.6.tar.gz安装环境
[root@izbp198rtvi9jbqddkri25z redis-6.0.6]# yum install gcc-c++查看gcc版本:gcc -v
[root@izbp198rtvi9jbqddkri25z redis-6.0.6]# 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-44) (GCC)如果安装的是redis6.0及以上版本,gcc的版本需要5.0以上,而之前安装的gcc版本是4.8.5的,所以需要更新gcc版本。依次执行以下命令:
[root@izbp198rtvi9jbqddkri25z redis-6.0.6]# yum -y install centos-release-scl
[root@izbp198rtvi9jbqddkri25z redis-6.0.6]# yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
[root@izbp198rtvi9jbqddkri25z redis-6.0.6]# scl enable devtoolset-9 bash
[root@izbp198rtvi9jbqddkri25z redis-6.0.6]# echo “source /opt/rh/devtoolset-9/enable” >>/etc/profile使用gcc -v查看版本可以发现,版本已经成功更新为9.3.1
[root@izbp198rtvi9jbqddkri25z redis-6.0.6]# 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.3.1-20200408/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
gcc version 9.3.1 20200408 (Red Hat 9.3.1-2) (GCC)再次执行make可以发现make成功
[root@izbp198rtvi9jbqddkri25z redis-6.0.6]# make
...
CC lolwut.o
CC lolwut5.o
CC lolwut6.o
CC acl.o
CC gopher.o
CC tracking.o
CC connection.o
CC tls.o
CC sha256.o
CC timeout.o
CC setcpuaffinity.o
LINK redis-server
INSTALL redis-sentinel
CC redis-cli.o
LINK redis-cli
CC redis-benchmark.o
LINK redis-benchmark
INSTALL redis-check-rdb
INSTALL redis-check-aof
Hint: It's a good idea to run 'make test' ;)
make[1]: Leaving directory `/alidata/server/redis-6.0.6/src'然后执行make install命令
[root@izbp198rtvi9jbqddkri25z redis-6.0.6]# make install
cd src && make install
make[1]: Entering directory `/alidata/server/redis-6.0.6/src'
CC Makefile.dep
make[1]: Leaving directory `/alidata/server/redis-6.0.6/src'
make[1]: Entering directory `/alidata/server/redis-6.0.6/src'
Hint: It's a good idea to run 'make test' ;)
INSTALL install
INSTALL install
INSTALL install
INSTALL install
INSTALL install
make[1]: Leaving directory `/alidata/server/redis-6.0.6/src'redis的默认安装位置是/usr/local/bin
[root@izbp198rtvi9jbqddkri25z redis-6.0.6]# cd /usr/local/bin/
[root@izbp198rtvi9jbqddkri25z bin]# ls
event_rpcgen.py iconv libmcrypt-config pcre-config pcregrep pcretest redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server/usr/local/bin目录下新建myconfig文件夹,用于存放redis.conf文件
执行mkdir myconfig
执行cp /opt/redis-6.0.6/redis.conf
[root@izbp198rtvi9jbqddkri25z bin]# mkdir myconfig
[root@izbp198rtvi9jbqddkri25z bin]# cp /alidata/server/redis-6.0.6/redis.conf myconfig/redis.conf三、配置redis
执行vim redis.conf修改配置文件
把文件中的daemonize属性改为yes(表明需要在后台运行)
daemonize yes
把 redis.conf配置文件中的 bind 127.0.0.1 这一行给注释掉,这里的bind指的是只有指定的网段才能远程访问这个redis,注释掉后,就没有这个限制了。
bind 127.0.0.1
把 redis.conf配置文件中的 protected-mode 设置成no(默认是设置成yes的, 防止了远程访问,在redis3.2.3版本后)
protected-mode no
修改Redis默认密码 (默认密码为空),在配置文件中找到这一行 # requirepass foobared,删除前面的注释符号#,并把foobared修改成自己的密码 或者 另起一行 requirepass 自己的密码
requirepass 123456
四、启动redis
1、 执行redis-server myconfig/redis.conf命令启动redis服务
myconfig/redis.conf指定使用我们自己配置的配置文件启动服务
2、 执行ps -ef|grep redis命令查看redis是否启动
3、执行redis-cli -p 6379命令启动客户端连接服务端
五、配置开机自启动
[root@localhost ~]# vim /etc/init.d/redis脚本内容
#!/bin/sh
# chkconfig: 2345 90 10
# description: Start and Stop redis
REDISPORT=6379 #默认端口
EXEC=/usr/local/bin/redis-server #EXEC:redis文件夹所在的redis-server所在路径
CLIEXEC=/usr/local/bin/redis-cli #CLIEXEC:redis文件夹所在的redis-cli所在路径
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/usr/local/bin/myconfig/redis.conf" #CONF:redis启动所用的配置文件
case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed"
else
echo "Starting Redis server..."
$EXEC $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 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完成之后,添加权限:
[root@localhost ~]# chmod 777 /etc/init.d/redis设置开机自启动:
[root@localhost ~]# chkconfig redis on启动redis命令:
[root@localhost ~]# service redis start五,外界访问
- 查看防火墙对外监听端口: iptables-save
开放端口6379:
shell firewall-cmd --zone=public --add-port=6379/tcp --permanent然后需要重载防火墙命令如下:
shell firewall-cmd --reload

发表评论 取消回复