具有多个主机的acts_as_ferret
我已经可以使用 ferret 和acts_as_ferret 进行开发(或localhost DRb),但我无法让多主机部署工作。所有远程系统在访问该端口时都会收到 ECONNREFUSED。在 ferret 服务器上,尽管配置将 FQDN 列为主机,守护程序仅在本地主机上侦听。
我还尝试切换到 UNIX 套接字以在 ferret DRb 守护进程和应用程序代码之间共享数据,但它也被 ECONNREFUSED 拒绝。 (该套接字可通过 NFS 安装供所有机器使用)。
有没有更好的方法来做到这一点,或者我应该寻找另一个搜索索引器?谢谢。
I've got everything working with ferret and acts_as_ferret for development (or localhost DRb), but I can't get my multiple host deployment working. All of the remote systems get ECONNREFUSED when accessing the port. On the ferret server, the daemon is listening on localhost only despite the configuration listing the FQDN as the host.
I also tried switching to a UNIX socket to share data between the ferret DRb daemon and the app code but it too gets ECONNREFUSED. (The socket is available to all of the machines via an NFS mount).
Is there a better way to do this or should I be looking for another search indexer? Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我确实发现,如果将地址更改为 druby://0.0.0.0:port,它将侦听 DRb 服务器上的所有 ip;但是,它不提供任何保护以防止不良代码注入 DRb 进程。
基本上不用雪貂。我使用 Xapian 和acts_as_xapian 进行 RoR。支持多进程读取,但只支持一次写入,属于离线索引。不过,我将能够通过共享文件系统 (NFS) 在多个服务器之间共享相同的索引。
I did figure out that if the address is changed to druby://0.0.0.0:port that it would listen on all ips on the DRb server; however, it doesn't provide any protection against bad code injection into the DRb process.
Basically don't use ferret. I'm on to Xapian with acts_as_xapian for RoR. It supports multiple processes reading but only one writing, so it's an offline index. However, I will be able to make use of sharing the same index between multiple servers via the shared file system (NFS).
查看acts_as_ferret的陷阱,用 DrbServer 来救援
http ://www.subelsky.com/2007/03/pitfalls-of-actsasferret-with-drbserver.html
对我来说效果很好。我唯一要添加的是确保将主机值设置为 ferret 运行的位置。
Check out Pitfalls of acts_as_ferret, with DrbServer to the rescue
http://www.subelsky.com/2007/03/pitfalls-of-actsasferret-with-drbserver.html
worked pretty well for me. The only thing I'd add is be sure to set the host value to where you're ferret is running.