На моем Ubuntu 13.10 я установил Apache и Tomcat. Я пытаюсь заставить tomcat работать на порту 80 безуспешно. Я рассмотрел использование mod_jk после нескольких онлайн-учебников, но безуспешно. Чего я пытаюсь добиться, так это того, что у меня есть веб-приложение на tomcat, работающее как корневое приложение. Поэтому текущий URL-адрес — www.example.com:8080. У меня также есть apache, который находится по адресу www.example.com. Я хочу иметь доступ к файлам на веб-сервере apache, например, www.example.com/somefile, но при этом мое веб-приложение должно работать одновременно на www.example.com. Пожалуйста, кто-нибудь может помочь.
Apache 2.4.6 и Apache Tomcat 7.0.42 на порту 80
Ответы (3)
Вам нужно добавить перенаправление URL-адресов в apache и проверить путь в apache httpd.conf.
Проверьте, что путь входящего запроса — это просто example.com, затем вы переписываете его на example.com:8080.
mod_proxy apache должен сделать это за вас.
http://tomcat.apache.org/tomcat-4.1-doc/proxy-howto.html
Apache Tomcat по умолчанию работает на порту 8080. Если вам нужно запустить его на порту 80, вам нужно использовать JSVC, который поставляется вместе с tomcat. Если вы установили tomcat, загрузив бинарную версию, то jsvc будет доступен в разделе
[tomcat_install_path]/bin/commons-daemon-native.tar.gz
вам нужно распаковать его и скомпилировать. Собрать его несложно.
# ./configure
# make
как только вы скомпилируете его, вы получите двоичный файл jsvc, который необходимо поместить в каталог bin tomcat.
Затем, чтобы запустить Tomcat с помощью jsvc, выполните шаги, указанные здесь а>
JSVC — это официально рекомендуемый способ запуска Tomcat через порт 80.
Так что мне удалось решить эту проблему с помощью Mod_Proxy. Редактируем файл 000-Deafult.conf в /etc/apache2/sites-enabled и добавляем следующие строки:
ProxyPass /SomeUrl !
ProxyPass / http://localhost:8080/
Первая строка указывает, что вы не хотите проксировать, а вторая указывает, что проксировать. В этом случае перенаправьте приложение ROOT Tomcat на порт 8080 в корень веб-сервера Apache.
Также отредактировал файл server.xml в /etc/tomcat7 и добавил следующее
<Connector port="8080" protocol="AJP/1.3" proxyName="www.mydomain.com" proxyPort="80"/>