From: Alexandr L.Yatsuk <logka@colocall.net.>
Newsgroups: email
Date: Mon, 21 Dec 2004 14:31:37 +0000 (UTC)
Subject: Настройка связки Apache2 и Tomcat5
<ПРЕДИСЛОВИЕ
Это подобие документа не претендует на полное описание настройки tomcat5 и/или
apache2. Тут описывается принцип того, как заставить apache2 показывать jsp страницы.
Лично мне, во время опытов, не хватало такого документа. Про связку apache2 и
tomcat5 я вообще документов на русском не нашел.
ПРЕДИСЛОВИЕ/>
Случилась таки необходимость делать Java-hosting.
Задача была поставлена так:
Нужно захостить несколько сайтов на java и несколько обычных сайтов на html.
Возникла некоторая трудность.
В пекаджах debian sarge есть только tomcat4 и сама java там не самая свежая.
А сайты написаны под tomcat5.
Поэтому делаем следующее.
Tomcat
В директорию, например /usr/opt/ тащим tomcat5. (а если точнее, то я брал
jakarta-tomcat-5.5.4, его мне порекомендовали как стабильный)
Найти его можно тут:
http://apache.alkar.net/jakarta/tomcat-5/v5.5.4/bin/jakarta-tomcat-5.5.4.tar.gz
Яву моим программерам захотелось вот такую j2sdk1.4.2_06.
Поэтому тянем ее туда же в /usr/opt/ .
Брать можно тут http://java.sun.com/j2se/1.4.2/download.html
Надо выбрать Download J2SE SDK, согласиться с лицензией и скачать.
Получаем файл j2sdk-1_4_2_06-linux-i586.bin.txt .
Делаем ему chmod 755 и нажимаем. Архивчик само-распаковывается и получается
директория j2sdk1.4.2_06, которую при желании можно переименовать в просто java %)
И того мы получили директории с томкатом и явой.
Проводим некоторые настройки томката.
#vim /usr/opt/tomcat/bin/catalina.sh .
(Файл запуска и остановки томката, на него можно делать симлинк в /etc/rc2.d/,
или какой там Вы runlevel используете).
В файле дописываем в начало самое главное.
JAVA_HOME=/usr/opt/j2sdk1.4.2_06
Такую же строчку дописываем в /etc/profile , чтобы каждый входящий знал где у
него JAVA_HOME.
Правим когфиг томката.
Прописываем ему virtualhost
#vim /usr/opt/tomcat/conf/server.xml (И кто придумал конфиги на xml ?)
[config:] # описываем свое местоположение
file=/etc/apache2/workers2.properties
debug=0
debugEnv=0
[uriMap:]
info=Maps the requests.
debug=0
[shm:]
info=Scoreboard. Required for reconfiguration and status with multiprocess
servers
file=anonymous
debug=0
[workerEnv:]
info=Global server options
timing=0
debug=0
[lb:lb]
info=Default load balancer.
debug=0
[channel.socket:localhost:8009] # описывается где и на каком порту нас слушает томкат
info=Ajp13 forwarding over socket # я так думаю, что можно томкат и апач на разных машинах ставить.
debug=0 # Не пробовал.
tomcatId=localhost:8009
[uri:/*.jsp]
info=JSP Extension mapping.
debug=0
Это говорит, что все что jsp надо спрашивать у томката.
Но тут появились грабли, мои программеры не все свои ссылки делают на .jsp . Уж
так они пишут.
Поэтому дописываем еще вот такое:
[uri:example.com/*]
info= example JSP
debug=0
И теперь все что example.com, то-есть все что лежит в
/var/virt/www/example/webapps/ нам отдает томкат.
Виртуальные хосты, которым ява не надо не вписываем просто таким способом ;)
Единственное что мне тут не понравилось, то что если в проекте есть картинка или
простая html, то ее сначала обрабатывает tomcat а потом отдает apache.
Но никто не мешает положить картинки отдельно ;)
Есть еще несколько способов, чтобы на сервере стоял и апач и томкат и все
отдавалось в браузере по урлу без указания порта, тоесть просто и удобно.
1. Можно все что идет на example.com на 80 порт форвардить на 8080, куда
повесить томкат.
2. В днс можно http запросы отправлять на http://example.com:8080 притом в
браузере все время будет показываться урл http://example.com
Пока что больше не придумал.
Ах да, прочитав это некоторые могут подумать, зачем apache2 и tomcat связывать
если отдать яву и html способен сам томкат.
А если надо будет php ? %)
1063 Прочтений • [Настройка связки Apache2 и Tomcat5 (apache java web tomcat linux debian)] [08.05.2012] [Комментариев: 0]