首先切换到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. Spring定时任务有时候会莫名奇妙的终止?

    最近在是使用Spring配置定时定时任务(基于xml配置使用spring自带的定时任务),一开始使用没什么问题当使用久了就会出现有些定时任务自动停止了.(关于如何使用以及如何它的原理是啥,这里不进行阐 ...

  2. chrome调试,打完断点后关于JS的几个控制介绍

    打完断点之后,关于JS的几个控制介绍. 快捷键:F8 "逐过程执行",继续执行代码,直到遇到下一个断点. 详细解释: 暂停和开始.当设置了断点之后,js的执行就暂停了,如果我们想要 ...

  3. python self

    Python要self的理由 Python的类的方法和普通的函数有一个很明显的区别,在类的方法必须有个额外的第一个参数(self),但在调用这个方法的时候不必为这个参数赋值(显胜于隐的引发). Pyt ...

  4. java与数据库

    工具:mysql: java eclipse,phpstudy. 以MySQL为例 java连接MySQL可能你在度娘的帮助下,又设置环境变量又改这改那的,结果还是没有连接成功. 今天我来分享一下不需 ...

  5. do {...} while (0) 在宏定义中的作用

    如果你是一名C程序员,你肯定很熟悉宏,它们非常强大,如果正确使用可以让你的工作事半功倍.然而,如果你在定义宏时很随意没有认真检查,那么它们可能使你发狂,浪费N多时间.在很多的C程序中,你可能会看到许多 ...

  6. 36、IO模型与socketserver实现并发

    特别声明本随笔copy于egon(林海峰). 一 IO模型介绍 为了更好地了解IO模型,我们需要事先回顾下:同步.异步.阻塞.非阻塞 同步(synchronous) IO和异步(asynchronou ...

  7. go实例之函数

    1.可变参数 示例代码如下: package main import "fmt" // Here's a function that will take an arbitrary ...

  8. STM32基础分析——USART的DMA模式

    有关USART的DMA传输模式,其基本的概念和配置,网上有很多博客和教程都有,这里不再赘述,只是记录一下比较容易忽视而造成调试不通的问题. 1. 串口发送和接收分属两个DMA通道 一般方式操作串口时, ...

  9. BZOJ1798 AHOI2009 维护数列

    1798: [Ahoi2009]Seq 维护序列seq Time Limit: 30 Sec  Memory Limit: 64 MB Description 老师交给小可可一个维护数列的任务,现在小 ...

  10. 用原生实现点击删除点击的li

    简单的实现方式 <!DOCTYPE html> <html> <head> <title></title> <meta charset ...