Похоже, что ваше единственное отклонение от apache, обслуживающего htdocs, это отправка чего-либо на tomcat, который запускает сервлет "myappplication".В этом случае
- Определить работника (некоторая текстовая строка, назовем ее «myworker»).
- В конце файла /etc/apache2/apache2.conf добавьтестроки
- игнорировать эту строку в сообщении -
# Where to find workers.properties
# Update this path to match your conf directory location (put workers.properties next to httpd.conf)
JkWorkersFile /etc/apache2/workers.properties
# Where to put jk logs
# Update this path to match your logs directory location (put mod_jk.log next to access_log)
JkLogFile /var/log/apache2/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
JkMount /myapplication/* myworker
В этом каталоге создайте файл "worker.properties", которыйсодержит следующее:
worker.myworker.type=ajp13
worker.myworker.host=localhost
worker.myworker.port=8081
worker.myworker.cachesize=10
worker.myworker.cache_timeout=600
worker.myworker.socket_keepalive=1
worker.myworker.socket_timeout=300
Отредактируйте строку tomcat_inst_dir / conf / server.xml, чтобы поместить ее в строку
[Connector port = "8081" protocol = "AJP / 1,3 "/]
Примечание: замените квадратные скобки на угловые.Вышеуказанная строка идет внутри тегов [service] ... [/ Service] и из тегов [Engine] ... [/ Engine], помещается прямо над строкой [Engine].
- Перезапустите apache и tomcat
Теперь любой запрос к "http://www.domain.com/myapplication/servletName[?par=value...]" перенаправляется с помощью apache (на порт 80) на tomcat (на порт 8081) и на сервлет myapplication. Я предполагаю, что у вас естькаталог "tomcat_home / webapps / myapplication", который, в свою очередь, содержит каталог WEB-INF с файлом "web.xml". "servletName" выше - это то, что вы определяете между [servlet-name] ... [/теги servlet-name] в этом файле.
Я выбрал номер 8081 (не стесняйтесь выбирать номер порта, если он не конфликтует с другими стандартными службами), так что порт 8080 все еще активен для тестирования"http://www.domain.com:8080/myapplication/servletName" (должен выдавать тот же вывод на портах 8080 и 80, порт apache).
ВАЖНО: Сохраняйте резервную копию всех файлов, измененных в вышеуказанном процессе, чтобы вы могли вернуться к своей работеСистема, если вышеперечисленное не работает.Мне пришлось пройти через бесчисленные итерации вышеописанного, чтобы заставить его работать!
Удачи, и надеюсь, что это сработает для вас, - MS
PS.Извините за форматирование - я не могу получить это лучше