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

Как настроить 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 /, где хранятся мои worker.properties, и я предполагаю, что ссылка находится в server.xml - эти два пункта верны? А в какой раздел server.xml он входит и как форматируется config-node?

Если мой вопрос требует более подробной информации, пожалуйста, ответьте, и я предоставлю больше.

Кроме того, если есть еще какие-либо подсказки по отладке / отслеживанию этой проблемы - я хотел бы, чтобы это было задокументировано для моего клиента.

Плохо Плохо неправильно прочитал название вопроса - Долгий день. Командная директива, которую вы ищете, такова:

JkMountFile

Вы бы поместили эту директиву в свой httpd.conf (или отдельный mod_jk.conf в зависимости от того, как вы настроены)

Из документация для apache

Файл, содержащий несколько сопоставлений контекста с рабочим Tomcat. Обычно он называется uriworkermap.properties. Для получения информации о правилах наследования см .: JkMountCopy. Там нет значения по умолчанию.


I'll leave this here in case anyone is interested.

Итак, поскольку у вас есть worker.properties, вы, вероятно, используете mod_jk (который был обесценен для mod_proxy_ajp *). worker.properties фактически является частью конфигурации mod_jk.

Да, документация для mod_jk довольно легкая. Поэтому я просто покажу вам свою производственную конфигурацию в качестве примера - вам, возможно, придется немного изменить ее, поскольку мы запускаем блоки * nix, но концепции те же.

  1. У вас 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>
    
  2. Ваш mod_jk.conf должен выглядеть примерно так:

Здесь вы устанавливаете все свои общие настройки mod_jk для apache, журналов, рабочих файлов и т. Д.

    #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. И, наконец, у вас должен быть worker.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