【问题标题】:"searchd" is showing "FATAL: bind() failed on 0.0.0.0: Address already in use"“searchd”显示“致命:bind() 在 0.0.0.0 失败:地址已在使用中”
【发布时间】:2012-07-16 13:06:47
【问题描述】:

当我尝试命令 searchd 时,它显示:

using config file '/usr/local/etc/sphinx.conf'...
WARNING: compat_sphinxql_magics=1 is deprecated; please update your application and config
listening on all interfaces, port=9312
bind() failed on 0.0.0.0, retrying...
bind() failed on 0.0.0.0, retrying...
bind() failed on 0.0.0.0, retrying...
bind() failed on 0.0.0.0, retrying...
bind() failed on 0.0.0.0, retrying...
bind() failed on 0.0.0.0, retrying...
bind() failed on 0.0.0.0, retrying...
bind() failed on 0.0.0.0, retrying...
bind() failed on 0.0.0.0, retrying...
bind() failed on 0.0.0.0, retrying...
bind() failed on 0.0.0.0, retrying...
bind() failed on 0.0.0.0, retrying...
FATAL: bind() failed on 0.0.0.0: Address already in use

当我netstat -nlp 时,那个端口已经有searchd

  • 冲突?
  • 我该怎么办?

【问题讨论】:

  • 您是searchd 开发人员吗?

标签: linux port bind sphinx


【解决方案1】:

当 i ~# netstat -nlp 时,那个端口已经有“searchd”了。

如果您已经运行了 searchd,为什么还要尝试启动另一个?

如果您确实想运行两个实例(为什么?),那么您应该将它们安排在不同的端口上 - 每个实例都需要一个单独的配置文件。

【讨论】:

  • 是的,你是对的。但对我来说,我现在自己手动安装了“Sphinx”。但是有一个实例已经在运行。所以我越来越复杂。我应该删除那个实例还是什么。
  • 也许只是尝试“searchd --stop”来停止正在运行的实例。失败尝试“killall searchd”来杀死所有实例。然后尝试正常启动。这假设您只针对一个实例,而现有实例只是一个错误。
【解决方案2】:

可能是您没有特权或直接访问地址0.0.0.0:9312,或者它已被另一个进程使用。

尝试将 sphinx searchd 配置 listen 选项更改为另一个地址或确保该地址可用。

【讨论】:

    猜你喜欢
    • 2017-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-12
    • 2017-08-16
    • 2020-11-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多