【发布时间】:2017-03-01 11:00:48
【问题描述】:
是否可以在 tomcat 上运行 Solr 6.4.1? 我读到 Solr 不再支持 tomcat,是这样吗,如果是,没有 tomcat 有其他选择吗?
【问题讨论】:
是否可以在 tomcat 上运行 Solr 6.4.1? 我读到 Solr 不再支持 tomcat,是这样吗,如果是,没有 tomcat 有其他选择吗?
【问题讨论】:
是的,Solr 5 及以后的任何版本都不正式支持 Tomcat 作为替代方案。
原因有been documented on the wiki:
Solr 旨在成为服务器而不是 Java Web 应用程序,类似于 mysql 或 Apache Web 服务器。 Solr 最初创建时,将其设计为 Web 应用程序是一个方便的选择,以避免编写大量棘手的代码来构建网络层。如今,这一设计决策已成为一个限制因素。
当您下载 Solr 并将其安装到您的计算机上时,应该由 Solr 启动。无需将 Solr 安装到第三方应用程序(servlet 容器)中即可运行。
此时,Solr 仍然是一个 webapp,但这是一个内部实现细节,而不是一个不可变的属性。目的是使 Solr 成为一个完全独立的应用程序。启动包含容器的启动脚本是实现该目标的第一步。一旦 Solr 成为独立应用程序,Jetty 可能仍然是使用的技术,但如果发生这种情况,它将被内部嵌入。
目前您仍然可以尝试在不同的容器中运行 Solr,因为当前版本捆绑了 jetty 并将 Solr 加载到 jetty 中,但是您可能会遇到无法解释的问题,您总是会怀疑容器是问题所在。 . 如果遇到问题,在 Tomcat 下运行时报告错误也无济于事。
来自one of the comments on the old tomcat page on the community wiki:
如果您想违背建议并在 Tomcat 中运行 5.3 或更高版本,您可能仍然可以这样做,但您需要通知 tomcat 一个爆炸的 Web 应用程序(在 server/solr-webapp 中找到)而不是 .战争文件。
server/solr_webapp/webapp 文件夹是一个展开的 Web 应用程序。 Tomcat 文档应该可以告诉你如何添加这样的应用程序。
.. 但如果你现在正在部署 Solr,你真的不应该。使用 jetty 的捆绑版本(以后可能会更改为独立版本)和solr 命令/脚本。
【讨论】:
他们已经停止了对相同的支持。
其他选项可能是,您可以查看代码并查看是否可以构建 solr。我已经尝试过早期版本(3.3)。
我不确定当前版本。但这可能是您的选择。
【讨论】:
我已经发布了关于如何在 Tomcat here 上运行 solr 6.2 的说明。但是,这些说明不再适用于 Solr 6.3 或 6.4。
【讨论】: