一、操作系统环境说明
[root@node31 ~]# cat /etc/redhat-release;uname -r;uname -m; CentOS Linux release 7.5.1804 (Core) 3.10.0-862.el7.x86_64 x86_64 [root@node31 ~]# firewall-cmd --state ## 查看firewall墙的状态 not running [root@node31 ~]# free -h ## 查看当前系统可用的内容 total used free shared buff/cache available Mem: 1.8G 113M 1.3G 17M 384M 1.5G Swap: 2.0G 0B 2.0G [root@node31 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 47G 1.6G 46G 4% / devtmpfs 899M 0 899M 0% /dev tmpfs 911M 0 911M 0% /dev/shm tmpfs 911M 18M 894M 2% /run tmpfs 911M 0 911M 0% /sys/fs/cgroup /dev/sdb1 100G 54M 100G 1% /data ## 一会把软件安装在该目录挂载的磁盘下 /dev/sda1 1014M 142M 873M 14% /boot tmpfs 183M 0 183M 0% /run/user/1000 [root@node31 ~]# ifconfig ens33|awk -F " " 'NR==2{print $2}' ## 外网IP地址 10.0.0.31 [root@node31 ~]# ifconfig ens34|awk -F " " 'NR==2{print $2}' ## 内网IP地址 172.16.1.31
二、软件及实例部署规划
/data/apps # 该目录下安装Redis软件,安装后就是/data/apps/redis /data/redis/6379 # 该目录下部署Redis 6379实例 /data/redis/6379/conf # 存放redis 6379实例的配置文件 /data/redis/6379/data # 存放redis 6379实例的持久化数据 /data/redis/6379/logs # 存放redis 6379实例的日志文件 /data/redis/6379/run # 存放redis 6379实例的pid和socket文件
三、准备的配置文件内容
这里就不对相关的参数文件进行说明了,可以在博文https://www.cnblogs.com/chenliangc/p/12324731.html处进行查看
## Basic parameters bind 172.16.1.31 protected-mode yes port 6379 maxmemory 1GB requirepass chenliang daemonize yes databases 16 syslog-enabled no loglevel notice logfile /data/redis/6379/logs/redis.log pidfile /data/redis/6379/run/redis.pid unixsocket /data/redis/6379/run/redis.sock ## Client maxclients 10000 timeout 300 tcp-backlog 511 tcp-keepalive 60 ## RDB Persistence save 900 1 save 300 10 save 60 10000 rdbcompression yes dir /data/redis/6379/data/ dbfilename dump.rdb rdbchecksum yes
四、Redis软件的安装
## 创建redis用户(需要设置密码,需要远程登录,需要有家目录,不要让其用户和密码过期) [root@node31 ~]# chattr -i /etc/passwd /etc/shadow /etc/group /etc/gshadow [root@node31 ~]# useradd redis [root@node31 ~]# echo "redis"|passwd --stdin redis Changing password for user redis. passwd: all authentication tokens updated successfully. [root@node31 ~]# chattr -i /etc/passwd /etc/shadow /etc/group /etc/gshadow ## 安装相关的依赖包 [root@node31 ~]# yum -y install gcc gcc-c++ make [root@node31 ~]# rpm -qa install gcc gcc-c++ make gcc-4.8.5-39.el7.x86_64 gcc-c++-4.8.5-39.el7.x86_64 make-3.82-24.el7.x86_64 ## 创建相关的目录 [root@node31 ~]# mkdir /data/apps [root@node31 ~]# ls -ld /data/apps/ drwxr-xr-x 2 root root 6 Feb 19 09:01 /data/apps/ ## 上传软件包,进行安装 [root@node31 ~]# mkdir tools [root@node31 ~]# cd tools [root@node31 tools]# rz [root@node31 tools]# ll redis-4.0.14.tar.gz -rw-r--r-- 1 root root 1740967 Oct 26 14:54 redis-4.0.14.tar.gz [root@node31 tools]# tar xf redis-4.0.14.tar.gz [root@node31 tools]# cd redis-4.0.14 [root@node31 redis-4.0.14]# make PREFIX=/data/apps/redis-4.0.14 install [root@node31 redis-4.0.14]# ls -ld /data/apps/redis-4.0.14/ drwxr-xr-x 3 root root 17 Feb 19 09:06 /data/apps/redis-4.0.14/ ## 做软链接并更改属主/组 [root@node31 redis-4.0.14]# ln -sv /data/apps/redis-4.0.14/ /data/apps/redis ‘/data/apps/redis’ -> ‘/data/apps/redis-4.0.14/’ [root@node31 redis-4.0.14]# chown -R redis:redis /data/apps/redis/ [root@node31 redis-4.0.14]# ls -ld /data/apps/redis/ drwxr-xr-x 3 redis redis 17 Feb 19 09:06 /data/apps/redis/ ## 配置环境变量 [root@node31 redis-4.0.14]# echo "PATH=/data/apps/redis/bin:$PATH" >>/etc/bashrc [root@node31 redis-4.0.14]# source /etc/bashrc [root@node31 redis-4.0.14]# which redis-cli /data/apps/redis/bin/redis-cli
五、部署一个Redis实例
## 创建redis 6379实例的相关目录 [root@node31 ~]# mkdir /data/redis/6379/{conf,data,logs,run} -p [root@node31 ~]# tree /data/redis/ /data/redis/ `-- 6379 |-- conf |-- data |-- logs `-- run 5 directories, 0 files ## 为redis 6379实例准备配置文件 cat >>/data/redis/6379/conf/redis.conf<<EOF ## Basic parameters bind 172.16.1.31 protected-mode yes port 6379 maxmemory 1GB requirepass chenliang daemonize yes databases 16 syslog-enabled no loglevel notice logfile /data/redis/6379/logs/redis.log pidfile /data/redis/6379/run/redis.pid unixsocket /data/redis/6379/run/redis.sock ## Client maxclients 10000 timeout 300 tcp-backlog 511 tcp-keepalive 60 ## RDB Persistence save 900 1 save 300 10 save 60 10000 rdbcompression yes dir /data/redis/6379/data/ dbfilename dump.rdb rdbchecksum yes EOF ## 查看配置文件 [root@node31 ~]# ll /data/redis/6379/conf/redis.conf -rw-r--r-- 1 root root 499 Feb 19 09:14 /data/redis/6379/conf/redis.conf ## 准备redis 6379实例的配置文件 ## https://www.cnblogs.com/chenliangc/p/11746400.html 博文件中脚本内容复制 ## 在/data/redis/6379目录下,创建一个redisd文件,把复制的内容粘贴并保存 ## chmod 700 /data/redis/6379/redisd 更改权限为700 ## 更改/data/redis/6379目录及目录下所有文件的属主/组为redis [root@node31 ~]# chown -R redis:redis /data/redis/6379 [root@node31 ~]# ls -ld /data/redis/6379/ drwxr-xr-x 6 redis redis 67 Feb 19 09:18 /data/redis/6379/ ## 启动redis 6379实例 [root@node31 ~]# /data/redis/6379/redisd start Start redis[6379] service [ OK ] [root@node31 ~]# netstat -lntup|grep redis tcp 0 0 172.16.1.31:6379 0.0.0.0:* LISTEN 19758/redis-server ## 加入开机自启动 [root@node31 ~]# echo -ne "\n# Boot start redis service[6379]. USER:chenliang TIME:$(date +%F)\n/data/redis/6379/redisd start\n" >>/etc/rc.local [root@node31 ~]# tail -2 /etc/rc.local # Boot start redis service[6379]. USER:chenliang TIME:2020-02-19 /data/redis/6379/redisd startu
六、通过redis-cli命令连接redis 6379实例
## 通过ip+端口的方式连接redis 6379 [root@node31 ~]# redis-cli -h 172.16.1.31 -p 6379 -a chenliang 172.16.1.31:6379> 172.16.1.31:6379> ## 通过socket文件连接redis6379 [root@node31 ~]# redis-cli -s /data/redis/6379/run/redis.sock -a chenliang redis /data/redis/6379/run/redis.sock> redis /data/redis/6379/run/redis.sock> ## 连接的相关参数说明 -h 指定可连接到redis 6379实例的IP地址 -p redis 6379实例的监听的端口 -a 指定密码,前期在配置文件中配置的密码就是chenliang -s 指定redis 6379实例的socket文件,前提是配置文件中得配置哈;