第一步

1、Solr 解压后server/solr-webapp下一个webapp目录,它就是Solr的Web项目,把它复制到tomcat的webapps目录下并改名为solr

 # 进入Solr的server目录下
/opt/modules/solr7/solr-7.7.0/server/solr-webapp/ # 复制webapp目录到tomcat-solr的webapps目录下
5  cp -r webapp/ /usr/local/tomcat/apache-tomcat-9.0.16/webapps # 将Solr的web应用改名
8  cd /usr/local/tomcat/apache-tomcat-9.0.16/webapps
9 # 将webapp重命名为solr
10  mv webapp/ solr

2、复制所需依赖jar包

复制solr-7.7.0\server\lib\ext下的所有jar包到apache-tomcat-9.0.16\webapps\solr\WEB-INF\lib下(即刚刚复制并重命名为solr的文件夹下)

  cp ext/* /usr/local/tomcat/apache-tomcat-9.0.16/webapps/solr/WEB-INF/lib/

复制solr-7.7.0\server\lib下所有metrics-开头的jar包(一共有5个)到apache-tomcat-9.0.16\webapps\solr\WEB-INF\lib下

  cp metrics-* /usr/local/tomcat/apache-tomcat-9.0.16/webapps/solr/WEB-INF/lib/

第二步:配置solrhome

这个目录用于存储Solr Core的数据及配置文件
创建solrhome存储Solr索引文件

在/usr/local/solr下创建solrhome文件夹

(复制solr-7.7.0\server\solr文件夹,到任意路径下(这里我们放在刚刚创建的solrhome文件夹下),并重命名为solrhome(命名随意),先创建再复制也可以)

# 复制solr目录下所有内容到solrhome

  cp -r * /usr/local/solr/solrhome/

第三步:配置Tomcat

3.1 修改web.xml
修改复制到tomcat中的Solr项目中的WEB-INF目录下的web.xml配置文件
修改solr_home路径指向我们刚刚创建的solrhome

1 cd /usr/local/tomcat/apache-tomcat-9.0.16/webapps/solr/WEB-INF/
vim web.xml

如果文件中没有该代码,手动加入

   <!-- 修改solrhome路径 -->
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/usr/local/solr/solrhome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>

3.2 去掉安全验证
还是在web.xml文件中,把安全验证的去掉,不然每次登陆都需要用户名密码验证,麻烦,还有有一种说法:项目会报403错误。

   <!-- Get rid of error message -->
<!--
<security-constraint>
<web-resource-collection>
<web-resource-name>Disable TRACE</web-resource-name>
<url-pattern>/</url-pattern>
<http-method>TRACE</http-method>
</web-resource-collection>
<auth-constraint/>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>Enable everything but TRACE</web-resource-name>
<url-pattern>/</url-pattern>
<http-method-omission>TRACE</http-method-omission>
</web-resource-collection>
</security-constraint>
-->

启动tomcat测试

运行startup.sh文件

error:
Linux下启动和关闭tomcat报错,如下图所示:

原因:

因为启动tomcat会调用tomcat安装文件中的startup.bat,而它调用了catalina.bat则调用了setclasspath.bat。因此需要在setclasspath.bat的开头手动声明环境变量。

解决方案:
用vim打开tomcat的bin目录下的setclasspath.sh,添加JAVA_HOME和JRE_HOME两个环境变量(下图红色方框内),两个环境变量路径为您安装的java JDK的路径。

windows下将export改为set即可。

我的配置:

 #java development
export JAVA_HOME=/usr/local/java/jdk1.8.0_201
export JRE_HOME=/usr/local/java/jdk1.8.0_201/jre

保存并且退出即可。

再次使用service tomcat start没报错,如下图所示:

成功用service tomcat start开启tomcat服务。

访问http://localhost:8080/solr/index.html,部署完成

外部访问:http://192.168.83.133:8080/solr/index.html

引用:https://blog.csdn.net/daerzei/article/details/81334182#Tomcat_68

   https://www.jianshu.com/p/573d54d53916

Solr 7.7.0 部署到Tomcat的更多相关文章

  1. Solr5.4.0部署到Tomcat

    所用工具 下载 solr 5.4.0 版本:http://www.apache.org/dyn/closer.lua/lucene/solr/5.4.0 下载 Tomcat(6以上版本),另外可以根据 ...

  2. solr笔记之安装部署到tomcat

    1. 下载 solr 去官网下载,下载的时候选清华的镜像源,这个页面:https://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/7.1.0/ 在/ ...

  3. Solr4.4.0部署到tomcat上

    主要步骤如下: 1.下载solr-4.4.0.tgz 2.解压缩solr-4.4.0.tgz,命令tar -xzvf solr-4.4.0.tgz 3.压缩后进入到solr-4.4.0目录,将 exa ...

  4. Solr 5.5.0 + tomcat 7.0.69 + zookeeper-3.4.6 Cloud部署

    Solr介绍:Solr是一个独立的企业级搜索应用服务器,Solr基于Lucene的全文搜索服务器,同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展并对查询性能进行了 ...

  5. Solr 4.0 部署实例教程

    Solr 4.0 部署实例教程 Solr 4.0的入门基础教程,先说一点部署之后肯定会有人用solrj,solr 4.0好像添加了不少东西,其中CommonsHttpSolrServer这个类改名为H ...

  6. Lucene/Solr搜索引擎开发笔记 - 第2章 Solr安装与部署(Tomcat篇)

    一.安装环境 图1-1 Tomcat和Solr的版本 我本机目前使用的Java版本为JDK 1.8,因为Solr 4.9要求Java版本为1.7+,请注意. 二.Solr部署到Tomcat流程 图1- ...

  7. 【solr】solr5.0整合tomcat

    1.下载 solr版本必须和lucene版本一致,这个链接http://archive.apache.org/dist/lucene/是apache子项目库,在这里可以下载lucene,我这里使用的是 ...

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

    首先切换到usr/local目录 cd /usr/local/ 下载tomcat到local目录 wget http://archive.apache.org/dist/tomcat/tomcat-7 ...

  9. centos solr 部署到 tomcat 上

    一.安装 java1.7 环境 链接:https://pan.baidu.com/s/1ti6j9jD-RwUN5xl3bc3ZDw 密码:oc9a 二.下载 tomcat 并解压 链接:https: ...

随机推荐

  1. 将分支代码合并到master和将master代码合并到dev

    两种合并分支的方法: 都保证在合到的那个分支上面:A合并到B,即保证当前在B分支上. A merge B是把A中的改动放到B分支上,B merge A是把B中的改动merge到A中,例如把master ...

  2. gdb带参调试

    第一种方法:为程序传递参数5 root@guo-virtual-machine:~/debug# gdb --args factorial 5 第二种方法:为程序传递参数5 (gdb) run 5 方 ...

  3. CRT和EXCRT学习笔记

    蒟蒻maomao终于学会\(CRT\)啦!发一篇博客纪念一下(还有防止忘掉) \(CRT\)要解决的是这样一个问题: \[x≡a_1​(mod m_1​)\] \[x≡a_2​(mod m_2​)\] ...

  4. vmware centos7 网络配置

    1. 在vmware创建centos虚拟机 2. 在cmd下看一下本机所处的网段,并对一下vmware上的配置 如果同样处于同一网段(192.168.aaa.bbb,aaa处一致就行),就可以直接开机 ...

  5. 浅析基于ARM的Linux下的系统调用的实现

    在Linux下系统调用是用软中断实现的,下面以一个简单的open例子简要分析一下应用层的open是如何调用到内核中的sys_open的. t8.c 1: #include <stdio.h> ...

  6. JavaSE_坚持读源码_HashMap对象_put_Java1.7

    当你往HashMap里面put时,你其实在干什么? /** * Associates the specified value with the specified key in this map. * ...

  7. TensorFlow入门学习(让机器/算法帮助我们作出选择)

    catalogue . 个人理解 . 基本使用 . MNIST(multiclass classification)入门 . 深入MNIST . 卷积神经网络:CIFAR- 数据集分类 . 单词的向量 ...

  8. Java Web服务收到请求时线程的情况

    Web请求线程的状态 在开发中,突然想到了这样的一个问题, Java对每一次Web的请求,是否都会创建一条线程去进行处理呢?也就是说,当一个Class的方法同时有1000个请求访问时,线程是如何运作的 ...

  9. python css功能补充讲解

    ###########总结#### 标签选择器 标签名     id选择器  #box1   类选择器.box2 css高级选择器 *子选择器* 子选择器用 大于号 .box1>.box2{ w ...

  10. 使用git 上传项目到gitee/github

    参考: https://blog.csdn.net/qq944639839/article/details/79864081 注意:在此之前需要设置ssh公匙 详见:Github/github 初始化 ...