问题
我们在平常开发的时候, 如果要把项目部署到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"
具体的内存大小需要你按照自己的需求去设置