Apache 2.4.6 и Apache Tomcat 7.0.42 на порту 80

На моем 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. Пожалуйста, кто-нибудь может помочь.


person MSRahman    schedule 28.02.2014    source источник
comment
Вам нужно добавить перенаправление URL-адресов в apache и проверить путь в apache httpd.conf. Проверьте, что путь входящего запроса — это просто example.com, затем вы переписываете его на example.com:8080.   -  person Mobility    schedule 28.02.2014
comment
Какие модули мне понадобятся для этого и какие файлы мне придется изменить?   -  person MSRahman    schedule 28.02.2014


Ответы (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

person Mobility    schedule 28.02.2014
comment
В соответствии с этими инструкциями я пошел и изменил свой server.xml, включив в него: ‹Порт соединителя=8081 протокол=AJP/1.3 proxyName=www.mysite.com proxyPort=80/›, а также изменил свой httpd.conf, чтобы он содержал: ProxyPass / localhost:8081 ProxyPassReverse / localhost:8081 Это не работает, может кто-нибудь показать пример того, что я пытаюсь сделать - person MSRahman; 28.02.2014

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.

person Kannan Mohan    schedule 02.03.2014

Так что мне удалось решить эту проблему с помощью 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"/>
person MSRahman    schedule 03.03.2014