redis安装

博客围绕Redis展开,提及安装时出现‘jemalloc/jemalloc.h:没有那个文件或目录’的致命错误,还给出运行‘make test’的提示,同时介绍了停止Redis的操作(需进入安装目录)以及Linux重启时Redis自动启动的相关内容。
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
 
 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值