Tomcat 修改根目录

Tomcat 修改根目录
2008-07-01 13:07
问题:Tomcat默认的根目录是它下面webapps/ROOT的folder, 如何修改成用户指定的目录呢?
回答:修改 /conf 文件夹里的server.xml文件,请看下面的程序片断:
...
...
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
...
...
以上定义了server中的一台主机(localhost), 它的默认根目录是"webapps"(相对路径),现在我们要自己在Host下加上多个Context tag来创建多个自定义访问。
结果如下:
...
...
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="/mnt/vivimob/" debug="0" reloadable="true" crossContext="true" />
<Context path="/xyz" docBase="/mnt/test/" debug="0" reloadable="true" crossContext="true" />
...
...
一般我们用Context来覆盖Host的appBase的设定而不是直接修改appBase.
第一个Context用了path="", 如果path=""(注意不是path="/"),则相当于是这个Host的虚拟根目录,docBase则指出了物理目录的位置(可以是绝对也可以是相对于Host的appBase的位置),如果你访问http://localhost/ 则会使用/mnt/vivimob/里的内容。
第二个Context用了path="/xyz",如果你访问http://localhost/xyz/ 则会使用/mnt/test/里的内容。
### 配置 Tomcat根目录运行 为了使 Tomcat 能够在根目录下运行指定的应用程序,可以通过修改 `%CATALINA_HOME%/conf/server.xml` 文件或者创建独立的 `context.xml` 文件来实现。以下是具体的配置方式: #### 方法一:修改 server.xml 文件 编辑 `%CATALINA_HOME%/conf/server.xml` 文件,在 `<Host>` 元素中找到默认的 `<Context>` 定义部分。如果不存在,则手动添加如下内容并将其指向目标应用的路径[^2]。 ```xml <Context path="" docBase="your-app-directory" reloadable="true"/> ``` - **path**: 设置为空字符串 (`""`) 表示该上下文映射到根路径 `/`。 - **docBase**: 应用程序所在的物理路径或 WAR 文件的位置。 - **reloadable**: 如果设为 true,则当检测到类文件发生变化时会自动重新加载应用程序。 完成上述更改后保存文件,并重启 Tomcat 服务以生效。 #### 方法二:使用单独的 context XML 文件 另一种更推荐的方式是在 `%CATALINA_HOME%/conf/Catalina/localhost/` 下新建一个名为 `ROOT.xml` 的文件(注意大小写敏感),其内容如下所示[^3]: ```xml <?xml version=&#39;1.0&#39; encoding=&#39;utf-8&#39;?> <Context> <!-- 将此值替换为您希望作为根目录部署的实际位置 --> <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource" maxTotal="100" maxIdle="30" maxWaitMillis="10000" username="root" password="password" driverClassName="com.mysql.cj.jdbc.Driver" url="jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=UTC"/> </Context> ``` 在此基础上调整其中的关键参数即可满足需求。同样地,记得执行相应的命令启动 Tomcat 实例之后才能看到效果变化。 对于 Mac 用户来说,可通过终端进入 Tomcat 主目录下的 bin 子目录执行以下指令开启服务器实例: ```bash sh startup.sh ``` 而 Windows 平台上的操作者则只需双击对应脚本文件即可达成目的——即位于相同路径中的 `startup.bat` 可执行批处理文件。 --- ### 注意事项 无论采用哪种手段,请务必确认所涉及的所有资源均已妥善准备就绪后再实施实际改动;另外考虑到安全性因素,在生产环境中不建议启用动态重载功能(`reloadable=true`)除非确实必要。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值