【问题标题】:Can't bind TCP listener *:6379 using Redis on Windows无法在 Windows 上使用 Redis 绑定 TCP 侦听器 *:6379
【发布时间】:2021-06-22 12:12:50
【问题描述】:

我在 Windows 上使用从 github 版本下载的 Redis 2.8。解压后,我在redis.windows.conf 文件中设置了maxheap。运行redis-server redis.windows.conf 后我得到# Creating Server TCP listening socket *:6379:No such file or directory,但redis 运行不正确。我不知道为什么。

【问题讨论】:

  • 现在服务正常了。我在同一个窗口中运行redis-cli.exe,它连接正确。然后我输入shutdown,服务结束。重新打开一个命令窗口,输入redis-server。服务运行正常。但是我还是不明白为什么# Creating Server TCP listening socket *:6379:No such file or directory出来了。
  • 我今天早上在 Win 2008 R2 上遇到了同样的问题。您的评论有效,因此您应该发布并接受它作为答案:)
  • @verbumSapienti 好的,我会发布答案。
  • 您可以通过答案左侧的勾号接受它

标签: redis


【解决方案1】:

您一定使用过 .msi 安装程序。它会自动注册一个安装后立即启动的 Windows 服务(至少在我的 win 10 机器上)。

此服务使用默认配置并绑定到端口 6379。当您从命令行启动 redis-server 时,如果您没有通过配置文件指定不同的端口,它会再次选择默认配置并尝试绑定到端口 6379 失败。

您的 cli 可以正常工作,因为它连接到已在 6379 上侦听的 redis 服务。您的 shutdown 命令会停止该服务,并从那里按预期工作。谜团已揭开。结案。

【讨论】:

  • 完美答案。
  • 完美答案!
  • 很高兴听到性感野兽的消息。我的人生圆满了;)
  • 如果你想完全删除正在运行的 Redis 作为服务,在 windows 上:Windows 键(运行)> Regedit > "HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Redis" > 鼠标右键 > 删除跨度>
  • 很好的答案!这帮助很大。我以为有问题,但事实证明这不是问题。只需要知道这一点。
【解决方案2】:

cd到Redis的bin目录下,运行

  1. redis-cli.exe
  2. 关机
  3. 退出

打开另一个cmd窗口,cd到Redis的bin目录,运行

4.redis-server.exe

【讨论】:

  • 几句话的解释会让这更有帮助。
  • 你是天使。谢谢!
  • 即使它说服务器没有运行它也能正常工作
  • 谢谢!像魅力一样工作
【解决方案3】:

现在服务正常。我在同一个窗口中运行redis-cli.exe,它连接正确。然后我输入shutdown,服务结束。重新打开命令窗口,输入redis-server。服务运行正常。但是我还是不明白为什么# Creating Server TCP listening socket *:6379:No such file or directory出来了。

【讨论】:

  • 不。当我运行 redis-cli.exe 时,我看到一个黑屏。连打字都不会。所以将端口更改为 6380 就可以了!
  • "但是我还是不明白为什么#Creating Server TCP listener socket *:6379:No such file or directory出来了。" - 因为你有一个 Redis 服务器作为 Windows 服务运行。您的关机命令将其停止。或者,您可以进入计算机管理 > 服务和应用程序 > 服务并停止 Redis 并将其设置为在启动时不自动启动。
【解决方案4】:

我们遇到了类似/相关的“redis-server.exe”服务托管问题。

安装 Redis Windows 服务后,我们可以在本地访问端口 6379 上的服务,但不能从远程客户端访问(即使防火墙配置为允许端口上的入站流量)。

为了解决这个问题,我们不得不编辑 redis.windows-service.conf 配置文件并更改以下内容:

  • bind 127.0.0.1需要使用实际IP地址
  • protected-mode yes 需要设置为“否”

进行上述更改后,我们重新启动了 Redis 服务并能够从所有客户端进行连接。

【讨论】:

  • 这解决了我的问题。这可能是答案:一切(包括防火墙、服务器等)都已正确配置,并且可以从同一主机访问,但不能从其他主机访问。
【解决方案5】:

它很简单,很适合我: -打开redis-cli(默认在C:\Program Files\Redis)并运行这个命令:

关机

完成。

现在打开cmd 并再次尝试redis-server

我知道回答有点晚了,但是因为也许其他人后来遇到了这个问题,所以我回答了。

【讨论】:

    【解决方案6】:

    收到此错误后,打开cli并按命令“shutdown”并重新启动redis服务器。你已准备好出发。您将获得徽标,一切都按预期进行。

    【讨论】:

      【解决方案7】:
      1. 检查端口(如果其他东西正在使用redis端口)
      2. 使用redis-server xxx.conf 使用您的配置运行服务器
      3. 尝试使用redis-cli
      4. 检查 redis 问题(https://github.com/ServiceStack/redis-windows/wiki/Issues-might-happen)

        C:\redis>redis-server.exe --service-install [8124] 2 月 3 日 23:58:14.573 # HandleServiceCommands: 捕获系统错误。错误代码 = 1073,消息 = CreateService 失败:未知错误

        C:\redis>redis-server --service-install redis.windows.conf --loglevel verbose [10848] 04 Feb 00:00:40.508 # HandleServiceCommands: 系统错误被捕获。错误代码=1073,消息 = CreateService 失败:未知错误

        C:\redis>redis-server --service-install --service-name redisService1 –port 100 01 打开.conf文件失败:10001 CWD=C:\redis

        C:\redis>redis-server --service-install redis.windows.conf --service-name redis Service1 --port 10001 打开.conf文件失败:10001 CWD=C:\redis

        C:\redis>redis-server --service-install redis.windows.conf --service-name redis Service1 --port 10001 打开.conf文件失败:10001 CWD=C:\redis

        C:\redis>redis-server --service-install C:\redis\redis.windows.conf --service-name redisService1 --port 10001 打开.conf文件失败:10001 CWD=C:\ redis

        C:\redis>redis-server --service-install C:\redis\redis.windows.conf --service-name redisService1 --port 10001 打开.conf文件失败:10001 CWD=C:\ redis

        C:\redis>redis-server --service-install redis.windows.conf --service-name redis Service1 --port 10001 打开.conf文件失败:10001 CWD=C:\redis

        C:\redis> C:\redis>redis-server --service-install redis.windows.conf --service-name redis Service1 --port 10001 打开.conf文件失败:10001 CWD=C:\ redis

        C:\redis>redis-server --service-install redis.windows.conf --loglevel verbose [11572] 04 Feb 00:03:34.847 #HandleServiceCommands: 捕获系统错误。错误代码=1073,消息 = CreateService 失败:未知错误

        C:\redis>redis-server --service-install redis.windows.conf --loglevel verbose -- service-name redisService [7484] 04 Feb 00:03:53.610 # 授予对 'NT 的读/写访问权限AUTHORITY\Network Service' on: "C:\redis" "C:\redis" [7484] 04 Feb 00:03:53.612 # Redis 成功安装为服务。

      【讨论】:

        【解决方案8】:

        重新启动后得到相同的行为。最初以为 Redis 没有运行,但你的问题让我又挖了一些。显然,有一个名为“Redis”的 Windows 服务,它在计算机重新启动后启动。

        【讨论】:

          【解决方案9】:

          我刚刚收到相同的错误消息,但根本原因不同:我从另一台机器上复制了配置文件,但它包含一个包含 IP 地址的“绑定”条目,这肯定是无效的新机器, 即绑定234.234.234.234

          我将其更改为正确的地址,它按预期工作。

          【讨论】:

            【解决方案10】:

            正如@FeigMan 所说,您一定使用过 .msi 安装程序。它会自动注册一个安装后立即启动的 Windows 服务。

            我遇到以下错误:

            [15052] 10 Apr 14:40:14.601 # 创建服务器 TCP 监听套接字 *:6379:listen: Unknown error

            如果服务已经在运行,您将收到上述错误。
            根据需要,您可以通过以下命令重新启动服务:

            redis-server --service-stop
            redis-server --service-start

            【讨论】:

              【解决方案11】:

              对于使用 windows 安装程序安装后的 windows。因此,请检查您的 Redis 服务器是否已启动并运行。 前往 redis-cli 进行检查

              redis-cli 127.0.0.1:6379>

              【讨论】:

                猜你喜欢
                • 2019-02-19
                • 2020-07-31
                • 2020-06-29
                • 1970-01-01
                • 2021-12-22
                • 2016-12-30
                • 1970-01-01
                • 2021-07-20
                • 2012-01-24
                相关资源
                最近更新 更多