midea2 发表于 2016-12-14 10:34:53

solr 在Tomcat配置

转载请出自出处:http://eksliang.iyunv.com/blog/2096478

      首先solr是一个基于java的web的应用,所以安装solr之前必须先安装JDK和tomcat,我这里就先省略安装tomcat和jdk了
       
第一步:当然是下载去官网上下载最新的solr版本,下载地址:http://lucene.apache.org/solr/
 
  第二步:下载的下来的包应该是这个样子的,solr-4.8.0.tgz,首先解压该包;
  如果是在linux上面:tar -zxvf solr.tgz 用这个命令解压;
  如果是windows环境上面直接解压就行了;
  傻瓜式安装:
  将.solr-4.8.0\example\webapps目录下的solr.war包复制到webapps下面
       解压solr.war包,war包的格式跟zip的格式是一样的,如果是在window上面直接用好压那种工具便可以解压,如果是在linux上面:用这个命令进行解压uzip solr.war。
    进入解压后solr\WEB-INF目录,编辑web.xml找到如下节点,配置你的solr/home目录,这个目录就是你solr的用户目录(反正江湖人士是这么称呼这个目录的)。自己确定你的solr的用户目录,如下便是我的目录

Java代码  





[*]<env-entry>  
[*]     <env-entry-name>solr/home</env-entry-name>  
[*]     <env-entry-value>/user/local/solr/home</env-entry-value>  
[*]     <env-entry-type>java.lang.String</env-entry-type>  
[*]</env-entry>  



<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/user/local/solr/home</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
 
   网上很多文档配到这里就叫你启动solr所在的tomcat服务器,这个时候启动当然起不来,因为少了包(solr4.0后将日志包抽取出来,没有打包到solr.war包中)这里有两种方式加载这些包
   a) 将solr-4.8.0\example\lib\ext下面的所有包复制到solr的web-inf/lib目录下 
   b)  直接这些包复制到tomcat容器中的${tomcat_home}\lib下面(官网推荐这么干)
   
   此时启动还是会报错,因为此时的solr还没有core,这个时候你得将solr自带的core实例复制到你上面配置,solr用户目录,例如我就是这么做的将example\solr目录下的所有文件复制到你的 /user/local/solr/home目录下面
  启动tomcat,用http://localhost:8080/solr肯定没有问题,多年实践不可能出问题。
   
  企业级安装:
  上面的安装你可以再测试时这么安装,但是如果你的solr应用是部署在生成环境上面的,怎么弄,当然得使用tomcat的虚拟目录安装,记住这种方式,养成好习惯
   
      将.solr-4.8.0\example\webapps目录下的solr.war包复制到webapps下面
       解压solr.war包,war包的格式跟zip的格式是一样的,如果是在window上面直接用好压那种工具便可以解压,如果是在linux上面:用这个命令进行解压uzip solr.war。
       tomcat的虚拟目录安装,有两种方式,我这里介绍简单一种吧!
      进入你的tomcat/conf/目录下,编辑你的server.xml文件,找到host节点,
      加上如下代码,如下代码是我的配置,以前听过淘宝的专家培训,他们就是怎么干的!
   

Java代码  





[*]<Host name="localhost"  appBase="webapps" unpackWARs="true"   
[*]autoDeploy="true">  
[*]<Context path="/solr" docBase="/usr/solrCloud/tomcat1/display/solr.war"   
[*]        debug="0" privileged="true">  
[*]    <Environment  name="solr/home" type="java.lang.String"  
[*]        value="/usr/solrCloud/tomcat1/display/solr/home" override="true"/>  
[*]</Context>  



<Host name="localhost"appBase="webapps" unpackWARs="true"
autoDeploy="true">
<Context path="/solr" docBase="/usr/solrCloud/tomcat1/display/solr.war"
debug="0" privileged="true">
<Environmentname="solr/home" type="java.lang.String"
value="/usr/solrCloud/tomcat1/display/solr/home" override="true"/>
</Context>
  
        简单解释一下, path:指定访问该Web应用的名称  就是:http://locahost:8080/solr的红色部分
                         docBase:指定Web应用的文件路径;如果是war包,必须加上后缀
                         下面的<Environment>节点就是设置solr的用户目录
 为了你读的流畅,允许我复制上面的原话
    网上很多文档配到这里就叫你启动solr所在的tomcat服务器,这个时候启动当然起不来,因为少了包(solr4.0后将日志包抽取出来,没有打包到solr.war包中)这里有两种方式加载这些包
   a) 将solr-4.8.0\example\lib\ext下面的所有包复制到solr的web-inf/lib目录下 
   b)  直接这些包复制到tomcat容器中的${tomcat_home}\lib下面(官网推荐这么干)
   
   此时启动还是会报错,因为此时的solr还没有core,这个时候你得将solr自带的core实例复制到你上面配置,solr用户目录,例如我就是这么做的将example\solr目录下的所有文件复制到你的/usr/solrCloud/tomcat1/display/solr/home目录下面
   如果你是按照我的操作步骤来弄的,此时启动solr所在的tomcat是觉对没有任何问题的。
页: [1]
查看完整版本: solr 在Tomcat配置