在 Tomcat 中部署 Solr 服务
Tomcat 版本: apache-tomcat-9.0.73
Solr 版本:7.7.3
Tomcat 安装部署
根据自己的需要及系统环境下载对应的 Tomcat 版本,官网地址:https://tomcat.apache.org/。
Tomcat 默认端口使用的是 8080,如果想要更改端口号可以在安装目录中找到 conf/server.xml 文件,将其中的 8080 端口改成其他端口,如下所示:
<Connector port="9073" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
这里我将端口改成了9073。
之后在 bin 目录下启动 startup.sh
脚本,如果是 Windows 系统则启动 startup.bat
脚本,如果想要关闭服务则使用 shutdown.sh
脚本
下载 Solr 服务
下载对应版本的 Solr 服务,下载地址为:https://solr.apache.org/downloads.html
这里我选择下载 7.7.3 版本的。
下载完后进行解压,其目录结构如下:
部署配置
我们可以按下面的步骤进行操作:
-
在 Tomcat 的 webapps 目录下创建一个名为 solr 的文件夹。
-
将 Solr 服务的
server/solr-webapp/webapp
目录下的所有文件复制到刚刚创建的webapps/solr
文件夹中。
-
从 Solr 服务目录下的
server/lib/ext
目录中复制所有 JAR 文件到我们刚刚创建的webapps/solr/WEB-INF/lib
文件夹中,同时将 Solr 服务目录下的server/lib
目录中所有以 metrics 开头的 JAR 文件也复制到webapps/solr/WEB-INF/lib
文件夹中。
-
可以自己在机器的任意目录下创建一个 solrhome 文件夹。然后,将 Solr 服务目录下的
server/solr
目录中的所有文件复制到刚刚创建的 solrhome 文件夹中。
-
进入到 Tomcat 中的
webapps/solr
目录找到webapp/web.xml
文件
在该文件中新增如下配置,以配置 solrhome 的路径:<!-- 修改solrhome路径 --> <env-entry> <env-entry-name>solr/home</env-entry-name> <env-entry-value>请填写您的solrhome路径</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry>
同时,将如下配置注释掉:
<!-- Get rid of error message <security-constraint> <web-resource-collection> <web-resource-name>Disable TRACE</web-resource-name> <url-pattern>/</url-pattern> <http-method>TRACE</http-method> </web-resource-collection> <auth-constraint/> </security-constraint> <security-constraint> <web-resource-collection> <web-resource-name>Enable everything but TRACE</web-resource-name> <url-pattern>/</url-pattern> <http-method-omission>TRACE</http-method-omission> </web-resource-collection> </security-constraint> -->
-
在 Tomcat 所复制的 Solr 目录下创建一个名为 classes 的文件夹,并将 Solr 服务目录的
server/resources/log4j.properties
文件复制到该文件夹中。
-
最后,重启 Tomcat,访问 http://localhost:9073/solr/index.html 即可打开 Solr 页面。