http://blog.csdn.net/yerenyuan_pku/article/details/72874134linux
Solr是一个独立的企业级搜索应用服务器,它对外提供相似于Web-service的API接口。用户能够经过http请求,向搜索引擎服务器提交必定格式的XML文件,生成索引;也能够经过Http Get操做提出查找请求,并获得XML格式的返回结果。
Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,而且提供了一个完善的功能管理界面,是一款很是优秀的全文搜索引擎。
对于淘淘商城来说,因为网上商城的搜索频率特别高,咱们颇有必要把搜索单独作成一个服务,这样作的好处是能够针对该服务作扩展,作成服务集群等,其它模块均可以调用Solr服务。
下面我将告诉你们如何在Linux系统上搭建单机版的Solr服务器。web
关于如何新建一台虚拟机,我以前已写过一篇文章,若是你们还有不会的,能够翻阅使用VMware安装CentOS6.7这篇文章。apache
因为Solr是由Java开发的,所以安装Solr以前须要安装JDK,关于如何在Linux系统上安装JDK,个人Linux系统上安装JDK这篇文章已经说的很清楚了,我不想再多费口舌。浏览器
首先咱们确定是要下载Solr的压缩包的,我下载的是solr-4.10.3.tgz.tgz,以下图所示。 tomcat
怎样将文件上传到Linux系统上,我想我已经说的要吐了,因此这儿再也不浪费口舌。与以往同样,我把solr-4.10.3.tgz.tgz上传到了用户主目录(即root)下,以下图所示。 服务器
使用tar zxf solr-4.10.3.tgz.tgz
命令将Solr的压缩包解压缩到用户主目录(即root)下。
解压完以后,能够看到解压后的solr-4.10.3目录。咱们进入到solr-4.10.3目录下,能够看到Solr的全部文件目录,以下图所示。其中bin目录使用jetty容器能够启动Solr服务,可是咱们通常不用这个,contrib目录下存放的是扩展包,咱们通常也不用。
咱们看看dist目录下的内容,以下图所示,能够看到solr-4.10.3.war,这个war包结合tomcat进行使用,solr-solrj-4.10.3.jar是咱们的Solr客户端。
咱们再看下example目录,这个目录下有一个很重要的目录,那就是solr目录,这个目录下存放的都是Solr很重要的文件。 markdown
首先咱们确定是要下载tomcat的压缩包的,我下载的是apache-tomcat-7.0.47.tar.gz,以下图所示。
下载完以后,将其上传到Linux系统上,仍与以往同样,我把apache-tomcat-7.0.47.tar.gz上传到了用户主目录(即root)下,以下图所示。
接着使用tar zxf apache-tomcat-7.0.47.tar.gz
命令将tomcat的压缩包解压缩到用户主目录(即root)下,解压完以后,便可看到解压后的apache-tomcat-7.0.47目录。
紧接着咱们在/usr/local目录下新建一个solr目录,以下图所示。
而后咱们将解压好的的apache-tomcat-7.0.47目录复制一份到/usr/local/solr/目录下并重命名为tomcat,以下图所示,进入/usr/local/solr/tomcat目录以后便可看到咱们很是熟悉的东西了。 app
咱们将Solr的war包放到tomcat的webapps目录下并命名为solr.war,以下图所示,进入/usr/local/solr/tomcat/webapps目录以后便可看到solr.war包。
下面对solr.war进行解压,解压的方式是启动tomcat,而且能够是使用tail -f logs/catalina.out
命令查看启动日志,以下图所示。
提示:tail
:从文件尾部读取文件内容信息;-f
:循环读取。
启动tomcat以后,咱们到webapps目录下查看,能够看到多了一个solr的目录,说明solr.war已经解压好了,以下图所示。
下面咱们删掉webapps目录下的solr.war,可是前提是先关闭掉tomcat,而后再删除(若是不关闭tomcat就删除solr.war的话,solr文件夹也会被删除),以下图所示。
下面咱们将solr-4.10.3/example/lib/ext/目录下的全部jar包拷贝到/usr/local/solr/tomcat/webapps/solr/WEB-INF/lib目录中,以下图所示。
紧接着将solr-4.10.3/example目录下的solr文件夹复制到/usr/local/solr/目录下而且重命名为solrhome,如此一来,/usr/local/solr/目录下面就会有solrhome和tomcat这两个目录了,以下图所示。
下面咱们须要修改/usr/local/solr/tomcat/webapps/solr/WEB-INF目录下的web.xml文件,咱们要把web.xml文件当中用红框标注的这段配置的注释去掉,并修改<env-entry-value>
的值为咱们solrhome的目录,以下图所示。webapp
通过上面的配置,单机版的Solr咱们便配置完了,下面咱们启动tomcat并使用tail -f logs/catalina.out
命令查看启动日志,以下图所示。
咱们要想经过在浏览器地址栏中输入http://虚拟机ip地址:8080
这样的url地址来访问tomcat,须要设置Linux的防火墙,以前我已讲过,由于Linux的防火墙默认只对外开放了一个22的端口,其余的端口都没打开。因此你须要把它的防火墙设置一下,让它对tomcat的8080端口号放行。 具体作法是:使用cd ~
命令切换到当前用户主目录(即root)下,而后使用以下命令来设置Linux的防火墙,使其对tomcat的8080端口号放行。tcp
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT /etc/rc.d/init.d/iptables save
其中,/etc/rc.d/init.d/iptables save
命令是将这个设置永久地保存到Linux的防火墙中。
接下来,咱们到浏览器地址栏中输入http://虚拟机ip地址:8080/solr/
便可访问到Solr的管理页面了,以下图所示。