发表于: 2017-05-13 23:58:21
1 1104
今日完成
前言 本以为今天应该完成任务3的,但。。
于是今天主题变成了tomcat部署详解 版本8.5 应该7以上都一样
基础
服务器上安装好tomcat后,配置CATALINA_HOME=安装目录如/usr/local/tomcat8.5,可以echo $CATALINA_HOME得到
将打包好的projectName.war文件扔到$CATALINA_HOME/webapps下
/usr/local/tomcat8.5/bin/startup.sh 启动tomcat服务 $CATALINA_HOME/bin/startup.sh亦可(更适合脚本) 这时projectName.war将被展开,你将在/webapps
目录下发现porjectName文件夹 可以通过ip:8080/projectName/ 访问到项目起始页,如果有的话
/usr/local/tomcat8.5/bin/shutdown.sh 停止tomcat服务
ps -ef |grep tomcat 查看含tomcat的线程,一般有一个文件夹线程一行,还有一个一大堆就是tomcat的运行线程了
kill -9 [线程编号] 有时shutdown关不掉,只好杀线程
然后部署到其他目录
部署的几种方法:
1、上文基础中
2、使用Tomcat Client Deployer(TCD)需要安装,未尝试
3、修改user.xml文件,添加admin与manage组,添加有这两组权限的用户,然后可在ip:8080的管理部署,不议
4、修改Context标签及Host标签
vim /usr/local/tomcat8.5/conf/server.xml找到图中,上面还有端口可以改
Host主机,默认localhost,意义暂不明,相当于一个总包,关注他的属性
appBase为将自动获取WAR文件目录,同时也是其展开的目录(WEB-INF,MATE-INF在里面)
unpackWARs 为false时不对WAR展开,而是直接读取内容部署
autoDeploy 是否随tomcat启动自动部署
Context属性
A Context is what Tomcat calls a web application.官网说,即一个Context对应一个web应用
Context可以在
$CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml -----a
$CATALINA_BASE / webapps /目录[webappname] /META-INF/context.xml -----b
这两个位置,在$CATALINA_BASE/conf目录下还有个Context.xml文件 -----c
a也可以写在server.xml的Host标签中,早期作法,现在不推荐
默认c,然后有a,b可覆盖c中默认值
我认为/usr/local/tomcat8.5/conf/Catalina/localhost/projectName.xml这个位置将是一个好的选择
Catalina为默认enginename,localhost默认主机名
<Context path="/jnshudemo" docBase="/home/ubuntu/tomcat/WebRoot/jnshudemo.war"
workDir="/home/ubuntu/tomcat/work" debug="0" privileged="true" reloadable="true">
</Context>
这是我的内容,其中
path值为URL别名,即在这ip:8080/projectName/代替projectName
docBase为项目包所在地,可用相对路径,此处为绝对路径,jnshudemo.war这里是不是一点要有存疑,如果unpackWARs 为false时一点要有
workDir是这个应用的工作目录,class及jar库将在这里
debug日志等级
privileged允许应用内servlet
reloadable热部署,允许tomcat运行时修改web应用
时间关系,写完这个,今天日报就写到这里,
评论