CentOS 7 Redis 7 多实例配置

CentOS 7 配置 Redis 7 多实例

在CentOS 7 中编译安装 Redis 7,并实现单机多实例操作。

如在服务器192.168.10.80的服务器上创建两个redis实例,请求端口为17090,17091。操作如下:

编译安装redis

下载redis

方法,可以从redis官网[1],下载完直接上传服务器,也可以直接在服务器使用wget下载。

1
wget https://github.com/redis/redis/archive/redis-7.0.7.tar.gz

编译安装

解压纹下载的安装包,编译安装,指定安装目录。

1
2
3
4
tar -zxvf redis-7.0.7.tar.gz 
cd redis-7.0.7
sudo make -j 4 PREFIX=/usr/local/redis-server/ USE_SYSTEMD=yes install
# 指定redis程序安装目录为/usr/local,编译时添加systemd管理编译参数

安装结束,会显示以下提示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
cd src && make install
make[1]: Entering directory `/home/user/upload/redis-7.0.7/src'
CC Makefile.dep
make[1]: Leaving directory `/home/user/upload/redis-7.0.7/src'
make[1]: Entering directory `/home/ian/upload/redis-7.0.7/src'
rm -rf redis-server redis-sentinel redis-cli redis-benchmark redis-check-rdb redis-check-aof *.o *.gcda *.gcno *.gcov redis.info lcov-html Makefile.dep
CC cli_common.o
CC redis-benchmark.o
LINK redis-server
INSTALL redis-sentinel
INSTALL redis-check-rdb
INSTALL redis-check-aof
LINK redis-benchmark
LINK redis-cli
------ 省略输出 -------
Hint: It's a good idea to run 'make test' ;)

INSTALL redis-server
INSTALL redis-benchmark
INSTALL redis-cli
make[1]: Leaving directory `/home/user/upload/redis-7.0.7/src'

编译出错了,也可以使用以下命令来清除编译文件:

1
make distclean

如果有提示systemd相关的报错,需要安装依赖。主要的依赖是systemd-devel。其它的依赖,比如python3和tcl也可一并安装。

1
sudo yum install python3 tcl systemd-devel

tcl包在make test时会用到。

配置多实例

在上一步,已经装redis程序安装到/usr/local/redis-server/目录中。接下来,需要分别配置两人个实例,创建两人个实例配置文件,数据存储路径,日志等。

1
sudo mkdir -p /usr/local/redis-server/{17090,17091}/{etc,logs,data,run}

配置实例17090

从编译目录下复制redis的config文件到实例17090的配置目录中:

1
sudo cp redis.config /usr/local/redis-server/17090/etc/17090.conf

修改实例17090的配置文件,主要修改参数如下:

  • bind 0.0.0.0
  • port 17090
  • dbfilename dump17090.rdb
  • dir /usr/local/redis-server/17090/data/
  • pidfile /usr/local/redis-server/17090/run/redis_17090.pid
  • logfile “/usr/local/redis-server/17090/log/redis-17090.log”
  • supervised systemd
  • requirepass your_secret_password

配置实例17091

从编译目录下复制redis的config文件到实例17091的配置目录中:

1
sudo cp redis.config /usr/local/redis-server/17091/etc/17091.conf

修改实例17090的配置文件,主要修改参数如下:

  • bind 0.0.0.0
  • port 17091
  • dbfilename dump17091.rdb
  • dir /usr/local/redis-server/17091/data/
  • pidfile /usr/local/redis-server/17091/run/redis_17091.pid
  • logfile “/usr/local/redis-server/17091/log/redis-17091.log”
  • supervised systemd
  • requirepass your_secret_password

启动两个实例

启动实例17090

1
sudo /usr/local/redis-server/bin/redis-server /usr/local/redis-server/17090/etc/17090.conf &

启动实例17091

1
sudo /usr/local/redis-server/bin/redis-server /usr/local/redis-server/17091/etc/17091.conf &

防火墙配置

1
2
3
sudo firewall-cmd --permanent --add-port=17090/tcp
sudo firewall-cmd --permanent --add-port=17091/tcp
sudo firewall-cmd --complete-reload

接下来看一下两个实例的进程输出如下:

1
2
3
4
5
6
sudo ps aux | grep redis
root 20815 0.0 0.1 241392 4580 pts/0 S 21:20 0:00 sudo /usr/local/redis-server/bin/redis-server /usr/local/redis-server/17090/etc/17090.conf
root 20817 0.0 0.2 196200 9208 pts/0 Sl 21:20 0:02 /usr/local/redis-server/bin/redis-server 0.0.0.0:17090
root 21008 0.0 0.1 241392 4588 pts/0 S 21:29 0:00 sudo /usr/local/redis-server/bin/redis-server /usr/local/redis-server/17091/etc/17091.conf
root 21010 0.0 0.2 196200 9184 pts/0 Sl 21:29 0:02 /usr/local/redis-server/bin/redis-server 0.0.0.0:17091
user 21348 0.0 0.0 112812 948 pts/0 S+ 22:13 0:00 grep --color=auto redis

至些服务器多实例配置结束,还缺少一个systemd的管理配置文件,继续挖个坑,后面有时间补上。以上配置,记录备忘。

[1] https://redis.io/download/


CentOS 7 Redis 7 多实例配置
https://ywmy.xyz/2023/02/13/CentOS-7-Redis-7-多实例配置/
作者
ian
发布于
2023年2月13日
许可协议