最近在学习solr,在windows下部署好后想在linux下部署一下。
参考windows部署:http://blog.csdn.net/upxiaofeng/article/details/51425732
部署前提:
centos:6.5 tomcat:8
jdk:8
步骤:
1、官网下载solr-6.4.2.tgz并上传到服务器,我使用的虚拟机,用xshell连接的linux,所以直接从本地吧安装包拖进了linux。
2、新建一个解压目录,进入安装目录进行解压
tar xvfz solr-6.4.2.tgz
3.复制解压目录下server/solr-webapp/webapp文件夹到tomcat下的webapps下,并重命名solr(项目名)。有桌面的可以直接用鼠标完成,或者使用命令。
cp -r /解压目录/server/solr-webapp/webapp /tomcat安装目录/webapps/
mv进行重命名
4.将solr-6.4.2/server/lib下的所有jar包复制到tomcat下的webapps/solr/WEB-INF/lib下
cp -r /解压目录/server/lib/* /tomcat安装目录/webapps/solr/WEB-INF/lib/
5.将solr-6.4.2/server/solr文件夹复制到tomcat目录下的webapps/solr/文件夹下,并重命名为solrhome
cp -r /解压目录/server/solr /tomcat安装目录/webapps/solr/
mv进行重命名
6.将solr-6.4.2/server/resouce下的log4j.properties文件复制到tomcat目录下weapps/solr/WEB-INF/classes目录下,如果没有则新建一个classes文件夹
cp /解压目录/server/resources/log4j.properties /tomcat安装目录/webapps/solr/WEB-INF/classes/
7.将solr-6.4.2/dist目录下的solr-dataimporthandler-6.4.2.jar和solr-dataimporthandler-extras-6.4.2.jar复制到tomcat目录下/webapps/solr/WEB-INF/lib/
8.修改tomcat安装目录下\webapps\solr\WEB-INF的web.xml,找到<env-entry>,去掉注释
<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>
基本环境已经搭建好了,启动tomcat服务,输入:localhost:8080/solr/index.html就可以看到solr的主界面了。
在linux中如果没有安装myeclipse,启动tomcat使用tomcat安装目录下/bin/的命令sh startup.sh,如果想看到输出日志,使用命令sh catalina.sh run,方便查看部署哪里出错调试。
一般出现404错误是缺少jar包,看日志里缺少什么jar包,去solr安装目录下的server/lib下找;如果出现403错误,把tomcat安装目录下\webapps\solr\WEB-INF的web.xml最后面的
<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>
注释掉就ok了。