3.solr 6.6.0 部署到Tomcat下并设置访问密码

xiaoxiao2025-11-02  5

 

1.solr 6.6.0 部署到Tomcat下:

       ①把solr-6.6.0.zip解压之后,找到solr-6.6.0/server/server-webapp/目录下的webapp文件夹,复制粘贴到tomcat下的webapps下并修改文件夹名为solr;

       ②把solr-6.6.0/server/lib/ext目录下的所有jar包、和solr-6.6.0/dist下的solr-dataimporthandler-6.6.0.jar、solr-dataimporthandler-extras-6.6.0.jar粘贴复制到tomcat下的solr项目的WEB-INF/lib目录下;

       ③把server目录下的solr文件夹粘贴复制到其他目录,然后重命名为:solrhome,这是solr核心文件夹。

       ④修改tomcat下的solr项目的WEB-INF/web.xml,这一步用来指定默认的solrhome。在web.xml开头附近找到:

<env-entry> <env-entry-name>solr/home</env-entry-name> <env-entry-value>D:/solrhome</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry>

         然后取消注释,把<env-entry-value>填第三步solrhome文件夹的地址。

        ⑤在tomcat下的solr项目的WEB-INF下新建classes目录,然后把solr-6.6.0/server/resources下的log4j.properties粘贴过去;

    最后访问http://localhost:8080/solr/index.html即可。

  

搭建过程中可能出现的错误及解决:

      (1) 启动tomcat时报错:严重: Exception starting filter SolrRequestFilter--à解决方法:把solr-6.6.0/server/lib下的metrics-core-3.2.2.jar,metrics-ganglia-3.2.2.jar,metrics-graphite-3.2.2.jar,metrics-jetty9-3.2.2.jar,metrics-jvm-3.2.2.jar这5个jar包放到tomcat下的solr项目的WEB-INF/lib目录下;

      (2) 访问http://localhost:8080/solr/index.html时报错:HTTP Status 403 - Access to the requested resource has been denied--à解决方法:按下图所示,将tomcat下的solr项目的web.xml文件中这些语句注释掉,这段配置限制了对solr资源的访问。

 

2.为Solr的主界面增加登录权限:

       ①在tomcat/conf下的tomcat-users.xml文件最后增加:  (此处设置即为solr主页面登录时需要填写的账户和密码)

<role rolename="solr"/> <user username="ttt" password="123456" roles="solr"/>

       ②在配置tomcat下的solr时我们曾在solr的WEB-INF/web.xml中注释一段代码,那段代码就是对权限的控制。只需将注释代码更改为以下即可:(其中, <role-name>ttt</role-name>即表示用户名,与上述设置要一致)

<security-constraint> <web-resource-collection> <web-resource-name>Restrict access to Solr admin</web-resource-name> <url-pattern>/*</url-pattern> <http-method>DELETE</http-method> <http-method>GET</http-method> <http-method>POST</http-method> <http-method>PUT</http-method> </web-resource-collection> <auth-constraint> <role-name>solr</role-name> <role-name>ttt</role-name> </auth-constraint> <user-data-constraint> <transport-guarantee>NONE</transport-guarantee> </user-data-constraint> </security-constraint> <login-config> <auth-method>BASIC</auth-method> <realm-name>default</realm-name> </login-config>

       ③重启tomcat,在网页上打开solr,出现登录页面,输入相应的用户名和密码即可。

 

注:关于tomcat启动后tomcat-users.xml丢失问题解决办法:

(参考:http://blog.csdn.net/czh500/article/details/77925488):

       eclispe中的tomcat-users.xml文件在捣乱,找到症结所在了,于是终于知道,原来在eclispe中开发项目,eclispe中会有一个自己的Servers目录,该目录下的配置文件估计是从tomcat安装目录下拷贝了一份,eclispe使用的就是eclispe自己的Servers目录下的这一份配置文件,于是修改eclispe中的Servers目录下的tomcat-users.xml配置文件,如下图:

       然后在eclispe中重启tomcat,即可。

       如果要改动tomcat的配置文件,去tomcat安装目录下改配置文件的话,eclispe还是使用的eclispe自己原来的tomcat配置文件,所以,想要让eclispe使用新改的tomcat的配置文件的话,还是要在eclispe中的Servers目录下去改才能有效!去tomcat的安装目录下改配置文件是对eclispe不起效果的!

转载请注明原文地址: https://www.6miu.com/read-5038945.html

最新回复(0)