技术标签: Redis
一、安装gcc依赖
由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装
[root@localhost local]# yum install -y gcc
二、下载并解压安装包
[root@localhost local]# wget http://download.redis.io/releases/redis-5.0.3.tar.gz
[root@localhost local]# tar -zxvf redis-5.0.3.tar.gz
三、cd切换到redis解压目录下,再执行编译
[root@localhost local]# cd redis-5.0.3
[root@localhost redis-5.0.3]# make
四、安装并指定安装目录
[root@localhost redis-5.0.3]# make install PREFIX=/usr/local/redis
五、启动服务
5.1前台启动
[root@localhost redis-5.0.3]# cd /usr/local/redis/bin/
[root@localhost bin]# ./redis-server
5.2后台启动
从 redis 的源码目录中复制 redis.conf 到 redis 的安装目录
[root@localhost bin]# cp /usr/local/redis-5.0.3/redis.conf /usr/local/redis/bin/
修改 redis.conf 文件,把 daemonize no 改为 daemonize yes
[root@localhost bin]# vi redis.conf
后台启动
[root@localhost bin]# ./redis-server redis.conf
六、设置开机启动
添加开机启动服务
[root@localhost bin]# vi /etc/systemd/system/redis.service
复制粘贴以下内容:
[Unit]
Description=redis-serverAfter=network.target
[Service]
Type=forkingExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.confPrivateTmp=true
[Install]
WantedBy=multi-user.target
注意:ExecStart配置成自己的路径
设置开机启动
[root@localhost bin]# systemctl daemon-reload
[root@localhost bin]# systemctl start redis.service
[root@localhost bin]# systemctl enable redis.service
创建 redis 命令软链接
[root@localhost ~]# ln -s /usr/local/redis/bin/redis-cli /usr/bin/redis
测试 redis
服务操作命令
systemctl start redis.service #启动redis服务
systemctl stop redis.service #停止redis服务
systemctl restart redis.service #重新启动服务
systemctl status redis.service #查看服务当前状态
systemctl enable redis.service #设置开机自启动
systemctl disable redis.service #停止开机自启动
续:
1.redis命令
1 redis执行了make install后,redis的课执行文件都会自动复制到 /usr/local/bin 目录
2 redis-server redis服务器
3 redis-cli redis命令行客户端
4 redis-benchmark redis性能测试工具
5 redis-check-aof aof文件修复工具
6 redis-check-dump rdb文件检查工具
# 停止Redis命令
redis-cli shutdown
redis-server
# 注意配置文件路径
redis-server ./redis.conf
# 配置后台启动,且端口是 1123
redis-server ./redis.conf --daemonize yes --port 1123
会覆盖配置文件里面的值
1 第一种方式
2 发送命令,如 redis-cli shutdown
3 第二种方式:主要用这种模式
4 进入交互模式,默认是127.0.0.1和6379端口
5 可以指定 redis-cli -h 127.0.0.1 -p 6379
注意:框里面的是 6379 里面没有登录成功,下面改成了 1123 成功了,因为刚才上面改了端口
状态回复:pong表示可用
错误回复:不知道这个什么命令
整数回复:多种命令会回复整数
下面的字符串回复,都是赋值了才有。
字符串回复:
多行字符串回复:
5.远程连接
下载客户端工具RedisDesktopManager,本地电脑初次连接服务器上的redis,肯定连不上。原因是Redis默认只支持本地链接,输入进程命令查看得知 127.0.0.1:6379 默认只限服务器本机ip。
把集群的redis全部kill命令全部kill掉,问题解决:编辑redis.conf配置文件;注释掉61行本地链接限制以及80行配置修改为no
61 # bind 127.0.0.1
80 protected-mode no
sudo vi /usr/local/redis/etc/redis.conf
# 注释掉bind 127.0.0.1,bind用于限制访问Redis的机器ip,直接关掉,方便后续做集群或其他客户端进行连接
# bind 127.0.0.1
# 修改daemonize no为yes,让Redis可以后台启动
daemonize yes
# 配置日志文件目录logfile ""
logfile "/usr/local/redis/log/redis_log.log"
# 为Redis添加服务密码# requirepass foobared,这里我们将密码设置为123456
requirepass 123456
# 修改rdb文件存储路径,rdb文件是Redis默认的数据持久化到磁盘的文件,默认配置为dir ./,则存储在相对目录
# 即每次运行redis-server的目录,这里我们修改为绝对路径,以便于后续的管理
dir /usr/local/redis/rdb/
#:wq 保存并退出
读取最新配置文件并重启,查看Redis进程情况!都开放IP链接权限了,怎么还是127.0.0.1:6379!!再查看进程情况:
wl@ubuntu:~/hproj/redis-3.0/cluster$ ./redis-start.sh
wl@ubuntu:~/hproj/redis-3.0/cluster$ ps -ef | grep redis
wl 14200 1416 0 14:00 ? 00:00:00 /home/wl/hproj/redis-3.0/redis-3.2.6/src/redis-server *:7000 [cluster]
wl 14201 1416 0 14:00 ? 00:00:00 /home/wl/hproj/redis-3.0/redis-3.2.6/src/redis-server *:7002 [cluster]
wl 14202 1416 0 14:00 ? 00:00:00 /home/wl/hproj/redis-3.0/redis-3.2.6/src/redis-server *:7001 [cluster]
wl 14205 1416 0 14:00 ? 00:00:00 /home/wl/hproj/redis-3.0/redis-3.2.6/src/redis-server *:7004 [cluster]
wl 14207 1416 0 14:00 ? 00:00:00 /home/wl/hproj/redis-3.0/redis-3.2.6/src/redis-server *:7003 [cluster]
wl 14211 1416 0 14:00 ? 00:00:00 /home/wl/hproj/redis-3.0/redis-3.2.6/src/redis-server *:7005 [cluster]
wl 14225 8680 0 14:01 pts/21 00:00:00 grep --color=auto redis
哇塞,*.6379,这意味着已经成功开放IP访问权限了。万事俱备,只欠点击RedisDesktopManager客户端测试链接按钮了。好,走起。
当你信心满满的时候,现实总泼你一盆冷水来清醒!链接失败,链接失败,我都不好意思截图上传了!!这又是闹哪样啊?还让我活不???
左思右想,突然,我想到一个词——防火墙
[root@Karle src]# service iptables status
表格:filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
5 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:8080
6 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80
7 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:3306
8 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:15672
9 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
编辑Linux防火墙
1 |
|
加入防火墙规则:-A INPUT -m state –state NEW -m tcp -p tcp –dport 6379 -j ACCEPT
1 |
|
重启Linux防火墙
1 |
|
点击 “测试连接” 按钮测试连接,显示 “连接Redis 服务器成功”,问题解决了。
在此过程中并不顺利,主要就是缺少iptables命令和防火墙更换
1.发现iptables命令不能执行 Redirecting to /bin/systemctl status iptables.service Unit iptables.service could not be found.
centos
service iptables status 报错
Redirecting to /bin/systemctl status iptables.service
Unit iptables.service could not be found.
解决办法
yum install iptables-services
因为centos7默认的防火墙是firewalld防火墙,不是使用iptables,因此需要先关闭firewalld服务,或者干脆使用默认的firewalld防火墙。
因为这次报错的服务器是一台刚刚购买的阿里云服务器,所以在操作上忘记关闭默认防火墙的步骤了才导致浪费了些时间在这件事情上。
关闭firewalld:
systemctl stop firewalld
systemctl mask firewalld
使用iptables服务:
#开放443端口(HTTPS)
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
#保存上述规则
service iptables save
#开启服务
systemctl restart iptables.service
正常启动!!!!
续:
可进入redis安装目录 cd /usr/local/redis/bin 下,执行 ./redis-cli
因为设置密码了,所以 需要填写密码(我的密码是123456) auth 123456
输入命令ping ,便能得到响应 pong
如测试key=abc的值,输入命令 get abc 便能得到abc对应的value值。
想退出,输入 exit即退出来了。
文章浏览阅读1.5k次,点赞21次,收藏18次。BeautifulSoup4 属于 BeautifulSoup 系列的第四代版本,BeautifulSoup 是一个可以从 HTML 或 XML 文件中提取数据的 Python 库,这个库能够实现树文档的导航、查找,从而帮助我们提取到网页中所需要的数据。。如果忘记了在哪里安装,请回看 Requests 模块第一篇文章。安装好以后,我们围绕数据提取这个话题对 BeautifulSoup4 进行剖析。"""# 问题一:使用标签选择器获取源代码中所有的 p 标签。_beautifulsoup4库 获取br
文章浏览阅读1.9k次。基于Red Hat Enterprise Linux Server release 7.4 (Maipo)最小化安装将会慢慢补齐每个包的作用:1 bash-completion-2.1-6.el7.noarch https://cbs.centos.org/koji/rpminfo?rpmID=4260 2 grubby-8.28-23.el7.x86_64 ..._cannot install both libpng-2:1.5.13-8.el7.x86_64 and libpng-2:1.6.37-1.ky10.
文章浏览阅读2.1k次。这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma..._vxworks rtp
文章浏览阅读185次。以进行加法和减法为例,用户层将要进行的操作码和参数,返回缓冲发给驱动,驱动进行处理并将结果写到返回缓冲中driver.c//_stdcall#include<ntddk.h>#include<ntstrsafe.h>#pragma code_seg("INT")#define SynLinkName L"\\??\\freesec_tx..._pirpstack->majorfunction
文章浏览阅读91次。http://raymond1860.spaces.live.com/Blog/cns!BF47B6FD104579C9!797.entry1.目录树/framework/base/api/framework/base/awt/framework/base/build/framework/base/camera关 于camera的HAL接口库。最终生成native共享库l..._android framework cmds 开发
文章浏览阅读82次。免费领取项目源码,请关注●点赞收藏并私信博主,谢谢-、互联网美食分享平台采用Java技术,Mysql数据库存储数据,基于Springboot框架开发。系统采用了模块化设计方法,根据用户的需求开发功能模块,方便了程序扩展维护,以便后期的更新。整个开发过程首先对系统进行需求分析,得出系统主要功能模块。接着对系统进行总体设计和详细设计。最后对系统进行了功能测试,并对测试结果进行了分析总结,得出系统的不足及需要改进的地方,为以后的系统维护提供了方便,同时也为以后开发类似系统提供了借鉴和帮助。
文章浏览阅读317次。E - Mafia CodeForces - 348A 【二分】One day n friends gathered together to play “Mafia”. During each round of the game some player must be the supervisor and other n - 1 people take part in the game. Fo..._348a二分
文章浏览阅读1.6w次。四元数和旋转矩阵Quaternion(四元数)Quaternion 的定义四元数一般定义如下: q=w+xi+yj+zk其中 w,x,y,z是实数。同时,有: i*i=-1 j*j=-1 k*k=-1四元数也可以表示为: q=[w,v]其中v=(x,y,z)是矢量,w是标量,虽然v是矢量,但不能简_四元数 旋转矩阵
文章浏览阅读5.8w次,点赞6次,收藏3次。很多人在使用海康威视的开发包的时候,都会遇到下面几个问题在安装WebComponents.exe之后 浏览器在运行的时候提示WebComponents.exe为安装 或者是WebComponents.exe不是最新版本开发包提供的版本如下,浏览器自动安装的版本为3.0.5.34这2个版本都是是可以使用的 ,而且不需要更新那么问题就在浏览器了_webcomponents.exe
文章浏览阅读1.4w次,点赞5次,收藏42次。 集成测试与系统测试_集成测试是系统测试吗
文章浏览阅读792次,点赞9次,收藏8次。Jenkins 是一个开源自动化服务器。Jenkins 用户手册。_jenkins官网
文章浏览阅读1.7k次,点赞29次,收藏23次。location,rewrite基于:域名、客户端ip、旧域名、参数匹配,跳转_nginx location直接指向某个网页