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

本文介绍了如何将Solr 6.6.0部署到Tomcat并设置访问权限。首先,详细说明了将Solr解压、配置并复制到Tomcat webapps目录的过程,包括修改web.xml以指定solrhome路径,以及添加必要的库文件。接着,针对启动和访问过程中可能遇到的错误提供了解决方案。然后,通过编辑tomcat-users.xml添加用户和角色,实现了Solr主界面的登录权限控制。最后,提醒读者注意Eclipse中Tomcat配置文件的特殊情况,确保改动生效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

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.youkuaiyun.com/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不起效果的!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值