安装Redis7
下载地址:https://redis.io/download/
1、必须先具备 gcc 编译环境
1 | 安装c++库环境 |
2、将下载后的包放入 Linux 目录(我放到了 /root)
1 | /root目录下解压 |
需要手动安装make工具
1 | sudo apt install make |
3、安装
1 | 移动redis目录 |
这里多了一个关键字 PREFIX= 它的作用是编译的时候用于指定程序存放的路径,比如我们现在就是指定了 redis 必须存放在 /usr/local/redis 目录。
Linux 会将可执行文件存放在 /usr/local/bin 目录,库文件会存放在 /usr/local/lib 目录,配置文件会存放在 /usr/local/etc 目录,其他的资源文件会存放在 /usr/local/share 目录。这里指定好目录也方便后续的卸载,后续直接 rm -rf /usr/local/redis 即可删除 redis
4、移动配置文件到安装目录下,以后就使用这一份配置文件
1 | mkdir etc |
- 默认
daemonize no改为daemonize yes - 默认
protected-mode yes改为protected-mode no - 默认
bind 127.0.0.1改为 直接注释掉(默认bind 127.0.0.1只能本机访问)或改成本机IP地址,否则影响远程IP连接 - 添加 redis 密码,则修改
requirepass项为你需要设置的密码
这里列举下比较重要的配置项:
| 配置项名称 | 配置项值范围 | 说明 |
|---|---|---|
| daemonize | yes、no | yes表示启用守护进程,默认是no即不以守护进程方式运行。 其中Windows系统下不支持启用守护进程方式运行 |
| port | 指定 Redis 监听端口,默认端口为 6379 | |
| bind | 绑定的主机地址 如果需要设置远程访问则直接将这个属性注释或者改为 bind * 这个属性和下面的 protected-mode 控制是否可以远程访问 |
|
| protected-mode | yes 、no | 保护模式,该模式控制外部网是否可以连接redis服务, 默认是yes,所以默认我们外网是无法访问的,如需外网连接 则需要将此属性改为no |
| timeout | 300 | 当客户端闲置多长时间后关闭连接, 如果指定为 0,表示关闭该功能 |
| loglevel | debug、verbose、 notice、warning |
日志级别,默认为 notice |
| databases | 16 | 设置数据库的数量,默认的数据库是0。 这个通过客户端工具可以看得到 |
| rdbcompression | yes、no | 指定存储至本地数据库时是否压缩数据,默认为 yes。 Redis 采用 LZF 压缩,如果为了节省 CPU 时间, 可以关闭该选项,但会导致数据库文件变的巨大。 |
| dbfilename | dump.rdb | 指定本地数据库文件名,默认值为 dump.rdb |
| dir | 指定本地数据库存放目录 | |
| requirepass | 设置连接密码,如果配置了连接密码,客户端在连接Redis时 需要通过 AUTH <password> 命令提供密码,默认关闭 |
|
| maxclients | 0 | 设置同一时间最大客户端连接数,默认无限制。 Redis 可以同时打开的客户端连接数为 Redis 进程可以打开的 最大文件描述符数,如果设置 maxclients 0,表示不作限制。 当客户端连接数到达限制时,Redis 会关闭新的连接并向 客户端返回 max number of clients reached 错误信息 |
| maxmemory | XXX |
指定 Redis 最大内存限制,Redis 在启动时会把数据 加载到内存中,达到最大内存后,Redis 会先尝试清除已到期 或即将到期的 Key,当此方法处理后,仍然达到最大内存设置, 将无法再进行写入操作,但仍然可以进行读取操作。 Redis 新的 vm 机制,会把 Key 存放内存, Value 会存放在 swap 区。配置项值范围列里XXX为数值。 |
| logfile | 日志文件。默认在控制台打印,不会记录到文件,可以指定日志文件路径(日志文件的目录须提前创建) | |
| dir | 数据持久化目录 默认数据保存在当前目录,可以指定数据保存目录(目录也需要提前创建好) |
5、启动 Redis
将 redis-cli 、redis-server 拷贝到 /usr/local/bin 下,让 redis-cli 指令可以在任意目录下直接使用
1 | cp /usr/local/redis/bin/redis-server /usr/local/bin/ |
启动命令
1 | redis-server /usr/local/redis/etc/redis.conf |
1 | WARNING Memory overcommit must be enabled! Without it, a background save or |
内核参数说明
内核参数 overcommit_memory 实现内存分配策略,可选值有三个:0、1、2
0 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则内存申请失败,并把错误返回给应用进程
1 表示内核允许分配所有的物理内存,而不管当前的内存状态如何
2 表示内核允许分配超过所有物理内存和交换空间总和的内存
1 | 消除方法 |
6、查看 Redis 是否运行
采取查看进程方式
采取端口监听查看方式
7、让外网能够访问redis
(一)开放防火墙端口
1 | firewall-cmd --zone=public --add-port=6379/tcp --permanent |
(二)修改配置文件(见上)
8、卸载redis
1 | 停止redis |
9、补充
检测是否有安装 redis-cli 和 redis-server
1 | whereis redis-cli |
使用 redis-cli 连接命令
1 | redis-cli -h 127.0.0.1 -p 6379 -a zmd123 |
安装RabbitMq
查看 erlang 与 rabbitmq 版本对应关系:RabbitMQ Erlang Version Requirements — RabbitMQ
使用包管理工具安装
1、需要先安装 erlang
1 | apt-get install -y erlang-nox |
安装curl
1 | apt install curl |
2、选择 rabbitmq 版本
直接安装最新版本
1
sudo apt-get install rabbitmq-server
安装指定版本
查询可以安装的版本
1
apt-cache madison rabbitmq-server
准备环境
1
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.deb.sh | sudo bash
安装
1
sudo apt-get install rabbitmq-server=3.9.17-1
查看安装结果。RabbitMQ 会被安装在
/usr/lib/rabbitmq1
systemctl status rabbitmq-server
3、启用 Web 管理插件
开放端口
1 | firewall-cmd --zone=public --add-port=5672/tcp --permanent |
4、Web 管理界面登录:http://localhost:15672
使用 guest/guest 账户登录控制台失败,点击登录显示错误 rabbitmq User can only log in via localhost
原因:rabbitmq 从 3.3 版本之后默认禁止使用 guest/guest 进行远程登录,只能通过 localhost 本地登录,在远程服务器开启rabbitmq-server 后,使用默认账号登录会报错。
解决:增加远程登录账号
1 | 添加远程账号 |
软件包解压缩安装
安装rpm工具
1 | apt install rpm |
安装准备:
- RabbitMQ 压缩包下载地址:发布 ·rabbitmq/rabbitmq-server (github.com)
- Erlang 压缩包下载地址:Releases · rabbitmq/erlang-rpm (github.com)
然后解压缩命令
1 | rpm -Uvh erlang-26.0.2-1.el8.x86_64.rpm --nodeps |
启动
常用命令
- 启动 RabbitMQ
1 | sudo rabbitmq-server start |
- 关闭 RabbitMQ
1 | sudo rabbitmq-server stop |
- 重启 RabbitMQ
1 | sudo rabbitmq-server restart |
- 查看 RabbitMQ 状态
1 | sudo rabbitmqctl status |