Ruby on rails sphinx search安装在根目录下,如何更改所有者?
我遵循了本教程: 在ec2上的Ubuntu12上安装了sphinx,问题是我的rails应用程序是在一个名为“ubuntu”的用户下运行的,在我的 searchd.log 文件我看到它无法访问*.spl文件的警告Ruby on rails sphinx search安装在根目录下,如何更改所有者?,ruby-on-rails,sphinx,thinking-sphinx,Ruby On Rails,Sphinx,Thinking Sphinx,我遵循了本教程: 在ec2上的Ubuntu12上安装了sphinx,问题是我的rails应用程序是在一个名为“ubuntu”的用户下运行的,在我的 searchd.log 文件我看到它无法访问*.spl文件的警告 FATAL: failed to open /home/ubuntu/sites/app/shared/db/sphinx/production/group.tmp.spl: Permission denied, will not index. Try --rotate
FATAL: failed to open /home/ubuntu/sites/app/shared/db/sphinx/production/group.tmp.spl: Permission denied, will not index. Try --rotate option.
如何更改它,使所有sphinx都在ubuntu用户而不是root用户下运行?我认为问题可能出现在
sudo su
的开始(在教程中),您以root用户身份登录;您应该只使用sudo在EC2中安装
一年半前,我在EC2中安装了Sphinx,但我从未使用过sudosu
。我建议您卸载Sphinx并重新安装:
/Configure–prefix=/usr/local
make
sudo make安装
此外,你应该尝试太阳黑子与索尔(我从斯芬克斯移动到索尔,它在我看来更好的原因有很多,有很多基准)。希望有帮助。使用root安装Sphinx很好,但您需要确保以
ubuntu
用户的身份运行所有Thinking Sphinx rake任务
我建议您停止Sphinx守护程序(如果正在运行),然后删除索引文件,然后通过
ubuntu
用户运行ts:rebuild
rake任务,以确保新的索引文件和守护程序设置了正确的权限。谢谢您的回答。认为sphinx正在和我的ubuntu用户一起运行(我认为,否则它可能无法访问这些索引文件),我如何检查sphinx deamon是否正在运行?(很抱歉回答这个问题)今天晚些时候我会尝试你的解决方案。谢谢你,如果有搜索过程,那就是斯芬克斯。它还应该告诉您正在运行该进程的用户。已删除所有索引文件。已终止该进程,然后运行ts:rebuild以启动该进程。我运行了ts:reindex,然后它给出了相同的权限拒绝错误,整个文件夹再次填充了属于root用户的文件。你确定要用ubuntu用户运行ts:rebuild吗?是的,确定。我只使用ubuntu用户连接到服务器,最后我像你说的那样卸载并再次安装,它成功了