如何用apache + tomcat 配置虚拟主机

本人想配置虚拟主机,也就是提供jsp的空间现在有些不明白虚拟主机需要解析tomcat中的server.xml中的host元素,但是如果一个客户申请了一个虚拟主机我就得添加... 本人想配置虚拟主机,也就是提供jsp的空间
现在有些不明白

虚拟主机需要解析tomcat中的server.xml中的host元素,但是如果一个客户申请了一个虚拟主机我就得添加一个,修改server.xml需要重启tomcat,这样是不行的啊

怎么实现那种普通主机的效果,比如说客户上传应用到tomcat/webapp下的东西要重启才可以正确访问,但是怎么来控制tomcat呢,如果重启tomcat其他的客户的应用不是都停了吗?怎么实现的停止自己注册的那个tomcat呢,还是每一个用户给他分配一个tomcat?但是没个用户分配一个tomcat端口怎么来管理呢?

这些问题搞了好久了,谁来帮帮我啊 ?
每个用户使用一个Tomcat的话他们的端口就不好管理了,而且apache如何监听这么多的端口,而且将相应的请求发给相应的tomcat呢 ,请会的朋友给个整体的解决方案出来,小弟在这里先行谢过了
展开
 我来答
liyonghui517
2009-01-08 · 超过14用户采纳过TA的回答
知道答主
回答量:159
采纳率:0%
帮助的人:79.4万
展开全部
一,编译后打成war包,放入 TOMCAT_HOME\webapps下,然后启动tomcat,tomcat会自动解包并部署工程
二,整个工程文件夹拷贝到webapps下,然后启动tomcat,也能实现发布,不过一般很少这么用
三,在TOMCAT_HOME\conf\Catalina\localhost下新建一个xml文件,其中内容指向你所在的工程的应用目录,然后启动tomcat,也能实现工程的发布,这样的方式对于开发调试来说非常方便,是开发过程中经常使用的方式,xml内容格式如下:
<?xml version="1.0" encoding="GB2312"?>
<Context path="/myapp" docBase="H:/work/projects/myapp/myappWebContext" crossContext="false" debug="0" reloadable="true"></Context>

你的问题,可以两种方式:
1、让用户自己打包成war包,然后上传工程文件,并将其手动或自动的拷贝到到TOMCAT_HOME\webapps下,tomcat会实现热部署,实现工程的发布。
2、用户上传自己的工程文件到你的指定目录,你生成一个对应的xml并自动或手动拷贝到TOMCAT_HOME\conf\Catalina\localhost下,tomcat会实现热部署,实现工程的发布。
xiliantian
2009-01-07 · TA获得超过1849个赞
知道大有可为答主
回答量:648
采纳率:0%
帮助的人:899万
展开全部
发布有几种方式:
1、将工程编译后打成war包,放入TOMCAT_HOME\webapps下,然后启动tomcat,tomcat会自动解包并部署工程
2、将编译后的整个工程文件夹拷贝到webapps下,然后启动tomcat,也能实现发布,不过一般很少这么用
3、在TOMCAT_HOME\conf\Catalina\localhost下新建一个xml文件,其中内容指向你所在的工程的应用目录,然后启动tomcat,也能实现工程的发布,这样的方式对于开发调试来说非常方便,是开发过程中经常使用的方式,xml内容格式如下:
<?xml version="1.0" encoding="GB2312"?>
<Context path="/myapp" docBase="H:/work/projects/myapp/myappWebContext" crossContext="false" debug="0" reloadable="true"></Context>

针对你的问题,可以两种方式:
1、让用户自己打包成war包,然后上传工程文件,并将其手动或自动的拷贝到到TOMCAT_HOME\webapps下,tomcat会实现热部署,实现工程的发布。
2、用户上传自己的工程文件到你的指定目录,你生成一个对应的xml并自动或手动拷贝到TOMCAT_HOME\conf\Catalina\localhost下,tomcat会实现热部署,实现工程的发布。

希望能帮到你~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2009-01-06
展开全部
默认配置时:
在Tomcat运行的时候,比如你将一个打包成 abcd.war 文件放入Tomcat的webapps目录,
这个 abcd.war 就会被自动部署,根本不用重新启动Tomcat,你就可通过:
http://localhost:8080/abcd 来访问.

制作:abcd.war 你应该没问题吧,使用如下命令
jar -cf abcd.war -C 你的站点所在的目录 .

EATJ.COM网上有个ROOT.war 文件,你可以下载来试试:
http://s41.eatj.com/ROOT.war
当然这个ROOT.war 文件最好改成别的名字(比如root.war),因为Tomcat的webapps
目录下已以有一个ROOT目录了
启动好Tomcat,把这个文件放入webapps目录下,然后开启浏览器,输入地址:
http://localhost:8080/root 试试

Usage: jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ...
Options:
-c create new archive
-t list table of contents for archive
-x extract named (or all) files from archive
-u update existing archive
-v generate verbose output on standard output
-f specify archive file name
-m include manifest information from specified manifest file
-e specify application entry point for stand-alone application
bundled into an executable jar file
-0 store only; use no ZIP compression
-M do not create a manifest file for the entries
-i generate index information for the specified jar files
-C change to the specified directory and include the following file
If any file is a directory then it is processed recursively.
The manifest file name, the archive file name and the entry point name are
specified in the same order as the 'm', 'f' and 'e' flags.

Example 1: to archive two class files into an archive called classes.jar:
jar cvf classes.jar Foo.class Bar.class
Example 2: use an existing manifest file 'mymanifest' and archive all the
files in the foo/ directory into 'classes.jar':
jar cvfm classes.jar mymanifest -C foo/ .
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
panda407
2009-01-23 · TA获得超过652个赞
知道小有建树答主
回答量:768
采纳率:100%
帮助的人:614万
展开全部
一,编译后打成war包,放入 TOMCAT_HOME\webapps下,然后启动tomcat,tomcat会自动解包并部署工程
二,整个工程文件夹拷贝到webapps下,然后启动tomcat,也能实现发布,不过一般很少这么用
三,在TOMCAT_HOME\conf\Catalina\localhost下新建一个xml文件,其中内容指向你所在的工程的应用目录,然后启动tomcat,也能实现工程的发布,这样的方式对于开发调试来说非常方便,是开发过程中经常使用的方式,xml内容格式如下:
<?xml version="1.0" encoding="GB2312"?>
<Context path="/myapp" docBase="H:/work/projects/myapp/myappWebContext" crossContext="false" debug="0" reloadable="true"></Context>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
储利玉2i
2009-01-16 · TA获得超过1157个赞
知道小有建树答主
回答量:954
采纳率:0%
帮助的人:489万
展开全部
我也是刚刚研究了一下这个问题,其实是个很简单的问题了,在你的server.xml里面的 <Host>标签里面有一个autoDeploy属性,你把它写成这样,autoDeploy="true",这样设置好,就说明你的tomcat是自动发布项目的,别人上传文件到你的tomcat下,tomcat会自动添加好它的,你不用担心,也就不需要重启它了。

不信你在本机上试试,呵呵!不过话又说回来,如果你要想在网络上为别人提供jsp的虚拟主机,这点技术是肯定行不通的。

其它的问题我也解决不了,说点我个人想法:用不同端口来做的方法应该不可行,想个办法修改server.xml可能要可行一点;期待高人回答了。

回答者: jixiang_83 - 助理 三级 1-14 13:15
说得好像有点门路,可惜不够详细,可以用他这个思路去试试。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(13)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式