目录
前言
一、服务器虚拟机下载redis
1.下载redis包。
Ⅰ.前往官网下载Redis。编辑编辑
Ⅱ.我上传的还没审核过,审核过了就挂这(过了)
2、上传解压并移动到合适的位置
二、编译安装启动redis
1.编译
2.安装
3.启动
三、远程连接redis
1.加载到redis的配置文件
2.官方文档对配置项的说明
3.redis服务器允许其他IP访问
4.redis服务器关闭安全模式
5.redis服务器以守护模式运行
6.服务器还是请加上密码
四、对防火墙等安全协议的修改
1.虚拟机的配置。
2.云服务器的配置
1.虚拟机连接
2.云服务器连接
Ⅰ.SSH连接,可以不开放端口
Ⅱ.开放端口之后直接连接
Navicat Premium 16.2.3中加入了对redis的支持,我上个星期刚更新,这个星期刚好就要用。
在Navicat Premium 16.2.5的官方发行文档中,提到
Bug-fixes:
- “Implicit conversion from data type” error occurred when synchronizing SQL Server data.
- The default directory of new SQL Server database was incorrect.
- Unknown Internal Error occurred when connecting to Redis.
- Cannot type a new name for the table in Import Wizard.
- Minor bug fixes and improvements.
To upgrade, please visit our Customer Center.
Unknown Internal Error occurred when connecting to Redis.
修复了未知连接错误的bug。当然我也不清楚是修复了什么,测试的过程中不论是ip地址错了,还是别的都报的是
Unknown Error
说这些只是以防万一,还是升级到16.2.5再用吧。
8.15 – Navicat Premium更新还是挺快的,现在已经 16.2.7版本,比起上一个版本(只有16.2.6的发行说明,所以是16.2.6比起16.2.5)
最主要的就是 支持使用JSON格式的数据作为Redis的键(key)类型(Support JSON key type for Redis.)
演示服务器 阿里云 2G 。虚拟机差不多就不演示了,我虚拟机是CentOS 7 64 位 2207
Ⅰ.前往官网下载Redis。
Ⅱ.我上传的还没审核过,审核过了就挂这(过了)
【免费】redis-7.0.12.tar.gz资源-CSDN文库
3.有一种用链接加到指令的,但我没试过
利用SSH工具 我使用的是FinalShell 3.9.5.7 专业版(界面不同就是版本不一样)。
如果是初次使用服务器和虚拟机可以了解下使用方法(我这里没有文章)。
点出来就有ssh连接
配置好了就可以连接
点了+就会有快速连接界面 会有我们刚配置好的。
我一般选择进入/usr/local 然后拖进去
会解压到当前文件夹出现 redis-7.0.12的文件夹 右键重命名成redis
cd到/usr/local/redis目录,输入命令make执行编译命令
因为是基于c的要保证有c的环境
虚拟机和服务器情况不太一样 这个是服务器的,虚拟机要是用不了得试试别的
下面验证安装成功没有
成功了就到/usr/local/redis目录
进行make
我之前出现过权限不足的问题,请保证是root用户
有点久,请耐心等待
这个关键字的作用是编译的时候用于指定程序存放的路径。比如我们现在就是指定了redis必须存放在/usr/local/redis目录。假设不添加该关键字Linux会将可执行文件存放在/usr/local/bin目录,
我们启动一下试试,这个是前台启动,启动之后这个窗口不能关
成功了,我们要进行其他的操作,需要再开一个窗口
上面窗口右边加号,再次连接我们的连接对象(不会互斥)
我们在新窗口查询
上面这个就是我们的服务进程最后面还有端口号
下面这个听说是用来过滤我们需要进程的(我也不确定)
至此我们本地就能启动了,接下来我们为远程连接做准备。
我们并没有设置密码,所以需要把安全模式关了,才能被连接。
在目录/usr/local/redis下有一个redis.conf的配置文件
我们可以图形化工具加载 redis.conf 直接修改 然后ctrl + s 保存
也可以用
进入控制台
加载所有的配置项
输入exit 可以退出控制台
修改想要修改的属性(下面会有属性说明)
这样会打开文件
光标到自己想要修改的
修改好之后单击键盘上的esc
然后输入
就能保存
redis.conf 配置项说明如下:
1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
daemonize no
2. 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定
pidfile /var/run/redis.pid
3. 指定Redis监听端口,默认端口为6379,作者在自己的一篇博文中解释了为什么选用6379作为默认端口,因为6379在手机按键上MERZ对应的号码,而MERZ取自意大利歌女Alessia Merz的名字
port 6379
4. 绑定的主机地址
bind 127.0.0.1
5.当 客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能
timeout 300
6. 指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning,默认为verbose
loglevel verbose
7. 日志记录方式,默认为标准输出,如果配置Redis为守护进程方式运行,而这里又配置为日志记录方式为标准输出,则日志将会发送给/dev/null
logfile stdout
8. 设置数据库的数量,默认数据库为0,可以使用SELECT 命令在连接上指定数据库id
databases 16
9. 指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合
save
Redis默认配置文件中提供了三个条件:
save 900 1
save 300 10
save 60 10000
分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改。
10. 指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间,可以关闭该选项,但会导致数据库文件变的巨大
rdbcompression yes
11. 指定本地数据库文件名,默认值为dump.rdb
dbfilename dump.rdb
12. 指定本地数据库存放目录
dir https://blog.csdn.net/_/article/details/
13. 设置当本机为slav服务时,设置master服务的IP地址及端口,在Redis启动时,它会自动从master进行数据同步
slaveof
14. 当master服务设置了密码保护时,slav服务连接master的密码
masterauth
15. 设置Redis连接密码,如果配置了连接密码,客户端在连接Redis时需要通过AUTH 命令提供密码,默认关闭
requirepass foobared
16. 设置同一时间最大客户端连接数,默认无限制,Redis可以同时打开的客户端连接数为Redis进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis会关闭新的连接并向客户端返回max number of clients reached错误信息
maxclients 128
17. 指定Redis最大内存限制,Redis在启动时会把数据加载到内存中,达到最大内存后,Redis会先尝试清除已到期或即将到期的Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis新的vm机制,会把Key存放内存,Value会存放在swap区
maxmemory
18. 指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。因为 redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认为no
appendonly no
19. 指定更新日志文件名,默认为appendonly.aof
appendfilename appendonly.aof
20. 指定更新日志条件,共有3个可选值: no:表示等操作系统进行数据缓存同步到磁盘(快) always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全) everysec:表示每秒同步一次(折衷,默认值)
appendfsync everysec
21. 指定是否启用虚拟内存机制,默认值为no,简单的介绍一下,VM机制将数据分页存放,由Redis将访问量较少的页即冷数据swap到磁盘上,访问多的页面由磁盘自动换出到内存中(在后面的文章我会仔细分析Redis的VM机制)
vm-enabled no
22. 虚拟内存文件路径,默认值为/tmp/redis.swap,不可多个Redis实例共享
vm-swap-file /tmp/redis.swap
23. 将所有大于vm-max-memory的数据存入虚拟内存,无论vm-max-memory设置多小,所有索引数据都是内存存储的(Redis的索引数据 就是keys),也就是说,当vm-max-memory设置为0的时候,其实是所有value都存在于磁盘。默认值为0
vm-max-memory 0
24. Redis swap文件分成了很多的page,一个对象可以保存在多个page上面,但一个page上不能被多个对象共享,vm-page-size是要根据存储的 数据大小来设定的,作者建议如果存储很多小对象,page大小最好设置为32或者64bytes;如果存储很大大对象,则可以使用更大的page,如果不 确定,就使用默认值
vm-page-size 32
25. 设置swap文件中的page数量,由于页表(一种表示页面空闲或使用的bitmap)是在放在内存中的,,在磁盘上每8个pages将消耗1byte的内存。
vm-pages
26. 设置访问swap文件的线程数,最好不要超过机器的核数,如果设置为0,那么所有对swap文件的操作都是串行的,可能会造成比较长时间的延迟。默认值为4
vm-max-threads 4
27. 设置在向客户端应答时,是否把较小的包合并为一个包发送,默认为开启
glueoutputbuf yes
28. 指定在超过一定的数量或者最大的素超过某一临界值时,采用一种特殊的哈希算法
hash-max-zipmap-entries 64
hash-max-zipmap-value 512
29. 指定是否激活重置哈希,默认为开启(后面在介绍Redis的哈希算法时具体介绍)
activerehashing yes
30. 指定包含其它的配置文件,可以在同一主机上多个Redis实例之间使用同一份配置文件,而同时各个实例又拥有自己的特定配置文件
include /path/to/local.conf
在 三 的1. 加载到redis的配置文件 中选择自己喜欢使用的方法
(初学建议还是先拿虚拟机安装图形化工具练手,和window配置环境变量差不多,
如果能买高配服务器也可以安装图形化工具来练手)
我直接图形化工具了(不然控制台手搓也看的不明显)
注释掉代表解绑 外网IP就能访问了
我们将其改成no,关掉了安全模式,就可以不要密码,不要用户名+密码(不同的验证方式),直接访问。也能让我们在外网访问。
改成yes就启动之后就不会出现之前那个大窗口,也不需要再开一个窗口运行其他指令了
所以我们还要养成运行之后用
看进程是否存在
我昨天刚配置好,今天就被入侵
这是被删库,然后这几个脚本是挖矿的,会让你配置被改
腾讯云防火墙截获Cleanfda挖矿木马对云主机的攻击,攻击者可完全控制失陷主机 (tencent.com)
详细请看这篇文章
取消 requirepass 的注释 或者 再加一行都行(我还没有在 requirepass后面加密码)
加上密码 安全模式可以不关 看第四步
密码一定要复杂,入侵的时候会有个词典,好像有5000多个常用密码,轮流尝试
我们刚才只是修改了redis的安全协议,我们还需要把端口6379打开(至于为什么是6379,因为6379是redis默认的端口)
指定Redis监听端口,默认端口为6379,作者在自己的一篇博文中解释了为什么选用6379作为默认端口,因为6379在手机按键上MERZ对应的号码,而MERZ取自意大利歌女Alessia Merz的名字 .
查看防火墙是否开启
如果没有开启,则需要开启防火墙
开放6379端口
重启服务器
重新加载防火墙
虚拟机再重启一下比较好,确保完全重新启动
查看防火墙是否开启
如果没有开启,则需要开启防火墙
开放6379端口
重启服务器
重新加载防火墙
阿里云为例
登录之后去控制台
找到云服务器ecs
找到安全组
之后主页面出现这些创建安全组
选择默认的就行(前提你有个服务器了,这两个红的地方会有下拉框)
快速添加勾选redis 然后确定
然后重启服务器
不管什么连接,我们先来
查看redis状态
这是正常启动的,如果你就只有一行 那就是没有启动
第一行进入路径
第二行用配置文件启动,可能你在别处看到了别的redis服务器启动命令,请确定是用了我们修改过的配置文件,不然外网不能访问的
第三行查看状态
第一个 选择redis
让我们填的只是名字,随便敲,别和我一样ip敲到名字,半天连不上
把主机改成虚拟机的IP(网络适配器需要改好,虚拟机配置的基础)
这个可以查看IP地址,一般配置虚拟机的时候我们会去配置的
Ⅰ.SSH连接,可以不开放端口
第一行填公网ip
端口号就是22,这个是连接上主机,其他的它自己来
用户名就用实例的用户名
密码也是实例的密码
你可以先去云服务器远程访问一下,登录的时候可以看密码(确定你登过)
Ⅱ.开放端口之后直接连接
我们如果设置了密码再开放端口,我们是单设置了密码,所以选择password验证,输入密码就好。没设密码就可以直接连接,(别人也能直接入侵你)。
至此,就成功连接了,如果是虚拟机
Navicat Premium 16.2.7激活
虚拟机没有设置自动启动,redis没有设置开机启动的话,还是把自动连接关了,不然你每次操作mysql数据库,开了软件给你报错一下挺烦的。
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/185403.html