Как настроить uriworkermap.properties в server.xml для интеграции Apache - Tomcat?
Я настолько близок к завершению своей первой пользовательской установки, что могу попробовать ее на вкус... Я слежу за установкой Apache Tomcat, и оба сервера работают бок о бок. Мой сервер Apache настроен на общедоступный IP-адрес и доставляет страницы HTML и XML в Интернет.
Мой Tomcat работает с localhost:8080, и я могу выполнить пример JSP, сервлетов, апплетов и т. Д.
Теперь я подключаюсь, чтобы Tomcat мог обслуживать JSP и внутреннюю базу данных для запросов Apache. Я нашел соединитель Tomcat, и из журналов я могу убедиться, что URL поступает из Интернета, так как он регистрируется в журнале Apache, а затем отправляется в Tomcat, поскольку я вижу URL в его журналах и анализируемые компоненты., Пока все хорошо... то, что не происходит, это обратная поездка - ответ.
Браузер теперь получает ответ 503 Service Not Available (огромный прогресс / успех), и я вижу, что ascii / hex-ответ был сброшен в журналах.
Я думаю, что недостающий кусок получает правила, настроенные в конфигурации сервера. Вот где установочный документ стал очень расплывчатым. Я просмотрел ответ, но все возвращается как ответы IIS, что не относится к моему Apache.
Я думаю, что правила верны, но мне нужно знать, как "поместить их в конфигурацию сервера". Я предполагаю, что файл идет в папку conf /, где хранятся мои работники.properties, и я предполагаю, что ссылка идет в 'server.xml' - правильны ли эти две точки?? А в каком разделе server.xml он находится и как отформатирован узел конфигурации?
Если мой вопрос требует более подробной информации, пожалуйста, ответьте, и я предоставлю больше.
- Apache 2.2
- Windows XP 5.1.26 (старая, но все SP установлены)
- Tomcat 5.2.7
- Java / JRE / JSDK и т. Д. Имеют размер ~1.4.x, 1.5.x и 1.6.x (для этого пришлось бы копать больше, если это необходимо).
- Разъем 1.7 (я думаю) настроен на AJP1.3
- Все стандартные порты
- Брандмауэр - Netgear с переадресацией портов
- ID пользователя / пароли не по умолчанию
- Другие вещи????
Кроме того, если есть какие-либо советы по отладке / отслеживанию этой проблемы - я хотел бы получить это задокументировано для моего клиента.
1 ответ
Плохо Плохо неверно истолковано название вопроса - Длинный день. Командная директива, которую вы ищете, такова:
JkMountFile
Вы бы поместили эту директиву в ваш httpd.conf (или в отдельный mod_jk.conf в зависимости от того, как вы настроили)
Файл, содержащий несколько сопоставлений из контекста для работника Tomcat. Обычно это называется uriworkermap.properties. Правила наследования см.: JkMountCopy. Там нет значения по умолчанию.
Я оставлю это здесь на случай, если кому-то будет интересно.
Итак, так как у вас есть файл worker.properties, вы, вероятно, используете mod_jk (который не рекомендуется для mod_proxy_ajp*). working.properties на самом деле являются частью конфигурации mod_jk.
Да, документация для mod_jk довольно легкая. Поэтому я просто покажу вам мою производственную конфигурацию в качестве примера - вам, возможно, придется немного ее изменить, когда мы запускаем *nix-блоки, но концепции те же.
У вашего httpd.conf должно быть что-то похожее на это: это говорит apache включить отдельный файл конфигурации mod_jk (вы можете поместить эти директивы прямо в httpd.conf, но... мне нравится модульность). Затем настройте псевдоним и точку монтирования для ваших файлов JSP.
Include <path_to_mod_jk.conf> <VirtualHost *:80> JkAutoAlias /usr/tomcat/webapps JkMount /<your_webapp>/*.jsp <your_worker>
- Ваш mod_jk.conf должен выглядеть примерно так:
Здесь вы устанавливаете все свои общие настройки mod_jk для apache, logs, works file и т. Д.
#MOD_JK Config File
JkWorkersFile <path_to_your_workers.properties>
JkLogFile /var/log/httpd/mod_jk.log
JkLogLevel error
JkShmFile /var/run/mod_jk.shm
3. И, наконец, у вас должен быть файл works.properties, аналогичный следующему: Наконец, мы добрались до сути конфигурации. Здесь вы настраиваете рабочий. варианты довольно очевидны.
worker.<your_worker_name>.type=ajp13
worker.list=<your_worker_name>
#Worker Config
worker.<your_worker_name>.host=127.0.0.1
worker.<your_worker_name>.port=8009
- И да, я все еще запускаю это в производстве, хотя мы начинаем проект модернизации, который, вероятно, увидит конец mod_jk и переход на mod_proxy_ajp