欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

将redis设置为远程可访问

程序员文章站 2022-05-29 08:17:40
...

最近买了个云服务器,把django项目放在了网上,由于开启runserver时,终端不能查看缓存的信息状态,所以把redis-server设置为外网可连接的状态,其中遇到了一些问题,打算记录一下以免下次继续踩坑:

一、设置redis-server为远程可以链接状态

  1. 找到redis.conf文件sudo vim /etc/redis/redis.conf
  2. prominze-mode设置为no(默认为yes,将拒绝远程访问);
  3. bind设置为0.0.0.0(允许所有ip地址访问);
  4. requirepass设置为你指定的密码(原字段为# requirepass foobared ,取消备注将为redis服务器设置密码,避免其他ip恶意访问redis服务器)
  5. 重启redis服务器:执行ps aux | grep redis-server查看服务器是否在运行,如果在运行,则将进程关闭;或者执行redis-cli shutdown将服务器关闭,然后重新启动redis服务器(redis-server即可)。

二、在redis-cli命令下链接远程redis-server的方法

  1. 再想要链接redis服务器的电脑上打开终端,执行命令sudo ./redis-cli -h ip(服务器的ip) -p 6379
  2. 链接成功后如果运行redis命令会报错(error) NOAUTH Authentication required.,这时候需要输入auth 你设置的requirepass,然后就可以正常访问远程redis服务器的信息了。

三、django项目中的设置

我在缓存设置没有更改的情况下至今启动项目后,访问网站会报错Authentication required.,后来发现要在OPTIONS里添加redis的服务器密码:

# 缓存
CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://ip:port/db",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
            "PASSWORD": '123456'  # 添加的内容
        }
    }
}

这样网站就恢复正常可访问的状态了。

上一篇: Virtualenv

下一篇: python 绘制3D圆柱