在tomcat上面安装solr4.8.0全过程
首先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的用户目录,如下便是我的目录
<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节点,
加上如下代码,如下代码是我的配置,以前听过淘宝的专家培训,他们就是怎么干的!
<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>
简单解释一下, 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是觉对没有任何问题的。