Первоначально у меня было нормально работающее веб-приложение под названием «admin», развернутое в каталоге $ CATALINA_HOME/webapps/ tomcat 6. Теперь я попытался настроить виртуальный хост для запуска этого веб-приложения.
Шаг 1: я добавил следующее в $CATALINA_HOME/conf/server.xml
<Host name="mysubdomain.domain.com" appBase="keshav">
</Host>
Шаг 2: я создал папку $CATALINA_HOME/keshav.
Шаг 3: Создал контекст ROOT как $CATALINA_HOME/keshav/ROOT
Шаг 4. Мое веб-приложение «admin» (которое находилось внутри $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 — действие сервлета недоступно»
В файле catalina.out я получаю сообщение «ИНФОРМАЦИЯ: действие сервлета в настоящее время недоступно»
Может ли кто-нибудь помочь мне понять, что не так в этой конфигурации?
ОБНОВЛЕНИЕ: я также изменил порт соединителя с 8080 на 80. Поскольку для открытия порта 80 требуются привилегии root, я запускаю tomcat с помощью sudo (пользователь, которого я использую, находится в списке sudoers).
Всякий раз, когда я запускаю tomcat с помощью sudo, возникает ошибка 404 для действий struts. Если я изменю порт соединителя с 80 на 8080 и начну без использования sudo, виртуальный хост будет работать нормально.
Если я использую su для рутирования и запускаю tomcat, он также работает нормально. Использование sudo, похоже, вызывает эту проблему.