【问题标题】:Laravel Redis php_network_getaddresses: getaddrinfo failed: Name or service not known [tcp://redis:6379]Laravel Redis php_network_getaddresses:getaddrinfo 失败:名称或服务未知 [tcp://redis:6379]
【发布时间】:2020-04-19 20:42:09
【问题描述】:

服务器抛出错误可能是由于网站流量过大或 redis 连接丢失。 但是找不到可以帮助解决的这个错误的原因。

每天凌晨 4 点左右,由于以下错误,服务器也会在特定的英国时间停止。

因此,任何有关这方面的帮助都会有所帮助。

Server : Digital Ocean
Frontend : React JS
Backend : laravel (5.8)
Used spiritix/lada-cache library for mysql cashing to manage large amount of data.
Application is running on Docker containers.

1) 错误:

production.ERROR: php_network_getaddresses: getaddrinfo failed: Name 或服务未知 [tcp://redis:6379] {"exception":"[object] (Predis\Connection\ConnectionException(代码:0): php_network_getaddresses:getaddrinfo 失败:名称或服务没有 已知 [tcp://redis:6379] 在 /var/www/vendor/predis/predis/src/Connection/AbstractConnection.php:155)

2) 错误:-

Redis - LOADING Redis 正在将数据集加载到内存中:

3) 错误:-

production.ERROR:连接被拒绝 [tcp://127.0.0.1:6379]

此错误也会停止服务器。

我尝试在 cron 调度程序上重新启动 docker down 容器。但实际问题不在于 docker 容器,而是一些内部 laravel 包,如 Predis | Ladacash 因无法找到确切的解决方案而抛出上述错误。

【问题讨论】:

    标签: laravel-5 redis docker-container


    【解决方案1】:

    由于您使用的是 docker,因此您不再应该使用 IP(例如 127.0.0.1)来引用您的 redis 服务器(docker 容器)。而是使用容器名称。

    1)运行:docker ps列出所有容器,然后找到redis服务器,并将container name列下的名称复制并粘贴到您的.env文件中作为主机。

    2) 确保你的 app 容器和 redis 容器在同一个网络中:

    docker network ls
    docker network inspect <network_name>
    

    【讨论】:

    • 对于临时解决方案已添加 cron usign shell 脚本以重新启动 redis docker 容器。
    • 如果我在 .env 中添加容器名称,它会停止正在运行的服务器。
    • 我不得不用户 0.0.0.0,容器名称或 127.0.0.1 不起作用
    【解决方案2】:

    有点无关紧要,因为这可能是导致此问题的很多原因,但在我的 2 个案例中,我已通过以下方式解决了此问题:

    1. 重新加载我的 .env:清除缓存:php artisan config:cache 并将 env 文件重新加载到缓存中:php artisan config:clear
    2. 我的 Docker 服务实际上在我的一个 Docker Swarm 节点(在这种情况下是一个工作人员)上关闭,因此重新启动我的节点/服务器重新启动了 Docker,它重新启动了我的 PHP-FPM 容器,该容器“损坏”并且没有与 Redis 容器通信不再在我的 Manager 节点上

    【讨论】:

      猜你喜欢
      • 2018-06-29
      • 2017-02-21
      • 2013-12-02
      • 2016-02-07
      • 1970-01-01
      • 1970-01-01
      • 2020-03-28
      • 1970-01-01
      • 2015-07-22
      相关资源
      最近更新 更多