我在我的本地机器上使用redis所以我真的不需要设置密码来连接到我的php客户端服务器(我使用predis作为客户端)。但是,我正在将我的应用程序移动到实时服务器,所以我想设置一个密码来连接到我的redis服务器。
我几乎没有问题:
我在互联网上检查了如何设置密码,看起来我需要在redis.conf中添加密码。我无法找到我应该在配置文件中添加的内容来设置密码。
也在predis中我应该如何添加密码。我正在使用以下参数数组连接到redis服务器
$ my_server = array('host'=>'127.0.0.1','port'=> 6379,'database'=> 1);
我应该这样添加密码吗?
> $my_server = array('host' => '127.0.0.1','port' =>
> 6379,'database' => 1,'password'=>password);
最后一个问题,我正在尝试在实时服务器上停止我的redis-server。每次我输入以下命令时,我都会收到相同的错误消息
redis-server stop
[23925] 9月23日20:23:03#致命错误,无法打开配置文件'停止'
通常在我的本地机器上输入
/etc/init.d/redis-server stop
停止redis服务器,但它不能在我的实时服务器上工作,因为我的/etc/init.d中没有名为redis-server的进程
答案 0 :(得分:66)
要设置密码,请编辑redis.conf文件,找到此行
# requirepass foobared
然后取消注释并更改为您的密码。确保你选择了很长的东西,32个字符左右可能会很好,外面的用户很容易每秒猜出超过150k的密码,如配置文件中的注释所示。
要使用predis使用新密码进行身份验证,您显示的语法是正确的。只需添加密码作为连接参数之一。
要关闭redis ...请在配置文件中查看pidfile
设置,它可能是
pidfile /var/run/redis.pid
从命令行运行:
cat /var/run/redis.pid
这将为您提供正在运行的服务器的进程ID,然后使用该pid终止进程:
kill 3832
<强>更新强>
我还想补充一点,您也可以将/etc/init.d/redis-server stop
用于在您的实时服务器上运行。 /etc/init.d/中的所有文件都只是shell脚本,将redis-server脚本从本地服务器上取下,然后将其复制到同一位置的实时服务器,然后查看它对vi或其他任何内容的作用你想使用它,你可能需要修改一些路径等,但它应该很简单。
答案 1 :(得分:41)
您还可以在客户端上使用以下命令
cmd :: config set requirepass p@ss$12E45
上面的命令会将p@ss$12E45
设置为redis
服务器密码。
答案 2 :(得分:16)
sudo nano /etc/redis/redis.conf
查找并取消注释行# requirepass foobared
,然后重新启动服务器
现在您的密码为foobared
答案 3 :(得分:14)
示例:
redis 127.0.0.1:6379> AUTH PASSWORD
(error) ERR Client sent AUTH, but no password is set
redis 127.0.0.1:6379> CONFIG SET requirepass "mypass"
OK
redis 127.0.0.1:6379> AUTH mypass
Ok
答案 4 :(得分:7)
对于那些使用 docker-compose
的人来说,设置密码真的很容易,不需要像 redis.conf
这样的任何配置文件。以下是您通常使用官方 Redis 映像的方式:
redis:
image: 'redis:4-alpine'
ports:
- '6379:6379'
您只需更改以下内容即可设置自定义密码:
redis:
image: 'redis:4-alpine'
command: redis-server --requirepass yourpassword
ports:
- '6379:6379'
一切都将正常启动,您的 Redis 服务器将受到密码保护。
有关详细信息,this blog post 似乎支持这个想法。
答案 5 :(得分:6)
使用redis-cli:
root@server:~# redis-cli
127.0.0.1:6379> CONFIG SET requirepass secret_password
OK
这将暂时设置密码(直到redis或服务器重启)
测试密码:
root@server:~# redis-cli
127.0.0.1:6379> AUTH secret_password
OK
答案 6 :(得分:3)
打开redis配置文件
sudo nano /etc/redis/redis.conf
设置密码短语
替换
# requirepass foobared
与
requirepass YOURPASSPHRASE
重启redis
redis-server restart
答案 7 :(得分:3)
为此,您需要更新redis配置文件。默认情况下,redis没有任何密码。
01)打开redis配置文件
sudo vi /etc/redis/redis.conf
在 SECURITY 部分下找到 requirepass 字段并取消注释该字段。然后设置密码而不是“foobared”
# requirepass foobared
应该是,
requirepass YOUR_PASSWORD
然后重启redis并启动redis-cli。
如果您需要检查是否正确设置了密码,可以在redis-cli中运行以下逗号。
sithara@sithara-X555UJ ~ $ redis-cli
127.0.0.1:6379> set key1 18
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth admin
OK
127.0.0.1:6379> get key1
(nil)
127.0.0.1:6379> exit
sithara@sithara-X555UJ ~ $ redis-cli
127.0.0.1:6379> set key1 18
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth admin
OK
127.0.0.1:6379> set key2 check
OK
127.0.0.1:6379> get key2
"check"
127.0.0.1:6379> get key1
(nil)
127.0.0.1:6379> set key1 20
OK
127.0.0.1:6379> get key1
"20"
127.0.0.1:6379> exit
`
答案 8 :(得分:3)
步骤1.使用以下命令停止redis服务器 /etc/init.d/redis-server停止 step 2.enter命令:sudo nano /etc/redis/redis.conf
步骤3.找到#equirepass foobared word并删除#并将foobared改为你的密码
离。 requirepass root
答案 9 :(得分:1)
我无法找到我应该添加到配置的确切内容 用于设置密码的文件。
配置文件应位于/etc/redis/redis.conf
,密码可以在SECURITY部分设置,该部分应位于REPLICATION和LIMITS部分之间。密码设置使用requirepass指令完成。有关更多信息,请尝试查看AUTH命令说明。
答案 10 :(得分:0)
步骤1.使用以下命令停止redis服务器 /etc/init.d/redis-server stop
step 2.enter命令:sudo nano /etc/redis/redis.conf
步骤3.找到#equirepass foobared word并删除#并将foobared改为你的密码
离。 requirepass root
答案 11 :(得分:0)
运行命令
redis-cli
redis 127.0.0.1:6379> AUTH PASSWORD
(error) ERR Client sent AUTH, but no password is set
redis 127.0.0.1:6379> CONFIG SET requirepass "amolpass"
OK
redis 127.0.0.1:6379> AUTH amolpass
Ok
-------------------OR ----------------------
获取Redis安装路径
<块引用>redis-cli 配置获取目录
获取配置文件路径
sudo find / -name "redis.conf" -exec grep -H "^dir" {} \; 2> /dev/null
生成与此相同的密码:
<块引用>echo "amol-pass" | sha1sum 输出 :960c3dac4fa81b4204779fd16ad7c954f95942876b9c4fb1a255667a9dbe389d
Edit : /etc/redis/redis.conf
requirepass 960c3dac4fa81b4204779fd16ad7c954f95942876b9c4fb1a255667a9dbe389d
重启Redis
service redis-server restart
TEST Command :
redis-cli
set key1 10
(error) NOAUTH Authentication required.
auth your_redis_password