[转]Tomcat部署web应用的几种方法

[转]Tomcat部署web应用的几种方法,第1张

tomcat部署web应用主要有以下几种方式:1.拷贝你的WAR文件或者你的web应用文件夹(包括该web的所有内容)到$CATALINA_BASE/webapps目录下。2.为你的web服务建立一个只包括context内容的XML片断文件,并把该文件放到$CATALINA_BASE/webapps目录下。这个web应用本身可以存储在硬盘上的任何地方。这种context片断提供了一种便利的方法来部署web应用,你不需要编辑serverxml,除非你想改变缺省的部署特性,安装一个新的web应用时不需要重启动Tomcat。3.同方法2,只是将context片断放在CATALINA_BASE\conf\Catalina\localhost目录下这种方法比方法2要有效,笔者经过多次实验发现方法2不如后面这种方法好用前者多次出现系统打不开的情况4.直接在serverxml中</Host前加上Context片断,使用这种方法时,tomcat会自动在CATALINA_BASE\conf\Catalina\localhost目录下生成一个文件片断方法同方法3具有同样效果这种方式需要将ROOT目录删除才行另外,为了让tomcat只运行conf/serverxml中指定的web应用,可以有以下几种办法:实现一:1)将要部署的WEB应用放在webapps以外的路径,并在serverxml相应的context中的docBase指定2)删除webapps中的所有文件夹, 以及conf/catalina/localhost下所有xml文件注: webapps是serverxml中的Host元素的appBase属性的值实现二:1) 修改serverxml中Host元素的属性, 添加或修改: deployXML="false"deployOnStartup="false" autoDeploy="false"2) 含义:deployXML="false": 不部署conf/catalina/localhost下的xml相应的WEB应用deployOnStartup="false" : tomcat启动时, 不部署webapps下的所有web应用autoDeploy="false": 避免tomcat在扫描改动时, 再次把webapps下的web应用给部署进来

1 安装Apache Http Server、Tomcat、Tomcat Connector(JK Module)

Apache Httpd:从网上下载Apache Http Server

2215的安装版(貌似没有免安装压缩版)。安装时可以选择将其安装为系统服务或者每次手动启动。我只是测试,所以选择了后者,但后者默认将会监听8080端口,注意不要与Tomcat默认的8080端口冲突了。这一项可以稍后在配置文件中修改。

Tomcat:可以选择免安装压缩版(我用的是6018版),很方便,可以注册为系统服务。

JK

Module:从http://tomcatapacheorg/download-connectorscgi找到binary下载,下载目前最新版1230文件mod_jk-1230-httpd-223so,将其改名为mod_jkso,置于Apache

Http Server安装目录下的modules目录中。

2 新建workersproperties文件

这个workerproperties可以置于任何目录下,我把它直接放在了Apache Http Server的安装目录下。

# 为mod_jk模块指明Tomcat的安装路径

workerstomcat_home=D:/DevSoft/apache-tomcat-6018

# 为mod_jk模块指明JDK的安装路径

workersjava_home=C:/Program Files/Java/jdk160_20

# 添加一个worker到worker列表

workerlist=worker1

# 为worker1设定各个参数

# 工作端口,Tomcat的默认Connector监听端口,可以查看Tomcat的Serverxml中有port="8009"

workerworker1port=8009

# Tomcat所在机器,如果安装在与apache不同的机器则需要设置IP

workerworker1host=localhost

# worker的类型,允许的值为ajp13、ajp14、lb、status等;ajp13是mod_jk连接WebServer和Tomcat的首选方式(即使用socket作为通信渠道)

workerworker1type=ajp13

# 负载平衡因子

workerworker1lbfactor=1

注:workerlist中worker的名字应该是对应到Apache Http Server的httpdconf配置文件中的JkMount的(后面详述)。

3 修改Apache Http Server的httpdconf配置文件

修改Apache Http Server安装目录下的conf目录下的httpdconf文件:

# 载入mod_jk模块,注意模块文件的路径

LoadModule jk_module modules/mod_jkso

# 声明workersproperties文件的位置

JkWorkersFile "C:/Program Files/Apache Software Foundation/Apache22/workersproperties"

# 声明mod_jk的日志文件位置

JkLogFile "C:/Program Files/Apache Software Foundation/Apache22/logs/mod_jklog"

# 声明mod_jk的日志级别(可选)

JkLogLevel info

# 声明mod_jk的日志的时间戳格式(可选)

JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

# 将/action和/jsp类型的请求都分配给Tomcat,其余类型的有Apache Http Server自己处理

# 注意JkMount后面的worker1即对应workerproperties文件中workerlist里的worker的名称

JkMount /action worker1

JkMount /jsp worker1

4 修改DirectoryRoot

网上的文章大多只写到上面就结束了,动态的内容交给Tomcat之一步算是完成了,但静态内容的分配还需接着设置httpdconf文件。

查找到DocumentRoot "C:/Program Files/Apache Software Foundation/Apache22/htdocs"这一行,并将其值替换为Web应用的路径:

DocumentRoot "D:/DevSoft/apache-tomcat-6018/webapps"

查找到<Directory "C:/Program Files/Apache Software Foundation/Apache22/htdocs">这一行,并将其值替换为Web应用的路径:

<Directory "D:/DevSoft/apache-tomcat-6018/webapps">

至此,动态内容和静态内容的请求分配,才基本完成。

方法如下:

1在myeclipse里面,window菜单最后一个preferences,左边点开myclispe,点servers下面找到tomcat,选择tomcat版本,Tomcat Server 设置为enable,再选择tomcat的路径,OK。

2在myclipse新建一个WEB项目,然后在下面可以写jsp程序了,默认会有个indexjsp

3点工具栏上的发布按钮,点右边的ADD,选择刚才第一步建的tomcat,就会把项目发布到tomcat下面

4启动tomcat,在发布按钮旁边,是启动按钮,选择创建的tomcat

5在浏览器里面输入地址localhost:8080/myeclipse项目名称/indexjsp

第一种方式:利用Tomcat自动部署

利用Tomcat自动部署方式是最简单的、最常用的方式。若一个web应用结构为D:\workspace\WebApp\AppName\WEB-INF\,只要将一个Web应用的WebContent级的AppName直接扔进%Tomcat_Home%\webapps文件夹下,系统会把该web应用直接部署到Tomcat中。所以这里不再赘述。

第二种方式:利用控制台进行部署

若一个web应用结构为D:\workspace\WebApp\AppName\WEB-INF\,利用控制台进行部署的方式如下:进入tomcat的manager控制台的deploy区域——在Context

path中键入"XXX"(可任意取名)——在WAR or Directory

URL:键入D:\workspace\WebApp\AppName (表示去寻找此路径下的web应用)——点击deploy按钮。

然后在%Tomcat_Home%\webapps路径下将会自动出现一个名为XXX的文件夹,其内容即是D:\workspace\WebApp\AppName的内容,只是名字是XXX而已(这就是前面在Context path键入XXX的结果)。

以上说明利用控制台进行部署的实质仍然是利用Tomcat的自动部署。

第三种方式:增加自定义的Web部署文件

若一个web应用结构为D:\workspace\WebApp\AppName\WEB-INF\,这种部署方式稍微复杂一点,我们需要在%Tomcat_Home%\conf路径下新建一个文件夹catalina——再在其中新建一个localhost文件夹——最后再新建一个XML文件,即增加两层目录并新增XML文件:%Tomcat_Home%\conf\Catalina\localhost\web应用配置文件xml ,该文件就是部署Web应用的配置文件。例如,我们新建一个%Tomcat_Home%\conf\Catalina\localhost\XXXxml, 该文件的内容如下:

<Context path="/XXX" reloadable="true" docBase="D:\workspace\WebApp\AppName" workDir="D:\workspace\WebApp\work"/>

注意:

(1)以上代码中的workDir表示将该Web应用部署后置于的工作目录(Web应用中JSP编译成的Servlet都可在其中找到),如果使用的Eclipse作为IDE,一般可人为设置在WebApp的work目录下。

如果自定义web部署文件XXXxml中未指明workdir,则web应用将默认部署在%Tomcat_Home%\work\Catalina\localhost\路径下新建的以XXX命名的文件夹下。(Web应用中JSP编译成的Servlet都可在其中找到)

(2)Context path即指定web应用的虚拟路径名。docBase指定要部署的Web应用的源路径。

其实开发者可以使用安装有Tomcat插件eclipse自动创建部署文件来部署Web应用而不必再手动建立该文件,方法如下:

1 打开Eclipse——打开菜单栏window选择preference(首选项)——左侧选择Tomcat,如下图示:

2 可以看到上图中高亮画出的Context declaration mode(Context 声明模式)中选择以Context

files增加自定义部署文件的形式部署web应用——然后Contexts directory中指定上述文件的上级目录(即%Tomcat_Home%\conf\Catalina\localhost )——点击Apply或OK。

3 完上述步骤,再选中Web项目右键点击properties(属性)——选择右侧的Tomcat ,如下图所示:

4 勾上"Is a Tomcat project"前的checkbox,将项目关联至Tomcat。

在Context name中填入XXX,即Web应用自定义部署文件名和Context path名。

在Subdirectory to set as web application root (optional)中填入要部署的Web应用的实际路径(即WEB-INF上级目录)。

注意:Eclipse会自动地将workdir设置在Workspace\WebApp\work下。

如此便自动创建了%Tomcat_Home%\conf\Catalina\localhost\XXXxml 文件。启动Tomcat 即可自动部署Web应用。

第四种方式:手动修改%Tomcat_Home%\conf\serverxml文件来部署web应用

此方法即打开%Tomcat_Home%\conf\serverxml文件并在其中增加以下元素:

<Context docBase="D:\workspace\WebApp\AppName" path="/XXX" debug="0" reloadable="false" />

然后启动Tomcat即可。

当然如果使用Eclipse,在Eclipse中的设置也有改变:打开菜单栏window选择preference(首选项)——左侧选择Tomcat——可以看到上图中高亮画出的Context

declaration mode(Context 声明模式)中选择以Serverxml文件来部署web应用。

你把tomcat启动了,把自己电脑作为服务器,然后允许外网访问啊。

本机设局域网的话,本机(运行Java Web服务的PC机)和客户机(想要访问Java Web服务)必须在同一局域网内,例如都连着同一个无线路由器。

将项目部署到Tomcat上并启动,并在命令行通过ipconfig命令查看无线局域网适配器WLAN下的IPv4地址在客户机上只要输入:http://ipv4地址:8080/项目名http://1921681101:8080/ServerHIVSH8080为Tomcat的端口号,HTTP协议默认的端口号为80,所以在这里要加上端口号。也可以通过在Tomcat的配置文件中修改端口号为80,将默认的项目名改为想要别人访问的项目,就可以直接通过IP地址访问了,如http://1921681101

如果外网访问此方法下建议将笔记本直接接上网线,以下将默认笔记本直接接入外网网线

这个方法非常简单,直接在百度搜索IP ,就可以知道本机的外网IP,也就是ISP分配给你的IP地址,在客户机上只要输入:http://本机IP:8080/项目名,本例为:http://2104198150:8080/ServerHIVSH8080为Tomcat的端口号,HTTP协议默认的端口号为80,所以在这里要加上端口号。也可以通过在Tomcat的配置文件中修改端口号为80,将默认的项目名改为想要别人访问的项目,就可以直接通过IP地址访问了,如http://2104198150

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » [转]Tomcat部署web应用的几种方法

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情