Apache Tomcat построен на платформе Apache Web Server? - PullRequest
13 голосов
/ 24 февраля 2009

Недавно наш провайдер Software Analytic ( NETTRACKER ) прислал нам плагин, чтобы иметь возможность лучше захватывать посетителей. Этот плагин предназначен для Apache 1.x и Apache 2.x. Они сказали, и я цитирую

что, поскольку Apache Tomcat построен на HTTP-сервере Apache, конфигурация плагина должна быть такой же.

Я искал httpd.conf в нашем развертывании tomcat, но мы не можем найти его, единственная конфигурация, похожая на эту, - это server.xml в каталоге / conf.

Если у кого-то есть более точная информация об этих двух невероятных продуктах (Apache HTTP-сервер и Apache Tomcat), я буду очень признателен за то, что смогу сделать различия.

EDIT: Если вам интересно, мы знаем, что веб-сервер Apache и Tomcat могут работать вместе, используя опцию mod_jk и другие прокси. Но это будет слишком сложно для нашего развертывания.

Ответы [ 4 ]

16 голосов
/ 24 февраля 2009

Apache Tomcat и Apache HTTP - это совершенно разные серверные технологии. Невозможно использовать плагин для HTTP-сервера Apache с Tomcat.

HTTP-сервер Apache разработан на C, как и плагины. Напротив, Tomcat теперь полностью разработан на Java. Tomcat не только обслуживает статический контент, но также может обслуживать страницы и сервлеты JSP.

Tomcat используется для размещения веб-приложений Java. Он может обслуживать статический контент - вы можете разместить веб-приложение, используя только Tomcat. Поддерживаются безопасные соединения, и производительность также очень хорошая (сопоставима с производительностью HTTP-сервера).

Простая установка Apache обслуживает статический контент. Используя соответствующие плагины, HTTP-запросы могут быть перенаправлены на сервер приложений (Tomcat, JBoss, Glassfish) или интерпретатор языка сценариев (PHP). Таким образом, динамический контент может быть создан. Большим преимуществом Apache являются многочисленные доступные плагины, которые позволяют администраторам настраивать и контролировать веб-сайты любым удобным для них способом, и это самый распространенный из доступных серверов. Это делает его наиболее безопасным решением, поскольку оно тщательно протестировано, и любой обнаруженный недостаток исправляется очень быстро.

Лучшим решением было бы использовать Tomcat, прокси-сервер Apache. Это не так сложно настроить. Если вы не можете этого сделать, то вы не можете воспользоваться плагинами Apache.

6 голосов
/ 25 февраля 2009

Вы видите эту путаницу все время. Многие думают, что Apache - это веб-сервер, где на самом деле это название организации, у которой есть проект веб-сервера под названием « Проект Apache HTTP Server ». Короче говоря, веб-сервер называется HTTPD (D как в процессе демона или Unix).

Tomcat - это еще один проект Apache. Этот проект реализует механизм сервлетов Java для обслуживания страниц и сервлетов JSP. Tomcat и HTTPD не имеют ничего общего друг с другом. Однако вы можете настроить HTTPD и Tomcat, чтобы они работали вместе. Таким образом, вы можете заставить HTTPD обслуживать весь статический контент, выполнять перезапись URL и многое другое, чего не может сделать встроенный веб-сервер Tomcat (или не очень хорошо). Всякий раз, когда запрашивается страница JSP, HTTPD передает запрос Tomcat. Tomcat обработает запрос и передаст результат обратно в HTTPD, который, в свою очередь, отправит его клиенту.

Apache имеет много интересных проектов . Например. есть также проект под названием Geronimo , который является сервером Java Enterprise (J2EE). Вы можете, например, выберите встраивание Tomcat в Geronimo для обработки запросов на JSP и сервлеты, где Geronimo выполняет более инициативные задачи (LDAP, обмен сообщениями и т. д.). И, как вы уже догадались, вы уже можете использовать HTTPD в качестве статического сервера контента для Geronimo.

3 голосов
/ 24 февраля 2009

полностью поддельные. Подключаемые модули Apache httpd написаны на C, Tomcat - это чистая Java.

0 голосов
/ 01 марта 2009

Tomcat - это движок Java-сервлетов. Он может быть размещен под Apache или IIS или рядом других внешних веб-серверов. Похоже, вы в данный момент работаете с автономным экземпляром Tomcat ...

Если вы обслуживаете JSP / сервлеты с порта 8080 и используете его автономно, на том же хосте, на котором работает Apache, это может позволить вам свободно связывать их. Использование нескольких веб-серверов для отправки независимых запросов не рекомендуется, особенно если вы хотите использовать серверную аутентификацию вместе с Apache. Как правило, у вас есть один внешний сервер, который контролирует все через него ... Apache делает это довольно хорошо, и плагин, который вы упоминаете, вероятно, полагается на этот тип настройки (все подключается через Apache) для его функций / возможностей, основанных на ваших краткое описание этого.

Если вы хотите обслуживать сервлеты Tomcat под Apache, вы можете настроить apache для пересылки класса URI на экземпляры сервера tomcat. Вы можете достичь этого типа пересылки через mod_rewrite. Это более медленный вариант с точки зрения производительности, поскольку он добавляет небольшие накладные расходы на все, что вы используете на сервере. Вы также можете аналогичным образом проксировать входящие запросы через механизм CGI, от Apache до Tomcat.

mod_jk упростит развертывание и увеличит производительность для размещения Tomcat в конфигурации сервера Apache. Настройка довольно безболезненна, если вы следуете документам, поэтому я не уверен, что вы подразумеваете под «слишком сложным» для своего развертывания - если вы хотите использовать Apache и уже иметь Tomcat, это может показаться лишь незначительными изменениями конфигурации get mod_jk загружен и установлен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...