记录CentOS环境下将Solr部署到Tomcat

时间:2023-03-09 01:09:12
记录CentOS环境下将Solr部署到Tomcat

首先切换到usr/local目录

cd /usr/local/

下载tomcat到local目录

wget http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.47/bin/apache-tomcat-7.0.47.tar.gz

解压并删除tar包

tar -zxvf apache-tomcat-7.0.47.tar.gz
rm apache-tomcat-7.0.47.tar.gz

我们可以先让Tomcat跑起来

./apache-tomcat-7.0.47/bin/startup.sh

下载solr到local目录

wget http://archive.apache.org/dist/lucene/solr/4.10.3/solr-4.10.3.tgz

利用上面同样的方式解压并删除tar包

tar -zxvf solr-4.10.3.tgz
rm solr-4.10.3.tgz

这个时候在local目录下就得到了Tomcat和Solr的包,复制solr.war到Tomcat

cp solr-4.10.3/example/webapps/solr.war apache-tomcat-7.0.47/webapps/

因为刚才我们已经启动了Tomcat所以这个时候Tomcat会自动解压solr.war,得到一个solr文件夹。复制扩展依赖包到Tomcat

cp solr-4.10.3/example/lib/ext/* apache-tomcat-7.0.47/webapps/solr/WEB-INF/lib/

复制log4j的配置到classes文件夹,这个文件并不存在需要我们手动去创建

cd apache-tomcat-7.0.47/webapps/solr/WEB-INF/
mkdir classes
cp solr-4.10.3/example/resources/log4j.properties apache-tomcat-7.0.47/webapps/solr/WEB-INF/classes/

接下来在Tomcat里指定solrhome路径,在指定之前我们先准备solrhome和solrcore并做一些配置,我们就将solrhome建在local目录下,并给一个默认的core

mkdir solrhome
cp -r solr-4.10.3/example/solr/* solrhome/

到底做些啥配置呢?在默认的core(collection1)下有个conf文件夹,conf文件夹下面有个solrconfig.xml,通过vi打开它
记录CentOS环境下将Solr部署到Tomcat

需要配置的就是上面的这个路径,配置正确的标准就是能根据路径找到contrib和dist,那这两个文件夹在哪儿呢?在solr包下。solr.install.dir是solrhome所在的路径,因为我们的solrhome和solr安装包在同一个目录,所以正确的配置应该是下面的结果

记录CentOS环境下将Solr部署到Tomcat

最后一步,在tomcat中指定solrhome的所在路径:

vi apache-tomcat-7.0.47/webapps/solr/WEB-INF/web.xml

记录CentOS环境下将Solr部署到Tomcat

记录CentOS环境下将Solr部署到Tomcat

2018年1月5号更新:

Solr安全

第一步:/apache-tomcat-7.0.47/conf/tomcat-users.xml

<role rolrename="solr_manager_role"/>
<user username="sa" password="sa" roles="solr_manager_role"/>

第二部:/apache-tomcat-7.0.47/webapps/solr/WEB-INF/web.xml

<!-- solr security start -->

<security-constraint>
<web-resource-collection>
<web-resource-name>Solr Admin</web-resource-name>
<url-pattern>/</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>solr_manager_role</role-name>
</auth-constraint>
</security-constraint>

<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Solr Admin Application</realm-name>
</login-config>

<security-role>
<description>Solr Admin Role</description>
<role-name>solr_manager_role</role-name>
</security-role>
<!-- solr security end -->

6.6版本机以上请参考 http://lucene.apache.org/solr/guide/6_6/basic-authentication-plugin.html