【问题标题】:How to use Thinking Sphinx with a Dokku deployed Rails app?如何将 Thinking Sphinx 与 Dokku 部署的 Rails 应用程序一起使用?
【发布时间】:2016-03-31 14:39:18
【问题描述】:

我在服务器上安装了 sphinx search。现在我尝试将 sphinx 的 searchd 的配置符号链接到当前部署的 sphinx 配置文件,该文件由思维 sphinx 生成。知道怎么做吗?我还没有找到链接到 Dokku 部署中的文件的方法。此外,我似乎需要重新启动 Sphinx 并在每次部署时重新链接配置,因为配置可能已经更改。任何提示/建议如何做到这一点?

【问题讨论】:

  • 如果您可以使用 CLI 访问您的 VM,请查看此答案:stackoverflow.com/a/1951752/2430657。根据该答案,符号链接的命令是:ln -s /path/to/file /path/to/symlink
  • 谢谢。符号链接本身不是问题。我没有当前部署的位置。需要先找到那个。而且这种情况一直在变化,因此每次部署都必须更新符号链接。

标签: ruby-on-rails sphinx thinking-sphinx dokku


【解决方案1】:

您可以使用存储插件将您的 rails 应用程序中的路径挂载到磁盘上的路径。

【讨论】:

  • 我如何确保 sphinx 使用当前部署的配置?我假设每次部署时都必须重新启动 sphinx。作为 hack,只要 sphinx 配置更改,我就可以手动执行此操作。我想为了自动化这个我必须写一个 dokku 插件?
  • 啊,实际上,我不需要在部署时重新启动 sphinx,但是每当在持久存储中生成新配置时...我想应该可以,我会尝试的!
  • 到目前为止还没有运气。我收到文件路径和权限问题。但我使用记忆答案更进一步。
  • @nico 你设法让它工作了吗?如果是的话,你能分享一下吗?谢谢人!
  • @tiago 我们暂时放弃了该项目,但据我所知,我们已经让它工作了。我的同事主要在做这件事,我会问他。
【解决方案2】:

在我的情况下,我在 dokku(0.5.3) 中启动 sphinx:
配置文件:https://gist.github.com/misteral/b6669a08f5daa63fe56e61798fe9a9f0
插件:
1. dokku-apt - 从应用容器中的 deb 包安装 sphinx
2. dokku-logging-supervisord - 用于在应用容器中启动 sphinx

【讨论】:

  • 您可以在 Procfile 中将 sphinx 作为自定义命令启动并使用 ps plugin 对其进行扩展,而无需 logging-supervisord 插件。
  • 谢谢,我试试看。
  • 我想我会先尝试存储插件解决方案。这样,sphinx 就不需要为每次部署重新安装/重新启动。
  • 我确实想到 sphinx 开始搜索并构建我的索引,但是,当我尝试进行搜索查询时,我得到:无法连接到 '127.0.0.1' 上的 MySQL 服务器。有什么想法吗?
  • 有趣的是 rake ts:regenerate 工作正常,开始搜索。但是 rake ts:start 失败并显示“无法启动 searchd 守护进程。检查 /app/log/staging.searchd.log。”但是,该日志文件不存在。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-15
  • 2021-06-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多