CentOS 7安装部署Solr 7.1:记一次踩坑填坑经历
一.环境说明CentOS 7.4Solr 7.1Tomcat 9.0.1JDK1.8.0_152阿里云ESC二.前期准备1.由于本人计算机性能捉急,所以购买了一个阿里云服务器.与虚拟机效果一样,只是没有界面,2.安装solr前请确保你的CentOS上已经安装了JDK和Tomcat三.愉快的开始(为了省去不必要的麻烦,最好在root权限下安装)1.下载Solr 7.1的压缩包# wge
一.环境说明
- CentOS 7.4
- Solr 7.1
- Tomcat 9.0.1
- JDK1.8.0_152
- 阿里云ESC
二.前期准备
1.由于本人计算机性能捉急,所以购买了一个阿里云服务器.与虚拟机效果一样,只是没有界面,
2.安装solr前请确保你的CentOS上已经安装了JDK和Tomcat
三.愉快的开始
(为了省去不必要的麻烦,最好在root权限下安装)
1.下载Solr 7.1的压缩包
# wget http://mirror.bit.edu.cn/apache/lucene/solr/7.1.0/solr-7.1.0.tgz
2.下载下来之后,就是解压了.解压路径可以自定义,不指定就是解压到当前文件夹,这里我指定到/usr/local/solr
# tar -zxvf solr-7.1.0.tgz -C /usr/local/solr
3.接下来就是一些复制操作,将solr下的一些东西复制到你安装的tomcat中
- 复制/usr/local/solr/solr-7.1.0中的server/solr-webapp/webapp下的webapp文件夹复制到tomcat/webapps下,并改个名字,比如改成solr7
# mkdir /usr/local/tomcat/tomcat9.0.1/webapps/solr7
# cp -r /usr/local/solr/solr-7.1.0/server/solr-webapp/webapp/* /usr/local/tomcat/tomcat9.0.1/webapps/solr7
- 复制/usr/local/solr/solr-7.1.0中的server/lib/ext文件夹中所有jar包到tomcat/webapps/solr7/WEB-INF/lib
# cp -r /usr/local/solr/solr-7.1.0/server/lib/ext/* /usr/local/tomcat/tomcat9.0.1/webapps/solr7/WEB-INF/lib
- 复制/usr/local/solr/solr-7.1.0中的server/lib/metrics开头的jar包到tomcat/webapps/solr7/WEB-INF/lib
# cp -r /usr/local/solr/solr-7.1.0/server/lib/metrics*.jar /usr/local/tomcat/tomcat9.0.1/webapps/solr7/WEB-INF/lib
- 复制/usr/local/solr/solr-7.1.0中的dist/solr-dataimporthandler-开头的jar包到tomcat/webapps/solr7/WEB-INF/lib
# cp -r /usr/local/solr/solr-7.1.0/dist/solr-dataimporthandler-*.jar /usr/local/tomcat/tomcat9.0.1/webapps/solr7/WEB-INF/lib
- 在solr7/WEB-INF下新建classes目录并将solr7.1.0文件夹中的server/resources/log4j.properties复制过来
# mkdir /usr/local/tomcat/tomcat9.0.1/solr7/WEB-INF/classes
# cp /usr/local/solr/solr-7.0.1/server/resources/log4j.properties /usr/local/tomcat/tomcat9.0.1/webapps/solr7/WEB-INF/classes
- 在usr/local下新建solrhome文件夹并将solr-7.0.1文件夹下的server/solr文件夹下所有的复制过去
# mkdir /usr/local/solrhome
# cp /usr/local/solr/solr-7.0.1/server/solr/* /usr/local/solrhome
4.编辑web.xml
# vim /usr/local/tomcat/tomcat9.0.1/webapps/solr7/WEB-INF/web.xml
- 找到eny-entry标签,去掉注释,并将env-entry-value设置成刚刚新建的solrhome的地址
- 找到security-constraint,并注释掉,有两个,在文件末尾.
以上内容参考博客链接:http://www.jianshu.com/p/1471aae7268d
接下来,就要启动solr了
启动tomcat.然后在浏览器地址栏输入:
(很多教程都直接写了输入:http://localhost:8080/solr7/index.html)
你会发现,这样输入没有问题,但是,如果你还对你刚刚修改的web.xml有点印象的话,应该会记得其中配置了欢迎页的
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
既然配置了,那么直接访问http://localhost:8080/solr7会怎么样呢?
好吧,果然报错了,404错误.看来那些教程是有意规避了这个错误.
为什么设置了欢迎页,却会找不到呢?
网上有一篇博客提到,是因为LoadAdminUI这个servlet拦截了index,把这个servlet屏蔽到即可.
本人试了将其屏蔽,然后虽然成功进入首页,但是样式等等却全都报了400错误.
于是,我采用了另一个解决方案.将欢迎页的指向改为/index.html.这样也能进入index.html,但是样式也没有,是因为它请求时带上了个版本信息.修改下index.html,将link标签里的css后面的?_=${version}删除即可.
唉,写教程比重搭一遍还累.
2017/11/16
Lucifer
更多推荐
所有评论(0)