借鑒博客:https://www.jianshu.com/p/1100f54fcbd8
https://www.cnblogs.com/jepson6669/p/9134652.html
1、准備一個tomcat和solr的linux安裝包,我用的時tomcat-8.5.4版本和solr-7.4.0,都是在官網下的
2、看別人博客上把solr里的東西復制到tomcat目錄下,復制好幾遍,有點亂,所以事先在linux准備兩個目錄,一個放tomcat,一個放solr,如下:
2.1、把tomcat-8.5壓縮包放在/usr/local/dev/tomcat/tomcat01/的目錄下,並解壓,如下:
2.2、把solr-7.4的壓縮包放在/usr/local/dev/solr/目錄下,並解壓出來,如下:
3、把解壓出來的solr-7.4里面的一些東西復制到tomcat-8.5的webapps目錄下,然后用tomcat啟動solr。(網上說solr有內置的jetty,沒接觸過jetty,不管)
開始把solr里面的東西復制過去了:
3.1、把solr-7.4.0/server/solr-webapp/webapp 文件夾 復制到tomcat-8.5的webapps下,並重命名為solr
cp -r /usr/local/dev/solr/solr-7.4.0/server/solr-webapp/webapp /usr/local/dev/tomcat/tomcat01/apache-tomcat-8.5.40/webapps/
#重命名
mv webapps solr
操作結果:
3.2、把solr-7.4.0/server/lib/ext 下的jar 復制到tomcat-8.5的webapps/solr/WEB-INF/lib下,操作命令如下:
cp -r /usr/local/dev/solr/solr-7.4.0/server/lib/ext /usr/local/dev/tomcat/tomcat01/apache-tomcat-8.5.40/webapps/solr/WEB-INF/lib
3.3、把solr-7.4.0/server/lib/ 目錄下的gmetric4j-1.0.7.jar,以及以metrics開頭的jar包 復制到tomcat-8.5的webapps/solr/WEB-INF/lib下,操作命令如下:
cp -r /usr/local/dev/solr/solr-7.4.0/server/lib/gmetric4j-1.0.7.jar /usr/local/dev/tomcat/tomcat01/apache-tomcat-8.5.40/webapps/solr/WEB-INF/lib
cp -r /usr/local/dev/solr/solr-7.4.0/server/lib/metrics-*.* /usr/local/dev/tomcat/tomcat01/apache-tomcat-8.5.40/webapps/solr/WEB-INF/lib
3.4、還要把solr-7.4.0/dist目錄下的,以solr-dataimporthandler-*.*開關的jar包 復制到 tomcat-8.5的webapps/solr/WEB-INF/lib下,操作命令如下:
cp -r /usr/local/dev/solr/solr-7.4.0/dist/solr-dataimporthandler-*.* /usr/local/dev/tomcat/tomcat01/apache-tomcat-8.5.40/webapps/solr/WEB-INF/lib
3.5、最后一個復制步驟,把solr-7.4.0/server/solr 文件夾 復制到 /usr/local/目錄下,(重點是:復制在/usr/local/目錄下),然后再把復制過來的文件名改成solrhome,如下
4、上面該復制的東西,都復制完了,現在把tomcat的webapps/solr/WEB-INF/web.xml這個配置,關聯一下剛才/usr/local/solrhome這個文件夾
4.1、打開tomcat下的webapps/solr/WEB-INF/web.xml,修改配置如下:
5、配置一下tomcat里的solr的日志
5.1、在tomcat-8.5/webapps/solr/WEB-INF/目錄下,新建一個classes文件夾
5.2、把solr-7.4.0/server/resources/下的log4j2.xml文件 復制 到tomcat-8.5/webapps/solr/WEB-INF/classes/目錄下,如下圖
#復制命令:
cp -r /usr/local/dev/solr/solr-7.4.0/server/resources/log4j2.xml /usr/local/dev/tomcat/tomcat01/apache-tomcat-8.5.40/webapps/solr/WEB-INF/classes/
6、剛才弄的solrhome文件夾,現在在solrhome目錄里再新建一個文件夾:collection
6.1、再把/solr-7.4.0/example/example-DIH/solr/solr下的內容拷貝到剛才創建的collection下,同時在core.properties下添加如下內容:
7、然后啟動tomcat:
tomcat啟動報錯:說找到不jdk
后來百度人家說tomcat里面的setclasspath.sh文件還要配置一下,如下:
7.1然后,再來啟動一下tomcat: 沒有報錯了,啟動成功如下
#tomcat啟動命令 ./catalina.sh run 為輸出日志控台啟動,會輸出日志,但Ctrl + C 一下就退了
./catalina.sh run
8、基本后高高興興一打開:
我。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。fuck
8.1、解決方法:找到tomcat里的solr下的web.xml,修改一下把<security-constraint>部分注釋掉,如下
此web.xml在我linux的路徑:/usr/local/dev/tomcat/tomcat01/apache-tomcat-8.5.40/webapps/solr/WEB-INF/web.xml
百度后找到的解決辦法:
最后。。。。。。。。。。。。。。成功如下: