最初我有一个名为“admin”的 webapp 运行良好,部署在 tomcat 6 的 $CATALINA_HOME/webapps/ 目录中。现在我尝试设置一个虚拟主机来运行这个 webapp。
Step1:我在 $CATALINA_HOME/conf/server.xml 中添加了以下内容
<Host name="mysubdomain.domain.com" appBase="keshav">
</Host>
Step2:我创建了一个文件夹 $CATALINA_HOME/keshav
步骤 3:创建 ROOT 上下文为 $CATALINA_HOME/keshav/ROOT
第 4 步:将我的“管理员”webapp(位于 $CATALINA_HOME/webapps/ 中)移动到 $CATALINA_HOME/keshav
现在,当我访问http://mysudomain.domain.com/admin/jsp/login.jsp时,它可以很好地调出登录页面。但是当我尝试访问http://mysubdomain.domain.com/admin/Login.do或任何其他 struts 操作时,它给了我 404 错误-
“HTTP 状态 404 - Servlet 操作不可用”
在 catalina.out 文件中,我收到消息“信息:Servlet 操作当前不可用”
谁能帮我弄清楚这个配置有什么问题?
更新:我还将连接器端口从 8080 更改为 80。由于打开 80 端口需要 root 权限,我正在使用 sudo 启动 tomcat(我使用的用户在 sudoers 列表中)。
每当我使用 sudo 运行 tomcat 时,都会发生 struts 操作的 404 错误。如果我将连接器端口从 80 更改为 8080 并在不使用 sudo 的情况下启动,则虚拟主机工作正常..
如果我 su 到 root 并启动 tomcat,它也可以正常工作。使用 sudo 似乎导致了这个问题..