将redis设置为远程可访问
程序员文章站
2022-05-29 08:17:40
...
最近买了个云服务器,把django项目放在了网上,由于开启runserver时,终端不能查看缓存的信息状态,所以把redis-server设置为外网可连接的状态,其中遇到了一些问题,打算记录一下以免下次继续踩坑:
一、设置redis-server为远程可以链接状态
- 找到redis.conf文件
sudo vim /etc/redis/redis.conf
; - 将
prominze-mode
设置为no
(默认为yes
,将拒绝远程访问); - 将
bind
设置为0.0.0.0
(允许所有ip地址访问); - 将
requirepass
设置为你指定的密码(原字段为# requirepass foobared
,取消备注将为redis服务器设置密码,避免其他ip恶意访问redis服务器) - 重启redis服务器:执行
ps aux | grep redis-server
查看服务器是否在运行,如果在运行,则将进程关闭;或者执行redis-cli shutdown
将服务器关闭,然后重新启动redis服务器(redis-server
即可)。
二、在redis-cli命令下链接远程redis-server的方法
- 再想要链接redis服务器的电脑上打开终端,执行命令
sudo ./redis-cli -h ip(服务器的ip) -p 6379
- 链接成功后如果运行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圆柱