Redis单实例的部署

一、操作系统环境说明

[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文件,前提是配置文件中得配置哈;

猜你喜欢

转载自www.cnblogs.com/chenliangc/p/12329733.html