2

这是我确定的:

  1. Delta 索引在开发中运行良好
  2. 当我推送到生产服务器时,增量索引不起作用,并且 searchd.log 中没有记录任何操作
  3. 我正在运行 Phusion Passenger,并且按照基本故障排除指南中的建议,已确认:
    1. www-data 有权运行索引 rake 任务(手动从命令行运行它们)
    2. indexer 和 searchd 的路径正确(/usr/local/bin)
    3. production.log 中没有错误

我到底可能会错过什么?我正在运行 Ruby Enterprise 1.8.6、Rails 2.3.4、Sphinx 0.9.8.1 和 Thinking Sphinx 1.2.11。

谢谢!

4

6 回答 6

1

昨晚我睡觉的时候它击中了我。毫不奇怪,这是一个涉及错误配置的愚蠢问题,尽管我对它产生的结果感到相当惊讶。我想我不太了解 Thinking Sphinx 的内部结构。

最近我迁移了服务器。sphinx.yml 看起来像这样:

production:
  bin_path: '/usr/local/bin'
  host: mysql.mysite.com

在新服务器上,MySQL 只是一个本地服务,但我忘记删除该行。有趣的是,手动 rake 重新索引仍然工作得很好。我很感兴趣 Thinking Sphinx 在尝试重新加载增量时没有抛出错误,因为 mysql.mysite.com 不再存在,尽管这显然是问题的根源。

感谢您的所有帮助,很抱歉提出了这样一个愚蠢的问题。

于 2009-10-26T19:11:34.473 回答
0

我遇到了这个问题并找到了上面提到的“bin_path”解决方案。当它似乎不起作用时,我花了一段时间才意识到,当我在“临时”环境中进行测试时,我已经粘贴了“生产”的示例代码。问题解决了!

这是在确保配置、索引和启动 sphinx 的 rake 任务都以与乘客实例相同的用户身份运行之后。如果您以 root 身份登录服务器来运行这些任务,它们将在控制台中工作,但不能通过乘客。

于 2010-03-03T14:35:05.897 回答
0

这是我将采取的下一个故障排除步骤。打开您正在使用的增量索引策略的文件(大概lib/thinking_sphinx/deltas/default_delta.rb)。找到它实际生成索引命令的行。在我的(v1.1.6)中是第 20 行:

output = `#{config.bin_path}indexer --config #{config.config_file} #{rotate} #{delta_index_name model}`

更改它,以便您可以记录命令本身,也可以记录输出:

command = `#{config.bin_path}indexer --config #{config.config_file} #{rotate} #{delta_index_name model}`
RAILS_DEFAULT_LOGGER.info(command)
output = `#{command}`
RAILS_DEFAULT_LOGGER.info(output)

将其部署到生产环境并在修改增量索引模型时跟踪日志。希望这会真正向您展示问题。当然,问题可能出在代码的其他地方,你甚至不会到达这一点,但这就是我要开始的地方。

于 2009-10-26T03:14:13.090 回答
0

如上所述,我们在两台机器上面临同样的问题。第一个问题是我们在 apache2 日志中显示的 mysql 问题。似乎只影响本地 OSX 机器..

第二次部署到 Ubuntu 服务器时,我们遇到了同样的问题。Rails c生产很好,没有错误,bla bla bla。

最终成为权限问题。无法弄清楚这一点,因为启动没有问题,尽管我想我是以 root 身份这样做的。

使用 capistrano 和乘客,我们这样做了:

  1. 创建一个乘客用户并添加到 www-data 组
  2. 将 deploy.rb 中的用户更改为乘客
  3. 手动将所有 /current 文件更改为上述所有文件
  4. 以乘客用户身份登录。
  5. Ran rake ts:rebuild RAILS_ENV="production"

为我们工作了一个款待...

祝你好运

于 2011-07-22T23:13:44.257 回答
0

我有同样的问题。在命令行上工作,而不是在应用程序中。

结果我们仍然有一个用于索引的从属数据库,但是从属数据库没有得到更新。

于 2010-04-14T15:13:48.510 回答
0

Apache/Nginx 的错误日志中是否有任何线索?

于 2009-10-26T02:36:37.747 回答