默認的Jetty服務器啓動(很簡單)
Solr服務器是一款企業級的搜索引擎,是可以支持Java連接和JSON格式等多種格式,所以作爲Java開發工程師還是需要知道的。花費了接近一天時間的配置,終於搞懂它在Linux系統上的配置。(Windows系統上配置較爲簡單)
一、檢查運行環境
在它的官網上說明了支持的最低配置:
- JDK1.8
- Tomcat 8.0
如果老鐵的環境爲符合要求,那就需要進行更換了。
二、下載資源
我安裝Solr服務器時的最新版是8.4.1,所以我就以8.4.1版本作爲基準版本,Linux上面能夠識別的文件是.tgz這種,不要下載成.zip壓縮文件了。
官網:http://lucene.apache.org/solr/
Solr-8.4.1的下載地址:https://www-eu.apache.org/dist/lucene/solr/8.4.1/solr-8.4.1.tgz
在Linux上用wget命令獲取資源,或者在Windows上使用下載工具下載,在通過VSftpd傳輸到Linux上。
三、解壓運行
獲取到solr-8.4.1.tgz文件後使用命令進行解壓,不同的版本後面的名字不一樣
tar -zxvf solr-8.4.1.tar
解壓後目錄
我這裏安裝了兩種版本,所以有7.0和8.0兩。
解壓後進入到solr-8.4.1/bin的目錄下,solr-8.4.1是解壓後產生的文件夾,進入到目錄後輸入下面命令
./solr -p 8983
然後報錯
這時編輯solr.in.sh文件,輸入/SOLR_ULIMIT_CHECKS,回車,可以搜索該內容,按I或者按insert便可以進行編輯,把前邊的#刪除,並且等於false:SOLR_ULIMIT_CHECKS=false
按ESC,輸入:wq 保存並退出
輸入命令開啓Solr
./solr start -p 8983 -force
四、連接測試
在瀏覽器的地址欄輸入:192.168.1.10:8983,便可以看到服務已經正常開啓
移植到Tomcat服務器上(較爲複雜)
我們上面是直接使用Solr自帶的Jetty服務器,這種服務器不太穩定,所以我們需要更換爲更加穩定可靠的Tomcat服務器
一、獲取解壓Tomcat
目前的Solr服務器已經不支持Tomcat 7.0版本,需要升級到8.0及以上版本,注意下載Tomcat的時候需要下載.tar.gz文件,不要下載.zip文件格式
Tomcat官網:http://tomcat.apache.org
Tomcat 9.0.30版本:https://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.30/bin/apache-tomcat-9.0.30.tar.gz
下載好Tomcat後執行命令解壓Tomcat
tar -zxvf apache-tomcat-9.0.30.tar.gz
然後將剛剛解壓的文件移動到/usr/local/tomcat/apache-tomcat-9.0.30,防止隨意亂動,當然不移動也是可以的。
mv apache-tomcat-9.0.30 /usr/local/tomcat/
二、配置資源
我們需要將在Jetty服務器上運行的文件複製到Tomcat服務器上,這樣Solr就能正常在Tomcat服務器上運行
1、複製頁面
進入到Solr的/server/solr-webapp下面,將webapp複製到Tomcat下面的webapps,並且重命名爲solr
輸入命令進行復制,記得帶上參數r,不然可能會報錯
cp -r webapp /usr/local/tomcat/apache-tomcat-9.0.30/webapps/solr8
2、複製關鍵架包
2.1 複製solr-8.4.1/dist下面的solr-dataimporthandler-8.4.1.jar、solr-dataimporthandler-extras-8.4.1.jar到Tomcat下的WEB-INF/lib下。注意不同的版本後面帶的名字是不一樣的。
cp solr-dataimporthandler*.jar /usr/local/tomcat/apache-tomcat-9.0.30/webapps/solr8/WEB-INF/lib/
2.2 進入到/server/lib/ext目錄,將裏面(下面)的所有架包複製
cp * /usr/local/tomcat/apache-tomcat-9.0.30/webapps/solr8/WEB-INF/lib/
2.3 進入到/server/lib目錄,把裏面以metrics開頭的架包全部複製
cp metrics*.jar /usr/local/tomcat/apache-tomcat-9.0.30/webapps/solr8/WEB-INF/lib/
3、複製配置文件
架包拷貝完畢後,複製配置文件,配置文件主要是log4j的
進入到/server/resources目錄,將裏面關於log4j的配置都進行復制
cp log4j*.xml /usr/local/tomcat/apache-tomcat-9.0.30/webapps/solr8/WEB-INF/classes
注意:WEB-INF下面的classes是需要手動建立,後面還可以放至IK的配置文件
4、修改web.xml
編輯Tomcat下Solr的web.xml文件,添加以下內容:
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<!--此處爲centos可以識別的路徑-->
<env-entry-value>/usr/local/solr/solr-8.4.1/solr-home</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
並且爲第一個 security-constraint標籤添加註釋
三、創建Solr/Home
頁面,架包和配置文件都配置完成了,這個時候我們就需要創建Solr/Home了,Solr/Home是存放Solr Core的,如果沒有配好,或者沒有配置到位,那麼都無法訪問Solr。
到solr目錄下,進入/server/solr,這裏是存放solr core的
我們只需要將裏面的全部文件複製到solr/home裏
先創建文件夾,這個文件夾可以自己隨意創建,但建議放到不可以被隨意更改的地方
mkdir /usr/local/solr/solr-8.4.1/solr-home
文件夾已經創建完成,那麼我們就將內容全部複製過去
cp -rf * /usr/local/solr/solr-8.4.1/solr-home
複製完成後的solr/home
四、啓動測試
進入到Tomcat的bin目錄
輸入以下命令運行Tomcat
./startup.sh
成功後,打開瀏覽器
輸入:192.168.1.10:8080
注意:這裏的8080是Tomcat默認的端口號,Solr自帶的Jetty是使用8983
如果出現這樣的404就是solr/home的路徑沒有配到位,或者是裏面的文件缺斤少兩