tomcat war包部署
平常的开发我们都是通过IDE进行项目的部署,但有时候我们不得不进行手工部署(例如在Server上)。
手工部署分为以下几步:
第1步: 用maven打war包 (假如得到的war包名为: appkit-web.war)
mvn package
如果想打包过程中跳过测试,采用以下命令:
mvn package -Dmaven.test.skip=ture
第2步: 把war包拷贝到tomcat安装的webapps目录下
cp target/appkit-web.war ~/software/apache-tomcat-7.0.54/webapps/
第3步: 启动tomcat (我的tomcat的根目录为:/Users/aborn/software/apache-tomcat-7.0.54)
./bin/catalina.sh run
然后在浏览器中打开 http://localhost:8080/appkit-web/index.html
这里有个问题,它默认根目录是要加项目名的,如上加了appkit-web, 这样有些资源文件加载不出来(因为资源文件是以根目录为相对路径)。
要想修改这个根目录,只要修改Tomcat的server.xml配置文件(它在 conf/server.xml)
在<Host>与</Host>之间加上以下这句话
<Context path="/" docBase="appkit-web" debug="0" privileged="true"/>这个配置的path指的是根目录,docBase指的是war名。
这样只要在浏览器上打开:http://localhost:8080/index.html 就行了。
<!-- Tomcat Manager Context -->
<Context path="/manager" docBase="manager" debug="0"privileged="true"/>
path="" 为部署后运行的url路径,docBase为你的war的文件名。 第一次运行的时候,tomcat会自动解压war,生成path指定名称的网站。
这里docBase中的"manager"就表示war文件名称为“manager.war"
修改server.xml在tomcat下部署多个WEB工程
第一步:
server.xml 修改如下:
<Host name="localhost" appBase="WebRoot"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="F:\myeclipse8work\teset\WebRoot"
workDir="F:\java\tomcat-work" reloadable="true">
</Context>
</Host>
<Host name="zhangda" appBase="WebRoot"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="F:\myeclipse8work\hibernate\WebRoot"
workDir="F:\java\tomcat-work2" reloadable="true">
</Context>
</Host>
wordDir 是设置不同项目的缓存目录,不同的项目设置不同缓存目录。
第二步:
在C:\Windows\System32\drivers\etc下找到hosts文件,修改如下内容:
127.0.0.1 localhost
127.0.0.1 zhangda
去掉前面的“#”。
第三步:
在浏览器输入:http://localhost:8080 可以访问 F:\myeclipse8work\teset\WebRoot 内容。
在浏览器输入:http://zhangda:8080 可以访问 F:\myeclipse8work\hibernate\WebRoot 内容。
tomcat server.xml配置
一、修改端口
Tomcat默认的WEB端口为8080,我一般喜欢把它改成80,当然这是完全没有必要的
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
注意是修改HTTP协议的,也就是protocol="HTTP/1.1"的,不是其他的。
二、增加虚拟目录
1、最简单的方式:直接把JavaEE网站放在$CATALINA_HOME/webapps目录下了,然后通过http://localhost/WebName,WebName为网站的目录名;
2、自定义:把网站放在其它的目录下,比如放在/var/www/webapp目录下,那么就要修改server.xml了。
在</Host>前增加以下内容即可:
<Context path="/SpringMVC" docBase="/var/www/webapp/SpringMVC" workDir="/var/www/webtmp/SpringMVC" debug="5" reloadable="false" crossContext="true" />
则可以通过http://localhost/SpringMVC访问了,也就是在主机名为localhost中增加了一个名为SpringMVC的虚拟目录了,当然,这里的名字完全依个人而定的。
三、增加虚拟主机
其实这才是本文要说的重点,也就是本文开头说的那种案例。我们每开发一个网站,都是通过http://localhost/WebName的形式访问,是不是很麻烦?
1、修改hosts文件,增加主机名
(1)Linux系统的hosts文件为/etc/hosts
(2)Windows系统的hosts文件为C:\WINDOWS\system32\drivers\etc\hosts
比如你想增加www.local.com主机,则在此文件中增加一行:127.0.0.1 www.local.com,也就是说当你访问www.local.com时,其实是访问127.0.0.1;
我比较喜欢简短的域名,所以我增加的是:127.0.0.1 SpringMVC
2、修改配置文件
在</Host>后再增加一个Host结点:
<Host name="SpringMVC" appBase="/var/www/webapp/SpringMVC" unpackWARs="true" autoDeploy="false" xmlValidation="false" xmlNamespaceAware="false" />
即增加了一个名为SpringMVC的虚拟主机,当然也可以是name="www.local.com",这个根据具体情况定。
这样,访问的IP就是:http://SpringMVC了。
3、目录设置
主机SpringMVC的WEB文件全放在/var/www/webapp/SpringMVC目录下,在该目录下增加ROOT目录,放入你的JavaEE网站工程,这样,你就可以通过http://SpringMVC访问你的网站了,后面少了/SpringMVC这个字串,在IP上与运行环境保持了一致。
四、其它问题
通过http://SpringMVC访问的是SpringMVC网站;
通过http://localhost访问的是Tomcat自带的网站;
我们在hosts文件中已经知道,SpringMVC和localhost都对应的IP是:127.0.0.1
那么,通过http://127.0.0.1访问的是那个网站呢?
在Host的父节点是:<Engine name="Catalina" defaultHost="SpringMVC">
从上可以看出,defaultHost="SpringMVC"决定了127.0.0.1访问哪个网站,我的设置是访问SpringMVC
tomcat war包部署的更多相关文章
- SpringBoot系列: 极简Demo程序和Tomcat war包部署
=================================SpringBoot 标准项目创建步骤================================= 使用 Spring IDE( ...
- gitlab+jenkins+tomcat war包部署(此文有新版本)
对本文进行格式整理,url: https://www.cnblogs.com/huandada/p/9969234.html 整个项目的框架为: 1.gitlab的安装(Centos7) 新建/etc ...
- SpringBoot之打成war包部署到Tomcat
正常情况下SpringBoot项目是以jar包的形式,正常情况下SpringBoot项目是以jar包的形式,并且SpringBoot是内嵌Tomcat服务器,所以每次重新启动都是用的新的Tomcat服 ...
- springboot 学习之路 5(打成war包部署tomcat)
目录:[持续更新.....] spring 部分常用注解 spring boot 学习之路1(简单入门) spring boot 学习之路2(注解介绍) spring boot 学习之路3( 集成my ...
- Windows下war包部署到Linux下Tomcat出现的问题
最近,将Windows下开发的war包部署到Linux下的Tomcat时报了一个错误:tomcat error in opening zip file.按理说,如果正常,当把war包复制到webapp ...
- 将Web项目War包部署到Tomcat服务器
1. 配置Java运行环境 1.1 下载并安装JDK 从官网上下载最新的JDK:http://java.sun.com/javase/downloads/index.jsp ,下载后安装,选择想把JD ...
- eclipse项目转移至IDEA与IDEA tomcat报错(idea自带tomcat版本太高)与war包部署到win服务器与idea提交git的总结
eclipse导出项目到idea时,不要导出target: idea打开eclipse项目后,出现junit找不到的问题,原因是jar包缺失,而maven配置的低版本的junit也显示找不到,解决办法 ...
- 将web项目打成war包部署在tomcat步骤
将web项目打成war包部署在tomcat步骤 1.将自己的项目打成war包. 2.将打包好的war复制到${tomcat.home}/webapps项目下. 3.在${tomcat.hom}/con ...
- Web项目打成war包部署Tomcat时运行startup.bat直接闪退部署失败解决方案
即上篇通过将web项目打成war包部署到Tomcat服务器,解决mysql问题后,又出现了新问题,真是一波三折,所以将解决过程分享给大家,希望能帮助到小伙伴们~ 将打好的war包拷贝到Tomcat的w ...
随机推荐
- 20145235 《Java程序设计》第9周学习总结
第十六章 整合数据库 JDBC Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivity) API,即Java数据库编程接口,是一组标准的Ja ...
- Windows与Linux共享文件夹互相访问
[原文] 首先安装并配置软件samba [html] view plain copy sudo yum install samba samba-client vim /etc/samba/smb.c ...
- 【转】Cocos2d - 观察者模式NotificationCenter
http://shahdza.blog.51cto.com/2410787/1611575 [唠叨] 观察者模式 也叫订阅/发布(Subscribe/Publish)模式,是 MVC( 模型-视图-控 ...
- [Virtualization][SDN] VXLAN到底是什么 [转]
写在转发之前: 几个月以前,在北大机房和燕园大厦直接拉了一根光钎.两端彼此为校园内公网IP.为了方便连接彼此机房,我做个一个VPN server在燕园的边界,北大机房使用client拨回.两个物理机房 ...
- this绑定
js中关于this的用法,在初期时候经常会弄混,即使现在,也不敢说就一定不会混,但是起码好很多了. 函数执行过程中,主要有4种方法决定this的绑定对象. 分别为:默认绑定.隐式绑定. 显示绑定和ne ...
- php---apache的A/B测试
A/B测试 A/B测试是一种新兴的网页优化方法,可以用于增加转化率注册率等网页指标..A/B测试的目的在于通过科学的实验设计.采样样本代表性.流量分割与小流量测试等方式来获得具有代表性的实验结论,并确 ...
- js操作table倒叙显示序号的问题
今天遇到一奇葩问题,就是在js添加table时,序号是倒叙显示的,而且数据库查出来时正序的,为什么显示是倒叙的呢? 我百度一番,终于有了结果: var newRow=table.insertRow(- ...
- LightOj1388 - Trapezium Drawing(求梯形点的坐标)
题目链接:http://lightoj.com/volume_showproblem.php?problem=1388 题意:已知梯形的点A B的坐标,以及b c d的长度,求C D两点的坐标:默认A ...
- iOS xib传值--定义方法传值
事件描述: 用xib创建了一个View,里面有按钮,有TableView.我需要将数据在初始化时传递进去,方便TableView来显示信息. 首先想到的是awakeFromNib这个方法(我以为是和V ...
- Ant学习-002-ant 执行 TestNG 测试用例时 [testng] java.lang.NoClassDefFoundError: com/beust/jcommander/ParameterException 解决方案
上篇文章中概述了 Ant windows 环境的基本配置,此文讲述在初次使用的过程中遇到的问题. 今天通过 ant 执行 TestNG 测试用例时,执行报错,相应的错误信息如下所示: Buildfil ...