Tomcat如何设置可以将配置文件放在外部

问题

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

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

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

解决方法

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

具体步骤如下:

  • 进入到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如何设置可以将配置文件放在外部

上一篇:springboot项目打war包发布到tomcat遇到的问题


下一篇:Java项目Centos7发布之发布过程