我正在运行tomcat,我想更改默认的webroot
,以便它指向另一个位置。有没有办法找出运行tomcat的内容或默认webroot的设置位置,因为我找不到httpd.conf这是我认为通常设置的位置?
干杯,
Alexei Blue。
**更新:**
自从我看到这个问题以来,我已经很久没忘了。最后我们发现我们使用Apache HTTPD接受来自端口80的请求。从那里我们在webroot
文件中设置了ProxyPass
和/etc/httpd/conf/virtual-hosts/default.conf
规则(这些规则也可以是在/etc/httpd/conf/httpd.conf
中设置。从那里我们运行了几个tomcat实例,所有这些实例都托管在apache-tomcat-x/conf/server.xml
中设置的不同端口上。
当我写这个问题时,我试图设置一个新的tomcat实例来运行开发中的应用程序,并被告知我需要更改webroot
来访问我的应用程序,这是不正确的。相反,我需要包含ProxyPass
规则,以便在URL中识别我的应用程序名称时,HTTPD会将请求发送到正确的tomcat实例进行处理。
E.g。
www.domain.com/myApplication
In /etc/httpd/conf/virtual-hosts/default.conf
ProxyPass /myApplication/ ajp://127.0.0.1:<ajp_port>/myApplication/
ProxyPassReverse /myApplication/ ajp://127.0.0.1:<ajp_port>/myApplication/
在apache-tomcat-x/conf/server.xml
中设置ajp_port的位置。我需要确保非端口与其他tomcat实例冲突,因此请记住检查所有端口,即关闭,HTTP,HTTP,HTTP,AJP等。
答案 0 :(得分:2)
Tomcat不使用httpd.conf,这是一个apache文件。各个webapps的位置保存在各自的web.xml文件中,但所有配置的位置都在../tomcat6/conf/server.xml和web.xml
中文件来自您想要移动的位置,或者编辑和执行它们的位置?
答案 1 :(得分:2)
正如@Woody所说,Tomcat不使用httpd.conf文件:这是一个Apache httpd事物(httpd是一个Web服务器,Tomcat是一个Java应用服务器)。
您没有提及您正在使用的操作系统或您正在使用的软件包管理软件(例如yum,apt等),因此我将为您提供一般信息,就像您下载并安装了Tomcat一样直接来自apache.org(我通常建议人们这样做有很多原因)。
Tomcat将其服务器范围的配置保存在Tomcat基本安装目录中的conf/server.xml
文件中(为方便起见,通常称为$ CATALINA_BASE):在这里,您可以配置什么类型的连接器(例如HTTP,HTTPS,AJP)等等)使用和他们应该监听的端口,集群配置,会话持久性,全局JNDI和领域资源。还有conf/web.xml
和conf/context.xml
个文件定义了在该Tomcat实例上部署的所有Web应用程序的默认值,但除非您有充分理由修改它们,否则最好不要使用这些文件。
如果要部署Web应用程序(在默认配置下),您只需将.WAR文件放入$CATALINA_BASE/webapps/
目录,然后将webapp部署到&#34;上下文路径中#34; (又名URL前缀),与文件名称相匹配,减去&#34; .WAR&#34;后缀。因此,如果您有一个名为mygreatwebapp.war的WAR文件,那么它将被部署,以便您的客户可以在http://yourhost/mygreatwebapp/
访问它。您可以为WAR文件指定一个特殊名称,使其具有空的上下文路径:如果您将WAR文件命名为ROOT.war
(大小写很重要),则可以通过http://yourhost/
访问您的webapp。 (如果你更愿意使用explosion-WAR目录而不是WAR文件,那么上面的所有内容仍然适用,除了目录根本没有.war扩展名。)
鉴于您的原始问题,听起来您想要做的就是将ROOT.war文件放入$CATALINA_BASE/webapps
(或替换已存在的文件):这会将您想要的任何Web应用部署到URL中你可以称之为&#34;默认webroot&#34;。
的更新强> 的
如果您要更改主机所有网络应用的目录,您可以修改$CATALINA_BASE/conf/server.xml
并更改<Host>
的{{1}}属性以指向,例如{ {1}}。这将把appBase
中的所有WAR文件和目录部署为单独的webapps。
如果您只想从任意位置提供单个Web应用程序,则可以在/cfusion/main/www/
下创建部署文件。这是一个标准文件,例如/cfusion/main/www/
,并且包含$CATALINA_BASE/conf/[EngineName]/[HostName]/[appname].xml
元素,但您必须指定指向您的webapp的META-INF/context.xml
(例如<Context>
)。