php - 如何为Redis设置密码?

标签 php redis

我在我的本地机器上使用 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] 23 Sep 20:23:03 # Fatal error, can't open config file 'stop'

    通常在我的本地机器上输入

    /etc/init.d/redis-server stop

要停止 redis 服务器,但它不能在我的实时服务器上运行,因为在我的/etc/init.d 中没有名为 redis-server 的进程

最佳答案

要设置密码,编辑你的redis.conf文件,找到这一行

# requirepass foobared

然后取消注释并将 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 停止 你习惯在你的实时服务器上工作。/etc/init.d/中的所有这些文件都只是 shell 脚本,将 redis-server 脚本从本地服务器上取下,然后将其复制到同一位置的实时服务器,然后看看它用 vi 或其他东西做了什么你喜欢用,你可能需要修改一些路径之类的,但应该很简单。

关于php - 如何为Redis设置密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7537905/

相关文章:

java - Redis 集群与 Spring Boot 集成

PHPUnit 生成的测试骨架路径

php - 如何在 PHP 中获取 float 的二进制表示?

caching - ArangoDb 作为 redis 的缓存服务器替代品

java - Spring Session Redis 无法使用 ClassNotFoundException 反序列化

postgresql - Postgres : NOT IN array instead of NOT EXISTS expression

php - 如何合并三个表(MySQL)?

php - 如何在 php(ubuntu) 上模拟 on_script_close,就像 .net on_form_close 行为一样?

php - CPA 下载报价线索(php、javascript、html、sql)

django - 使用 Redis、Celery 设置 Django 以通过 Gmail 发送电子邮件