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的管理頁面了,以下圖所示。