Linux下安装和配置redis

在linux环境下下载redis

 

 

$ yum -y install wget

 

下载redis:

所有redis历史版本都在:https://download.redis.io/releases/下,这里下载4.0.8版本的redis

$ wget https://download.redis.io/releases/redis-4.0.8.tar.gz
 
解压:

$ tar xzvf redis-4.0.8.tar.gz

 

由于新安装的Linux系统没有安装gcc环境,需要安装gcc,选择用yum进行安装。

 $ yum -y install gcc

 

问题:解决“jemalloc/jemalloc.h:no such file or directory“问题,在进行编译(因为上次编译失败,有残留的文件,只是本人安装过程中遇到的问题,没有的可以忽略此步)

$ make distclean

 


 $ cd redis-4.0.8

 $ make

$ cd src
$ make && make install

$ cd /kkb/soft/redis-4.0.8


添加新的文件:$ mkdir /kkb/soft/redis-4.0.8/etc


移动配置文件:$ mv redis.conf /kkb/soft/redis-4.0.8/etc

再配置redis为后台启动

 

$ vi /kkb/soft/redis-4.0.8/etc/redis.conf

进入修改daemonize no为yes(/搜索daemonize,i进入编辑模式修改之后esc退出Shift:+wq保存)

 

启动redis(后面是自己redis-server的位置,redis编译成功之后,在src文件夹下有redis-server)

$ redis-server /kkb/soft/redis-4.0.8/src

#Ctrl+C可以退出

接下来修改密码

 

redis-cli

#之后输入命令检查先前的密码,这步可有可无(显示""意思是你因为新安装的redis没有设置密码)
$ config get requirepass

#设置密码(短暂性设置,下次登录不会)

$ config set requirepass mypassword
mypassword:设置为自己的密码

#设置成功的话会返回‘OK’字样

#重启redis-server

#接着输入

$ redis-cil

#测试命令

127.0.0.1:6379> PING

#终端返回

(error) NOAUTH Authentication required.

原因:没有输入密码

解决:命令行中输入:
127.0.0.1:6379> auth mypassword

终端返回‘OK’,证明登入成功,这时候再次输入PING

终端返回‘PONG’如下图

  输入quit退出

 

以上设置密码是暂时性的,关闭redis服务后会在打开会显示你没有设置密码

 

redis 密码永久设置需要修改redis.conf配置文件

$ vim /kkb/soft/redis-4.0.8/etc/redis.conf

找到这一行
# requirepass foobared

去掉注释,在foobared上设置自己的密码

requirepass mypassword

esc退出编辑模式,:wq 保存退出

注:redis.conf文件是只读文件,需要有修改权限。

输入su再输入密码获得管理员权限就可以修改了

------------------------------------------ 

启动redis服务命令:

$ redis-server /kkb/soft/redis-4.0.8/etc/redis.conf

启动后,配置文件的密码生效

 ------------------------------------------

更新:

用pycharm尝试连接centos虚拟机下的redis

import redis
pool=redis.ConnectionPool(host='192.168.51.100',password='123456')
r=redis.Redis(connection_pool=pool)
print(r.get('name').decode('utf8'))

报错:计算机积极拒绝连接

先在windows cmd命令行输入(ip地址为centos的IP地址)

ping 192.168.51.100

 

 ping得通,说明问题不是虚拟机的

 

那也许是redis.conf文件的配置需要修改一下

查阅网上资料

将redis.conf文件的、

protected-mode yes改为no

将bind 127.0.0.1注释掉

重新启用redis-server,再次尝试连接,还是同样的错误

 

最后尝试切换下用户

$ su
$ password:

尝试插入一个数据,再次连接,成功

 

总结一下: 

su命令的作用为变换为其他用户。

su是switch user的缩写,翻译为中文就是切换用户

在不加参数的情况下,su命令默认表示切换到root用户,之后只要输入root密码就可以切换身份为root了,完成操作后,使用exit命令可以退出root切换到原先的用户。

也许还会用到su-,那和su命令有什么区别呢?

使用su-命令切换用户后,用户环境会变成root,而单纯使用su命令切换用户,当前的用户环境并没有发生变化

缺陷:使用su命令虽然很方便,但还是有很明显的缺陷,就是切换成其他用户的前提是需要知道对方的密码。如果需要切换成root,那就需要root的密码。root是系统中权限最高的用户,如果让太多人知道root密码,是很不安全的。为解决这个问题,我们可以使用sudo命令,只需要知道自己的密码就可以使用sudo执行任何命令,严格来说,sudo并不是真的切换了用户,而是使用其他用户的身份和权限执行了命令。

 

 

---工欲善其事,必先利其器

posted @ 2021-04-08 23:57  lbeaner  阅读(209)  评论(0)    收藏  举报