其实tomcat下的webapps的问题并不复杂,但是又很多的朋友都不太了解idea导入别人的项目需要修改什么,因此呢,今天小编就来为大家分享tomcat下的webapps的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
如何实现tomcat自动化部署
像BAT这样的大公司,都是有一套自动化流水线的,出于公司安全红线要求,我无法讲的太细,但是我可以提供些思路给题主参考。
工具工欲善其事,必先利其器,我们先来说需要哪些工具
1git,用于保存最新要上线的代码
2maven,用于打包项目
3Jenkins,用于触发任务
4sh脚本或者Python脚本,执行Jenkins任务的脚本
流程接下来是实际的流程。
首先,由开发人员把要上线的代码上传到指定代码库。
然后,开发人员触发Jenkins任务。
这个Jenkins的任务是自动化部署的核心,包含以下步骤
1开始对代码进行打包
2把包放到服务器指定文件夹下
插一句,为了安全起见,我们建议的是进行热部署,何为热部署?
热部署需要Nginx+多台Tomcat的配合。
假设目前只有一台Tomcat连接到了Nginx上,那么可以把要更新的代码部署在另一台Tomcat上,然后启动新的Tomcat,确认该服务启动成功,各能力已经启动后,再去修改Nginx的conf文件,把原本给旧Tomcat的请求切到新Tomcat上,这样就实现了热部署。如果不使用这种办法,而是直接在旧的Tomcat上部署新的war包的话,重启Tomcat的过程,就会有几秒停服,这对用户来说是不可接受的。既然说到这里,再介绍两个热部署用到的Nginx的命令。在修改Nginx的conf文件后,要在Nginx的根目录下执行sbin/nginx-t来检查当前conf文件配置是否正确,如果是“successful”的,就可以执行sbin/nginx-sreload来进行实现把新的流量切到新的机器上,即使新的conf文件生效。
好的,关于热部署的部分说完了,我们再说回来。
3将旧的服务器根目录下的war包用cp命令放到一个专门备份的文件夹下
4将新的war包同样用cp命令放到即将启动的Tomcat根目录下的webapps文件夹下,然后解压
5执行shbin/
start.sh
启动新的Tomcat6检查该Tomcat是否启动成功,包括进程存在,tail-f
catalina.out
日志一直在打,api能够调通7修改Nginx的conf文件
8检查Nginx配置文件是否successful
9更新Nginx配置,即sbin/nginx-sreload
10继续观察新Tomcat是否运行正常,如果不正常则立刻切回原Tomcat,本次自动更新失败
11如果正常,则停止旧的Tomcat。
以上,自动化部署完成。
我是苏苏思量,来自BAT的Java开发工程师,每天分享科技类见闻,欢迎关注我,与我共同进步。
如何在web项目中引用velocity逡
从http://velocity.apache.org/download.cgi下载velocity-tools-2.0.zip文件,然后解压。在解压缩后的velocity-tools-2.0\examples目录下有三个war文件。选择simple.war放入到tomcat的webapps目录下,然后启动tomcat。
在浏览器中输入:http://localhost:8983/simple/则可以看到index.vm的效果。
如果我们自己开发,怎么办呢?
按照webapps中的simple目录下的结构创建web项目就可以了。showcase.war则包含很多velocity的工具和使用方法。
如果直接复制simple项目中的web.xml,则有可能报错:Cannotfindthetaglibrarydescriptorfor"http://velocity.apache.org/velocity-view"
把web.xml中的
<!DOCTYPEweb-appPUBLIC"-//SunMicrosystems,Inc.//DTDWebApplication2.2//EN""http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
换成
<web-appversion="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
就不会报错了。
tomcat里的server.xml路径怎么改
一般我们将WEB应用打包成WAR格式,然后拷贝到TOMCAT的WEBAPP目录下进行发布,在正常情况下,TOMCAT将自动解压WAR文件并生成对应的目录,而且会在内存中动态创建该WEB应用对应的CONTEXT路径。比如我们的WAR文件是Sample.war,那么解压后的目录就是Sample目录,在内存中动态创建的Context路径就是/Sample。在开发阶段这样的默认行为是可以接受的,但是在正式部署的情况下,我们通常需要修改应用的Context路径以适应我们的需要。
如果我们想让用户仅仅输入域名来访问我们的Sample应用,我们就需要修改Tomcat的Context设置。具体如何设置Context路径的方式有两种,一种是修改{TOMCAT_HOME}/conf/server.xml文件,另一种是建立一个Context片段文件放在webapps目录下。
tomcat连接不上怎么办
tomcat启动后,浏览器访问localhost:8080是空白页,也不显示无法访问的解决方法是:在你的tomcat目录下的webapps/ROOT中增加一个a.html文件,内容随便写点。访问localhost:8080/a.html。
如果出来的是你的a.html页面,那么,应该是你index文件有问题。如果不是a.html,或者还是空白,那么应该是你的端口被占用,建议重新检查端口。
如何修改eclipse下tomcat的工程所生成的项目文件的名称
第一种方法:在tomcat中的conf目录中,在server.xml中的,节点中添加:第二种方法:将web项目文件直接拷贝到webapps目录下。第三种方法:在conf目录中,新建Catalina(注意大小写)\localhost目录,在该目录中新建一个xml文件,名字可以随意取,只要和当前文件中的文件名不重复就行了,该xml文件的内容为:第四种,eclipse下修改项目名导致tomcat内发布名不一致的解决方法:1打开文件“项目目录\.settings\org.eclipse.wst.common.component”看到内容,将里面所有为原来工程名的字符串替换为新工程名字;2重启eclipse;3tomcat中显示的web名称正常了。
文章分享结束,tomcat下的webapps和idea导入别人的项目需要修改什么的答案你都知道了吗?欢迎再次光临本站哦!