首先切换到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打开它

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

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

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

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

记录CentOS环境下将Solr部署到Tomcat的更多相关文章

  1. CentOS环境下jdk安装部署

    1.准备jdk安装文件: 这里我使用的是 jdk-7u79-linux-x64.tar.gz 2.在 /usr/local 目录下创建 sotfware目录,并上传JDK文件: 解压文件并修改文件夹为 ...

  2. Centos环境下部署游戏服务器-软件安装

    这篇文章主要介绍一下游戏服务器需要安装的软件和需要修改的配置.现介绍下项目,本项目服务器端是c++ + mysql组合,客户端是as写的,需要安装的服务为Mysql,Php,Apache, 以及一个n ...

  3. linux系统Centos环境下搭建SVN服务器及权限配置

    linux系统Centos环境下如何搭建SVN服务器以及svnserve.conf.authz.passwd配置文件详细介绍   至于svn的概念,这里就不做详细阐述了,可以自行百度.简单来讲就是一个 ...

  4. centos环境下创建数据库和表的方法

    centos环境下创建数据库和表的方法 //查询数据库的命令: mysql> SHOW DATABASES; +--------------------+ | Database         ...

  5. 非域环境下使用证书部署数据库(SqlServer2008R2)镜像

    非域环境下使用证书部署数据库(SqlServer2008R2)镜像 前言 部署数据库镜像一般有两种方式域环境下部署http://liulike.blog.51cto.com/1355103/33918 ...

  6. centos环境下使用percona-xtrabackup对mysql5.6数据库innodb和myisam进行快速备份及恢复

    centos环境下使用percona-xtrabackup对mysql5.6数据库innodb和myisam进行快速备份及恢复 有时候我们会碰到这样的业务场景: 1.将大的数据库恢复到本地进行业务测试 ...

  7. CentOS环境下R语言的安装和配置

    最近在看数据统计和分析,想到了R语言,于是就着手在自己的CentOS环境下进行安装和配置.步骤如下: 1.前往R官网下载安装包. 2.解压压缩包:tar xvzf R-3.2.2.tar.gz 3.进 ...

  8. 在Centos环境下安装兼容Apache2.4高版本SVN服务

    在阿里云Centos环境下,搭建PHP运行环境,PHP选择了php7版本,Mysql选择了5.7版本,Apache选择了2.4版本,在搭建SVN版本控制服务过程中出现了不兼容问题,当前环境下Apach ...

  9. 在win10环境下搭建 solr 开发环境

    在win10环境下搭建 solr 开发环境 2017年05月30日 09:19:32 SegaChen0130 阅读数:1050   在win10环境下搭建 solr 开发环境 安装环境  Windo ...

随机推荐

  1. OVS 总体架构、源码结构及数据流程全面解析

    在前文「从 Bridge 到 OVS」中,我们已经对 OVS 进行了一番探索.本文决定从 OVS 的整体架构到各个组件都进行一个详细的介绍. OVS 架构 OVS 是产品级的虚拟交换机,大量应用在生产 ...

  2. 【SqlServer】【问题收集】阻止保存要求重新创建表的更改

    1   概述 阻止保存要求重新创建表的更改,场景是这样的:假设数据库中有一张员工表EmployeeInfo,如下所示: 其中有个字段EmployeeBirthday,在设计表时,其类型误设为VARCH ...

  3. Bandit Wargame Level24 Writeup(brute-forcing with shell)

    Bandit Level 24 → Level 25 Level Goal A daemon is listening on port 30002 and will give you the pass ...

  4. list对象数组,xpath复杂定位校验,POST入参为number数组,POST入参为JSON对象数组

    list对象数组: POST入参为number数组: {    "typeIds":[1,2,3]} POST入参为JSON对象数组,举例: [{    "itemId& ...

  5. Memcached的简介和使用

    缘起: 在数据驱动的web开发中,经常要重复从数据库中取出相同的数据,这种重复极大的增加了数据库负载.缓存是解决这个问题的好办法.但是ASP.NET中的虽然已经可以实现对页面局部进行缓存,但还是不够灵 ...

  6. sed使用范例

    本文同时发表在https://github.com/zhangyachen/zhangyachen.github.io/issues/32 记录下sed编译器的常见使用方法. sed编辑器基于输入到命 ...

  7. ArcGIS API for JavaScript 4.2学习笔记[9] 同一种视图不同数据(Map)同步

    本例子核心:对MapView对象的map属性值进行替换即可达到更改地图数据的效果. 这个例子用的不是Map对象了,而是用的发布在服务器上的专题地图(WebMap)来加载到MapView上进行显示. 在 ...

  8. express整合webpack的打包文件dist

    对于我来说,第一次接触前后端整合问题的小白,刚开始是一脸懵逼,这个问题整整坑了我一个晚上加一个早上,现在写出来总结: 前端开发:vue-cli+webpack: 后台开发:nodejs框架expres ...

  9. css3 UI元素状态伪类选择器

    选择器 说明 例子/备注 E:hover 当鼠标移到元素上元素所使用的样式 :hover{}或input:[type="text"]:hover{} E:active 当元素被激活 ...

  10. crm踩坑记(三)

    React 如何同步更新state 由于setState方法是异步的,而通常很多时候在一个生命周期里更新state后需要在另一个生命周期里使用这个state. 下面介绍几个方法 // 1 this.s ...