1.下载redis
wget http://download.redis.io/releases/redis-6.0.6.tar.gz
2.
解压
tar xzvf redis-6.0.6.tar.gz
3.安装
cd redis-6.0.6
make
cd src
make install PREFIX=/usr/local/redis
可能会报错:
make:cc 命令未找到的解决方法
没安装gcc,然后安装
yum install gcc
yum install gcc-c++
(25条消息) server.c:5166:39: error: ‘struct redisServer’ has no member named ‘maxmemory’_涂宗勋的技术博客-优快云博客
https://blog.youkuaiyun.com/tuzongxun/article/details/108461134
致命错误:jemalloc/jemalloc.h:没有那个文件或目录
执行命令:make MALLOC=libc
Hint: It's a good idea to run 'make test'
原来这根本就不是错,只是一个提示而已
4.移动配置文件到安装目录下
cd ../
mkdir /usr/local/redis/etc
mv redis.conf /usr/local/redis/etc
5.配置redis为后台启动
vi /usr/local/redis/etc/redis.conf
//将daemonize no 改成daemonize yes
6.将redis加入到开机启动
vi /etc/rc.local
//在里面添加内容:
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
(意思就是开机调用这段开启redis的命令)
7.开启redis
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
停止redis (进入redis安装目录)
./bin/redis-cli shutdown
8.将redis-cli,redis-server拷贝到bin下,让redis-cli指令可以在任意目录下直接使用
cp /usr/local/redis/bin/redis-server /usr/local/bin/
cp /usr/local/redis/bin/redis-cli /usr/local/bin/
9.
设置redis
密码
a.
运行命令:redis-cli
b.查看现有的
redis密码(可选操作,可以没有)
运行命令:config get requirepass 如果没有设置过密码的话运行结果会如下图所示
c.
设置redis
密码
运行命令:config set requirepass hua#123(hua#123
为你要设置的密码),设置成功的话会返回‘OK’字样
d.测试连接
重启redis服务
//(redis-cli -h 127.0.0.1 -p 6379 -a
hua#123
(
hua#123
为你设置的密码))
输入 redis-cli 进入命令模式,使用 auth '*****' (****为你设置的密码)登陆
10.让外网能够访问redis
a.配置防火墙:
firewall-cmd --zone=public --add-port=6379/tcp --permanent
(开放
6379
端口)
systemctl restart firewalld
(重启防火墙以使配置即时生效)
查看系统所有开放的端口:firewall-cmd --zone=
public --
list-ports
b.此时 虽然防火墙开放了6379端口,但是外网还是无法访问的,因为redis监听的是127.0.0.1:6379,并不监听外网的请求。
(一)把文件夹目录里的redis.conf配置文件里的bind 127.0.0.1前面加#注释掉
(二)命令:redis-cli连接到redis后,通过 config get daemonize(后端模式启动yes)和config get protected-mode 是不是都为no,如果不是,就用config set 配置名 属性 改为no。
config set protected-mode no
redis拒绝在保护模式下运行,没有绑定IP地址,没有授权密码,如果想从外部电脑连接redis的话,通常有两种解决方法可以选择:
(1)修改redis.conf配置文件,将protected-mode yes 改为no。
这时可能你的redis.conf配置文件中没有protected-mode yes语句,如果我们强行添加的话,就会报类似“不好的或者错误的执行语句:protected-mode yes(行号)”之类的错误,那我们又不得不把它移出。
(2)这时,可以使用第二种方法,设置密码。
直接修改redis.conf配置文件:在配置文件中添加"
requirepass 访问密码
"的字段。(该方法redis重启修改的密码依然奏效)
或者,在redis启动时设置:
[
root@itcast01
redis-3.2.1
]
# ./redis-cli
127.0
.0
.1
:6379>
config
set
requirepass
123456
OK
127.0
.0
.1
:6379>
最后,再重新启动虚拟机,重启redis
Linux重启 Redis自动启动
第一步:创建Redis启动服务
在系统开机启动项目录 /lib/systemd/system 目录添加 redis.service 文件
vi /lib/systemd/system/redis.service
第二步:写入启动命令
[Unit]
Description=The redis-server Process Manager
Documentation=
https://redis.io/
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
ExecStop=/usr/local/redis/bin/redis-cli shutdown
[Install]
WantedBy=multi-user.target
说明:大家要有自己的启动命令之后,改成自己的路径即可。
第三步:设置服务开机自启
systemctl enable redis
第四步:使用命令
# 启动 nginx
systemctl start redis
# 停止
systemctl stop redis
# 查看redis运行状态
systemctl status redis
ps aux | grep redis
第五:扩展了解
这个是用户启动项,意思是只有这个用户登陆的时候才启动:
/usr/lib/systemd/system/
这个是系统开机启动项,意思是开机就启动,不管哪个用户登录:
/lib/systemd/system/
查看所有的开机启动项:
systemctl list-unit-files |grep enabled
常用命令
redis-server /usr/local/redis/etc/redis.conf //启动redis
pkill redis //停止redis
卸载redis:
rm -rf /usr/local/redis //删除安装目录
rm -rf /usr/bin/redis-* //删除所有redis相关命令脚本
rm -rf /root/download/redis-4.0.4 //删除redis解压文件夹
8-启动redis:
两种方式:
redis-server &
加上`&`号使redis以后台程序方式运行
或者是
redis-server
9-检测后台进程是否存在
ps -ef |grep redis
10-检测6379端口是否在监听
netstat -lntp | grep 6379
有时候会报异常
原因: Redis已经启动
解决: 关掉Redis,重启即可
1.
redis-cli shutdown
2.
redis-server
然后你就能看到Redis愉快的运行了.
使用redis-cli客户端检测连接是否正常
1.
redis-cli
2.
127.0.0.1:6379> keys *
3.
(empty list or set)
4.
127.0.0.1:6379> set key "hello world"
5.
OK
6.
127.0.0.1:6379> get key
7.
"hello world"
停止redis:
使用客户端
redis-cli shutdown
因为Redis可以妥善处理SIGTERM信号,所以直接kill -9也是可以的
kill -9 PID
#启动redis服务端
$ src/redis-server
#启动redis客户端
$ src/redis-cli
博客围绕Redis展开,提及安装时出现‘jemalloc/jemalloc.h:没有那个文件或目录’的致命错误,还给出运行‘make test’的提示,同时介绍了停止Redis的操作(需进入安装目录)以及Linux重启时Redis自动启动的相关内容。
2962

被折叠的 条评论
为什么被折叠?



