Tomcat将配置文件放在外部的解决方法

问题

我们在平常开发的时候, 如果要把项目部署到Tomcat里面, 一般的做法就是讲项目打成war包, 然后将war包扔到Tomcat的webapps目录下面, 然后启动项目就可以了.

但是在将项目部署到生产环境的时候, 生产环境的配置文件一般是与本地开发不一样的, 那么使用刚刚的方法在生产上部署, 就比较麻烦, 需要手动去删除原来的配置文件, 或者打包的时候排除配置文件, 然后在将正确的配置文件复制到项目的resource目录下面去.

那么,有没有更简单一点的方法呢?

解决方法

我们可以将配置文件放在服务器上面的一个固定的位置,比如:/var/config下面. 然后在Tomcat里面引入这些配置文件.
具体步骤如下:

  • 进入到Tomcat根目录

  • 进入conf目录, 并创建文件夹Catalina
  • 进入Catalina目录, 并创建文件夹localhost
  • 进入localhost目录, 并创建文件 appContext.xml

特别注意: 这里的appContext是你项目的上下文, 你需要修改成你自己的项目上下文名称, 比如:taobao.xml

appContext.xml 里面这样填写

<Context  path ="/appContext"  docBase ="/home/tools/apps/appContext.war"
        debug ="0"  privileged ="true"  reloadable ="true"  >
        <Parameter name="" value="/home/tools/config" override="false"/>
</Context>

path:    填写你项目的上下文
docBase: 填写war包路径
value:   填写项目配置文件路径

回到Tomcat更目录, 再进入bin目录, 修改setenv.sh文件

CLASSPATH=$CLASSPATH:/home/tools/config

如果没有这个文件, 就新建这个文件,并设置可执行权限.

  • 配置基本完了, 然后将配置文件放置对应的目录, 将war包放在对应的目录, 启动Tomcat就可以啦

我这里配置文件对应目录是/home/tools/config, war包对呀目录是/home/tools/apps/appContext.war 你们根据自己的需求来修改这两个路径

最后分享一个小知识, Tomcat设置内存大小

在Tomcat的bin目录下面, 打开catalina.sh 文件, 在正式代码的第一行加上这句JAVA_OPTS="-server -Xms128m -Xmx256m -XX:PermSize=64M -XX:MaxPermSize=128m"
具体的内存大小需要你按照自己的需求去设置

总结

到此这篇关于Tomcat将配置文件放在外部的文章就介绍到这了,更多相关Tomcat配置文件放外部内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 详述 tomcat 中的 server.xml 配置文件示例

    正文 1 前言 Tomcat 隶属于 Apache 基金会,是开源的轻量级 Web 应用服务器,使用非常广泛.server.xml是 Tomcat 中最重要的配置文件,server.xml的每一个元素都对应了 Tomcat 中的一个组件:通过对 XML 文件中元素的配置,可以实现对 Tomcat 中各个组件的控制.因此,学习server.xml文件的配置,对于了解和使用 Tomcat 至关重要. 本文将通过实例,介绍server.xml中各个组件的配置,并详细说明 Tomcat 各个核心组件的作

  • tomcat7的配置文件server.xml解析

    这里对tomcat7的server.xml文件进行解释一下,方便在分析启动源码的时候理解Digester做的事情. <?xml version='1.0' encoding='utf-8'?> <Server port="8005" shutdown="SHUTDOWN"> <Listener className="org.apache.catalina.startup.VersionLoggerListener"

  • 基于tomcat配置文件server.xml详解

    1. 入门示例:虚拟主机提供web服务 该示例通过设置虚拟主机来提供web服务,因为是入门示例,所以设置极其简单,只需修改$CATALINA_HOME/conf/server.xml文件为如下内容即可.其中大部分都采用了默认设置,只是在engine容器中添加了两个Host容器. <?xml version="1.0" encoding="UTF-8"?> <Server port="8005" shutdown="SH

  • Tomcat将配置文件放在外部的解决方法

    问题 我们在平常开发的时候, 如果要把项目部署到Tomcat里面, 一般的做法就是讲项目打成war包, 然后将war包扔到Tomcat的webapps目录下面, 然后启动项目就可以了. 但是在将项目部署到生产环境的时候, 生产环境的配置文件一般是与本地开发不一样的, 那么使用刚刚的方法在生产上部署, 就比较麻烦, 需要手动去删除原来的配置文件, 或者打包的时候排除配置文件, 然后在将正确的配置文件复制到项目的resource目录下面去. 那么,有没有更简单一点的方法呢? 解决方法 我们可以将配置

  • Spring Boot打jar包后配置文件的外部优化配置方法

    在未进行任何处理的情况下,Spring Boot会默认使用项目中的 application.properties 或者 application.yml 来读取项目所需配置. 我这里只记录几种自己所用到的. 访问命令行属性 在默认的情况下, SpringApplication 会将任何命令行选项参数(以 - 开头 --server.port=9000)转换为 property 并添加到Spring环境当中. 例如,启动项目的时候指定端口: java -jar analysis-speech-too

  • 启动Tomcat时出现大量乱码的解决方法

    启动Tomcat乱码 1. 在 tomcat 的启动窗口打印的启动信息中包含了大量的中文乱码,虽然这些对 tomcat 本身的使用没有任何影响,但却非常碍眼,影响视觉效果! D:\jar\apache-tomcat-7.0.109\bin\catalina.bat run [2021-06-15 12:06:55,652] Artifact ch01hellospringmvc:war exploded: Waiting for server connection to start artifa

  • idea配置Tomcat时没有Artifacts选项的解决方法

    目录 问题描述 解决办法 首先解释一下IDEA中的Artifact是什么? Artifacts是maven中的一个概念,表示某个module要如何打包,例如war exploded.war.jar.ear等等这种打包形式: 好奇这个带不带exploded的有什么差别不?exploded 在这里你可以理解为展开,不压缩的意思.也就是war.jar等产出物没压缩前的目录结构. 这个是不带exploded的.和下图的框框对比下,就可以看到差别啦 这两张图,意在说明,带exploded和不带的差别,一个

  • MySQL配置文件无法修改的解决方法(Win10)

    帮别人解决的问题,记录一下. 问题描述 MySQL的版本是5.7,操作系统是window10.MySQL安装在 C:\Program Files 下.最近需要在MySQL安装目录下的 my-default.ini 配置文件里面加上一个新的配置项: max_allowed_packet=100M 编辑文件后保存,总是无法保存,提示"拒绝访问". 后来停止 MySQL 的服务,依然无法保存修改. 再后来把my-default.ini 复制到D盘,修改后保存.删除 C:\Program Fi

  • eclipse部署tomcat服务器无法启动问题的解决方法

    解决Setting property 'source' to 'org.eclipse.jst.jee.server的问题,我相信我的方法已经能帮90%的人解决了! 当你用Eclipse运行web项目的时候,你就会看到控制台出现: WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:firstProject

  • IDEA启动tomcat控制台中文乱码问题的解决方法(100%有效)

    目录 第一步: 第二步: 第三步: 总结 IntelliJ IDEA是很多程序员必备且在业界被公认为最好的Java开发工具,有很多小伙伴在安装完IDEA并且tomcat之后,启动tomcat会出现控制台中文乱码问题,如下图所示: 接下来,带大家一起去解决这个问题 第一步: 点击File→Settings Editor→File Encodings 第二步: 点击Run→Edit Configurations Tomcat Server→Tomcat1(Tomcat1是自己定义的名字,可以不一致)

  • linux中启动tomcat后浏览器无法访问的解决方法

    前言 不论是要启动,还是要关闭tomcat服务,都是要去到tomcat安装目录下的bin路径,当然你要是电脑关机自然是不需要的. 但最近在启动后发现了一个问题:Centos服务器,本地和服务器ip互ping正常(本机ping服务器,服务器ping本地),但是服务器上部署好tomcat后,本机却无法通过浏览器访问服务器tomcat的8080端口. 比如服务器公网ip为:123.123.123.123,启动tomcat后默认端口为8080,通过123.123.123.123:8080访问时,无法访问

  • IIS7.5提示无法写入配置文件web.config的解决方法

    WIN7或win2008 r2系统的IIS7.5添加默认文档的时候,出现错误:IIS7.5无法写入配置文件web.config,见下图. 无法写入那应该就是权限问题,这虽然是WIN7系统,但分区仍然是FAT32格式的,没有权限这一块. 在检查了这个WEB文件夹后,的确是只读属性,去掉只读属性后,问题依然一样,而且该文件夹下根本没有web.config文件,没有该文件就肯定无法写入也没有办法修改文件的只读属性. 检查发现默认网站是可以添加默认文档的,在D:\inetpub\wwwroot目录下有w

  • nodejs 提示‘xxx’ 不是内部或外部命令解决方法

    一般出现这样的问题原因是npm安装出现了问题,全局模块目录没有被添加到系统环境变量. Windows用户检查下npm的目录是否加入了系统变量PATH中,如果不存在需要手动添加,添加之后需要重新启动CMD控制台. nodejs模块全局目录环境变量 npm目录可以使用npm命令去查找:npm config get prefix 好了,问题解决了吧,是不是超级简单实用呢,希望本文能对大家有所帮助.

随机推荐