我按照http://lucene.apache.org/solr/tutorial.html上的说明操作,我可以在我的电脑上设置Solr。
现在,当我来到我的VPS时,我无法克服这一步:$ java -jar start.jar
运行该命令后,可以在http://x.x.x.x:8983 / solr / select中找到搜索服务。
但是,每当我关闭SSH客户端时,http://x.x.x.x:8983 / solr / select上的服务也会关闭。所以我不能再搜索了。
我该怎么办?
我的VPS有512MB RAM,主要运行lighttpd,php和mySQL。你认为Solr适合我,还是Sphinx是更好的选择?我需要在我的网站上进行分面搜索。
感谢您的帮助。
答案 0 :(得分:3)
我认为你挑战的是,当你启动Solr时,你将它作为一个控制台进程启动,而不是作为一个守护进程。因此,当您注销时,它会杀死Java进程!有很多方法可以解决这个问题,从使用像“screen”这样的工具来保存正在运行的控制台进程,到使用nohup或java -jar start.jar&这样的命令。将这些进程发送到后台。
但是,您真正需要做的是在您的VPS上安装Tomcat或Jetty作为守护程序服务。您可以能够让您的VPS托管服务提供商为您执行此操作。
就你的硬件设置而言,我认为除非你有一个巨大的索引,或者非常繁忙的网站,否则512个RAM应该可以运行一个LAMP风格的网站和Solr。 Solr基于HTTP的一个好处是你可以随着负载的增加快速将你的Solr服务器移动到另一个VPS!
我会联系你的VPS提供商并询问他们是否支持/推荐Java ..如果是这样,你很高兴,如果没有,那么你需要一个好的Java支持VPS!
答案 1 :(得分:1)
我建议使用Tomcat运行Solr。这样您就可以轻松运行多种Solr配置。
您可以从Tomcat管理器控制Solr安装(停止/启动)。
要在Solr目录下存储Tomcat日志记录,请检查:http://globalgateway.wordpress.com/2010/01/06/configuring-solr-1-4-logging-with-log4j-in-tomcat/
答案 2 :(得分:1)
非常感谢你。我决定使用Jetty作为守护进程服务来为Solr服务,因为它轻巧且易于嵌入。它在我的VPS上工作得非常好(虽然这个守护进程使用了太多RAM - 50%)。
我的VPS很干净我可以毫无问题地设置Java。