Недавно я построил виртуальную машину Ubuntu для разработки MarkLogic. Затем машина была передана 4 другим разработчикам, чтобы обеспечить согласованную платформу разработки. Теперь я настраиваю еще одну часть головоломки разработчика, которая состоит из некоторых java-библиотек и веб-приложения JSP. Источник проекта находится в домашнем каталоге пользователя-разработчика (каждая машина имеет одну и ту же учетную запись). Я добавил символическую ссылку в /var/lib/tomcat6/webapps/
каталог, который указывает на исходный корень веб-приложения в каталоге проекта.
/var/lib/tomcat6/webapps/jspapp -> /home/developer/dev/workspace/svn/Project/webapp/
(Фактические файлы JSP находятся в каталоге Project / webapp.)
Это отлично работает на моем экземпляре виртуальной машины. Я успешно реплицировал настройку на другую виртуальную машину, и она работала нормально. Однако остальные виртуальные машины, на которых я реплицирую установку, не работают. На первых двух виртуальных машинах я получаю страницы веб-приложения. На других виртуальных машинах я получаю ошибку 404.
Все виртуальные машины были клонированы с одного оригинала. Все источники проекта веб-приложения одинаковы, за исключением одного значения конфигурации (IP-адрес локального компьютера). Я создал символьную ссылку таким же образом для каждого и проверил, что разрешения / режимы файлов и каталогов одинаковы. Я сравнил каталоги установки tomcat и не увидел различий в конфигурации между ними. Единственные различия в файлах, которые я вижу, это то, что похоже на данные кэша Catalina. Для всех намерений и целей настройки идентичны. Но очевидно, что что-то не то.
Есть ли у кого-нибудь предложения относительно того, как я могу решить эту проблему? Я новичок в мире Linux и новичок в Tomcat.
Обновить - Я скопировал содержимое связанного каталога в реальный каталог с тем же именем (после удаления ссылки), но он по-прежнему не работает. Тем не менее, я жестяная банка увидеть копию /var/lib/tomcat6/webapps/ROOT/index.html
которые я поместил в рассматриваемый каталог. Он ведет себя почти так, как будто файлы JSP игнорируются.
Краткий контрольный список:
Проверь это allowLinking="true"
был установлен в вашей конфигурации Tomcat: https://stackoverflow.com/questions/315093/configure-symlinks-for-single-directory-in-tomcat/315145#315145
Убедитесь, что пользователь tomcat
процесс имеет разрешение на выполнение каждый родительская папка /home/developer/dev/workspace/svn/Project/webapp/
каталог (т.е. /home
, /home/developer
, /home/developer/dev
, /home/developer/dev/workspace
, ...)