Назад | Перейти на главную страницу

Как получить сервер страниц html / css / jpg с помощью apache и tomcat с помощью mod_jk

У меня apache2 и tomcat6 работают на порту 80 с настройкой mod_jk на серверах ubutnu. Мне пришлось настроить документ об ошибке 503 ErrorDocument 503 /maintenance.html в конфигурации apache, и каким-то образом мне удалось заставить его работать, а страница с ошибкой является сервером apache, когда tomcat остановлен. Разработчики создали красивую страницу с ошибкой (html-страницу, которая вызывает css и jpg), и меня просят, чтобы эта страница обслуживалась apache, когда tomcat не работает. Когда я попробовал с JkUnMount /*.css на виртуальном хостинге фактические jsp-страницы tomcat не работали должным образом (потеряли формат), поскольку приложения tomcat используют jsp, css, js, jpg и так далее. Я пытаюсь получить .css и .jpg, обслуживаемые как apache, так и tomcat, так что, когда tomcat не работает, я получаю css и jpg serverd от apache, и подается правильный документ об ошибке. У кого-нибудь есть техника?

Вот моя конфигурация apache2:

vim /etc/apache2/apache2.conf

Alias / /var/www/
ErrorDocument 503 /maintenance.html
ErrorDocument 404 /maintenance.html
JkMount / myworker
JkMount /* myworker
JkMount /*.jsp myworker
JkUnMount /*.html myworker


<VirtualHost *:80>
ServerName station1.mydomain.com
DocumentRoot /usr/share/tomcat/webapps/myapps1
        JkMount /* myworker
        JkUnMount /*.html myworker
</VirtualHost>


<VirtualHost *:80>
ServerName station2.mydomain.com
DocumentRoot /usr/share/tomcat/webapps/myapps2
        JkMount /* myworker
    JkMount /*.html myworker
</VirtualHost>

Просто то, что я пытаюсь сделать, - css и jpg должны обслуживаться apache, когда tomcat остановлен, а когда tomcat запущен, он должен обслуживаться tomcat, а не apache.

Если ваша страница обслуживания не слишком сложна, я бы предложил встроить таблицы стилей в документ. Таким образом, вам не придется беспокоиться о сложном наборе правил, как вы упомянули выше, и вы по-прежнему сможете обслуживать хорошо оформленную страницу обслуживания. Конечно, это не обязательно решит проблему с изображениями.

Поместите все свои пользовательские ошибки в подкаталог, а затем используйте переменную среды no-jk, чтобы обойти mod_jk для этого подкаталога, например:

SetEnvIfRequest_URI "/errors/*" no-jk
JkMount / myworker
JkMount /* myworker
JkMount /*.jsp myworker

Тогда вам не нужно беспокоиться о директивах JkUnMount.

Не могли бы вы также быть немного умнее со своими JkMounts. Итак (удалили несколько строк для ясности): -

Alias / /var/www/
ErrorDocument 503 /maintenance/maintenance.html
JkMount / myworker
JkMount /* myworker
JkUnmount /maintenance/* myworker

<VirtualHost *:80>
    ServerName station1.mydomain.com
    DocumentRoot /usr/share/tomcat/webapps/myapps1
    JkMount /* myworker 
    JkUnmount /maintenance/* myworker
</VirtualHost>

Затем вы можете статически ссылаться на общие css и jpg из папки mainentance.