Lucene/Solr搜索引擎开发系列 - 第2章 Solr安装与部署(Tomcat篇)
一、安装环境
图1-1 Tomcat和Solr的版本
我本机目前使用的Java版本为JDK 1.8,因为Solr 4.9要求Java版本为1.7+,请注意。
二、Solr部署到Tomcat流程
图1-2 Tomcat安装目录
1、如图1-2所示,为Tomcat的解压目录;
图1-3 Tomcat首页
2、在目录E:\apache-tomcat-8.0.9\bin中,找到startup.bat文件,双击该文件,启动Tomcat服务器,等待几秒钟后,在浏览器中输入http://localhost:8080/,如果服务器启动正常的话,则会出现如图1-3所示的界面;
3、在E:\apache-tomcat-8.0.9\conf\server.xml中,找到<Connector>标签,在该标签尾端添加URIEncoding="UTF-8",目的为解决中文搜索乱码,如下代码所示:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>
图1-4 solr-4.9.1.war复制粘贴到当前目录,改名为solr.war
图1-5 Tomcat的webapps目录
4、将目录E:\solr-4.9.1\dist中的solr.war文件,复制到E:\apache-tomcat-8.0.9\webapps中,因为我们之前已经启动的Tomcat服务器,所以solr.war会自动解压出solr文件夹,如上图1-5所示;
图1-6 关键文件复制
5、关闭Tomcat服务器(也就是关闭startup.bat启动的那个命令行界面),E:\apache-tomcat-8.0.9\webapps目录下新建文件夹solr_home,然后将E:\solr-4.9.1\example\solr中的文件夹collection1和solr.xml复制到E:\apache-tomcat-8.0.9\webapps\solr_home目录中;
图1-7 配置文件修改solr_home
6、打开文件E:\apache-tomcat-8.0.9\webapps\solr\WEB-INF\web.xml,找到<env-entry>标签,修改代码部分如上图1-7所示;
图1-8 static firstSearcher warming in solrconfig.xml ---> *.*
7、打开E:\apache-tomcat-8.0.9\webapps\solr_home\collection1\conf\solrconfig.xml,将<listener event="firstSearcher" class="solr.QuerySenderListener">标签下内容按图1-8修改;
图1-9 关键目录的复制
8、将E:\solr-4.9.1中的contrib文件夹和dist文件夹复制到E:\apache-tomcat-8.0.9中;
图1-10 配置Solr日志模块
9、将E:\solr-4.9.1\example\lib\ext下的5个jar包复制到E:\apache-tomcat-8.0.9\webapps\solr\WEB-INF\lib中;
图1-11 配置日志输出路径到Tomcat的logs文件夹
10、在E:\apache-tomcat-8.0.9\webapps\solr\WEB-INF文件夹中新建classes文件夹,复制E:\solr-4.9.1\example\resources\log4j.properties文件到classes文件夹中,修改log4j.properties文件,将“log4j.appender.file.File”的值修改为“../logs/solr.log”;
图1-12 Solr在Tomcat中运行成功
11、删除E:\apache-tomcat-8.0.9\webapps文件夹下的solr.war文件,重启Tomcat,在浏览器中输入http://localhost:8080/solr,出现上图1-12所示界面,则表明Solr在Tomcat中已经配置成功;
三、本章总结
通过上一篇文章《Lucene/Solr搜索引擎开发系列 - 第1章 Solr安装与部署(Jetty篇)》,我们知道,Jetty服务器是Solr的默认服务器,只需要将Solr解压缩,启动Jetty服务器,在浏览器中输入http://localhost:8983/solr/就可以运行Solr后台。
为何我们要如此费劲的将Solr配置到Tomcat中呢?原因有以下几点:
1、经过多年的发展,一般企业都使用Tomcat作为开发和部署环境;
2、程序员们对Tomcat的熟悉度,比Jetty要高很多,当Tomcat出现问题,也容易解决;
3、大部分Java Web开发视频,都是基于Tomcat来进行开发讲解,传播范围广;
转载须知:
请尊重本人知识产权和劳动成果,本文可自由转载,请注明出处:
博客网址:http://www.cnblogs.com/zs8861/
联系邮箱:[email protected]
欢迎交流!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。