⑴ tomcat部署项目的几种方式
一、静态部署
1、直接将web项目文件件拷贝到webapps 目录中
Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。所以可以将JSP程序打包成一个 war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。一个war包就是有特性格式的jar包,它是将一个web程序的所有内容进行压缩得到。具体如何打包,可以使用许多开发工具的IDE环境,如Eclipse等。也可以用 cmd 命令:jar -cvf mywar.war myweb
webapps这个默认的应用目录也是可以改变。打开Tomcat的conf目录下的server.xml文件,找到下面内容:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
将appBase修改即可。
2、在server.xml中指定
在Tomcat的配置文件中,一个Web应用就是一个特定的Context,可以通过在server.xml中新建Context里部署一个JSP应用程序。打开server.xml文件,在Host标签内建一个Context,内容如下。
在tomcat中的conf目录中,在server.xml中的,<host/>节点中添加:
<Context path="/hello" docBase="D:\ workspace\hello\WebRoot" debug="0" privileged="true">
</Context>
或者
<Context path="/myapp" reloadable="true" docBase="D:\myapp" workDir="D:\myapp\work"/>
或者
<Context path="/sms4" docBase="D:\workspace\sms4\WebRoot"/>
说明:
path是虚拟路径;
docBase 是应用程序的物理路径;
workDir 是这个应用的工作目录,存放运行时生成的与这个应用相关的文件;
debug 则是设定debug level, 0表示提供最少的信息,9表示提供最多的信息
privileged设置为true的时候,才允许Tomcat的Web应用使用容器内的Servlet
reloadable 如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,可以在不重起tomcat的情况下改变应用程序,实现热部署
antiResourceLocking和antiJARLocking 热部署是需要配置的参数,默认false避免更新了某个webapp,有时候Tomcat并不能把旧的webapp完全删除,通常会留下WEB-INF/lib下的某个jar包,必须关闭Tomcat才能删除,这就导致自动部署失败。设置为true,Tomcat在运行对应的webapp时,会把相应的源文件和jar文件复制到一个临时目录里。
3、创建一个Context文件
在conf目录中,新建 Catalina\localhost目录,在该目录中新建一个xml文件,名字不可以随意取,要和path后的那个名字一致,按照下边这个path的配置,xml的名字应该就应该是hello(hello.xml),该xml文件的内容为:
<Context path="/hello" docBase="E:\workspace\hello\WebRoot" debug="0" privileged="true"></Context>
tomcat自带例子如下:
<Context docBase="${catalina.home}/server/webapps/host-manager"
privileged="true" antiResourceLocking="false" antiJARLocking="false">
</Context>
这个例子是tomcat自带的,编辑的内容实际上和第二种方式是一样的,其中这xml文件名字就是访问路径,这样可以隐藏应用的真实名字。
4、注意:
删除一个Web应用同时也要删除webapps下相应的文件夹和server.xml中相应的Context,还要将Tomcat的conf\catalina\localhost目录下相应的xml文件删除,否则Tomcat仍会去配置并加载。。。
二 动态部署
登陆tomcat管理控制台:http://localhost:8080/,输入用户名和密码后便可管理应用并动态发布。
在Context Path(option):中输入/yourwebname ,这代表你的应用的访问地址。
XML Configration file URL中要指定一个xml文件,比如我们在F:\下建立一个hmcx.xml文件,内容如下: <Context reloadable="false" />其中docBase不用写了,因为在下一个文本框中填入。或者更简单点,这个文本框什么都不填,在WAR or Directory URL:中键入F:\hmcx即可,然后点击Deploy按钮,上面就可以看到了web应用程序,名字就Context Path(option):中的名字。
如果部署.war文件还有更加简单的方式,下面还有个Select WAR file uploae点击浏览选择.war文件,然后点击Deploy也可以。
⑵ 如何把本地项目部署到服务器上
把本地项目部署到服务器上方法比较多,这里以javaee项目为例:
把项目打包成zip,FTP上传到生产服务器tomcat的webapps目录下解压;
本地修改好的文件,立即FTP上传到生产服务器对应的目录;
生产服务器安装svn服务,在本地把修改过的文件commit,然后生产服务器update。
拓展资料:
服务器,也称服务器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。
服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
在网络环境下,根据服务器提供的服务类型不同,分为文件服务器,数据库服务器,应用程序服务器,WEB服务器等。
按应用层次划分通常也称为“按服务器档次划分”或 “按网络规模”分,是服务器最为普遍的一种划分方法,它主要根据服务器在网络中应用的层次(或服务器的档次来)来划分的。要注意的是这里所指的服务器档次并不是按服务器CPU主频高低来划分,而是依据整个服务器的综合性能,特别是所采用的一些服务器专用技术来衡量的。按这种划分方法,服务器可分为:入门级服务器、工作组级服务器、部门级服务器、企业级服务器。
服务器—网络
⑶ 如何手动把一个项目部署到tomcat上
在项目的发布上,有自动和手动之分。手动把一个项目发布到tomcat上,只需将项目打成war包,然后将war包放入tomcat的webapp目录即可。
开发中将项目打成war的方式有很多:
1、可以通过ant工具打包
2、可以通过maven工具打包
3、可以直接通过tomcat将项目打成war包
至于是采用何种方式,得根据实际项目需求及环境选择。手动发布项目虽然比较繁琐,但能确保每次发布的项目都是人为可控的,遇到错误也能马上解决。实际中有些公司通过脚本自动部署发布项目,这样比较省时省事,但如果一旦出现问题,就需要从头到尾排查了。因此各有利弊,可按需选择。
⑷ 项目如何部署到tomcat上
1 直接将工程编译过的webroot目录复制到webapps的根目录下。
2 用myeclipse的打包工具,在菜单栏下找到export,导出到指定的xx.war包,让后将xx.war包放到webapps的根目录下。
3 编写打包工具文件,build.xml,用ant命令直接生成jar包。
<!--生成war包 要素:1 war包所在目录
2web.xml目录所在目录
3war包包含的文件集合的根目录(通常是webroot)
4lib包所在目录
5class所在目录
以上5要素必须指定,否则无法生成。
-->
<target name="war" depends="init,build">
<wardestfile="${destPath}/war/AntExample.war"webxml="${projectPath}/WebRoot/WEB-INF/web.xml">
<filesetdir="${projectPath}/WebRoot"/>
<libdir="${projectPath}/WebRoot/WEB-INF/lib"/>
<classesdir="${projectPath}/WebRoot/WEB-INF/classes"/>
</war>
</target>
⑸ 如何部署war包到tomcat
1、导出war包,右键选择要发布的项目--选择导出。
⑹ idea远程部署项目到tomcat整理
昨天整一个idea远程部署,搞得头破血流的,整理一下,免得下次受苦。
在tomcat安装目录/bin/catalina.sh 脚本中添加一下命令,注意双引号之间是传递给JVM的参数,一个-D就是一个KV设置,保险起见每行后面留个空格,因为不知道换行符会不会生效。
用以下命令运行tomcat,不要用startup脚本
菜单栏Tools->Deployment->Configure->左上角+按钮:
输入部署的别名,比如Test,点击OK
按照上图的说明填写对应的资料。
如果是ubuntu系统,SFTP协议是默认启用的,账号密码和SSH登录的一样是主机用户,填完点击Test SFTP connection测试一下。这里踩了一坑,还自己搭FTP服务器,慢的要死。
菜单栏Run->Edit Configurations->左上角+按钮->Tomcat Server->remote:
按照图中的说明填写对应的资料,Tomcat Server Settings中的设置,就使用前面的deploy设置即可。
这里的Application Server设置也踩了一坑,因为是部署到远端的tomcat,我以为是要填写或者映射到服务器tomcat的路径,差点就搭一个smb服务出来。实际上这里是要本机的tomcat环境,用来解决项目编译依赖的,选择你本机安装的tomcat目录即可。
tomcat运行起来之后,默认是在8080端口,但是访问云主机,是无法打开测试页面的,这是因为云主机的防火墙拦截了,要手动打开你需要的端口。
除了8080以外,还有jdwp端口,rmi等你需要的端口都要打开,不用再关掉。出连接错误了,就看看是不是防火墙设置问题。
我买的是阿里云主机,其他的大概也一样。云主机有一个随机的id和一个固定的内部ip,它是通过/etc/hosts来配置的。在云主机上部署tomcat不知道为啥要去解析id对应的主机,如果解析失败就无法启动。如果报这个错误,用以下命令恢复主机映射即可。
ip地址是你云主机的内部地址,iZXXXZ是报错的主机id。就是这玩意折腾了我半宿,最后找阿里云客服给的解决方案。
配置完后使用run直接部署服务或者debug,在本地的虚拟机上是可以的,但是在云主机上,就回报java rmi 连接超时,查看防火墙的端口1099是开放的,换Idea的rmi端口也不行。
这个没找到解决办法,只能在部署、调试的时候把tcp端口都打开,完事再关掉了。如果是正式上线,就想办法手动拷贝吧。
⑺ eclipse怎么把项目发布到tomcat中
1、在Eclipse中添加Tomcat服务器。
(7)如何将项目部署到tomcat服务器上扩展阅读
Eclipse配置Tomcat的注意事项
1、在Eclipse中新建tomcat的Server后,先不要添加项目,点Finish。然后再右击server open打开Servers窗口先配置下相关参数。
2、server locations默认情况下Tocmat把我们部署的项目放在了workspaces下面,而不是像Myeclipse默认的那样放在tomcat的安装路径下,这勾选成了Use Tomcat installation,即部署在Tomcat安装目录下。
3、在Server Options里,选择Publish mole contexts to separate XML files。如果不选一般会报错did not find a matching property。
4、在Publishing中可以设置是否自动发布。如果项目比较大,可能启动时间较长,但是tomcat设置了超时时间,这个时候我们就需要把超时时间改长一些。在Timeouts更改。在ports可以更改端口号。
⑻ 怎么将myeclipse项目部署到tomcat
解决怎么将myeclipse项目部署到tomcat的步骤如下:
1.进入MyEclipse窗口,右键要运行的tomcat。
⑼ 如何使用 Eclipse 自动将 Servlet 程序部署到 Tomcat 服务器上
找到菜单 window → Show View → Servers,打开Servers视图标签,部署的Tomcat 服务在这个服务上右击,选择“Add Deployment”在新打开的对话框中,有一个Project项,选择要部署的项点击“Finish”完成部署
这样项目就部署到Tomcat里面去了
⑽ eclipse中怎么把项目加入tomcat中运行
在eclipse中把项目部署到tomcat中,首先是要在eclipse中已经有tomcat服务器及项目,将项目部署到tomcat中的方法:
1、在server选项下的tomcat服务器上点击右键,选择Add and remove..,如图: