PermLUG |
Пермская группа пользователей Linux |
|
|
|
||
ОблакоВход в систему |
Связка Tomcat5.5 + Apache2
bum, 29.06.2009 — 14:26
Задача: Необходимо создать на одном сервере несколько виртуальных хостов, в каждый хост как отдельный сайт со своим кодом (например один сайт на java, второй сайт на php). Ресурсы: 1)Сервер Debian Lenny (с последними апдейтами) Решение: 1)Проверяем куда уходят запросы от 80 порта, в моем случае это был редирект на iptables и он уходил на 8180, я отключил его. Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> Context path="" docBase="newst" /> Тоесть каждый хост на java должен быть описан отдельно, причем имя хоста берется из ответа dns 4)Настраиваем Apache Ставим libapache2-mod-jk для связывания tomcat и apache #apt-get install libapache2-mod-jk после чего идем в /usr/share/doc/libapache2-mod-jk и копируем с переименованием файл httpd_example_apache2.conf в /etc/apache2/mods-available/jk.conf делаем модуль jk доступным apache #cd /etc/apache2/mods-enabled/ #ln -s /etc/apache2/mods-available/jk.conf jk.conf #ln -s /etc/apache2/mods-available/jk.load jk.load далее редактируем файл /etc/libapache2-mod-jk/workers.properties если это необходимо, я нечего не менял, просто запомнил какой сервис обрабатывает запрос ajp13_worker Создаем новый виртуальный хост, при этом либо удаляем default либо правим его
VirtualHost *:80>
ServerAdmin web@newst
DocumentRoot /var/lib/tomcat5.5/webapps/newst/
ServerName newst
UseCanonicalName off
JkMount /* ajp13_worker
JkMount /WEB-INF/* ajp13_worker
ErrorLog /var/lib/tomcat5.5/webapps/newst/logs/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel info
CustomLog /var/lib/tomcat5.5/webapps/newst/logs/access.log combined
/VirtualHost>
Собственно все, теперь все запросы попадающие в данный хост будут уходить на томкат, остальные виртуальные хосты где не будет указано JkMount /* ajp13_worker будут уходить на apache P.S. Честно признаюсь я потратил на понимание данной задачи 2е суток, так как документы в интернете в большинстве от tomcat 4, а синтаксис уже изменился. После того как я увидел дефолтные конфиги в Debian то понял что изобретать велосипед не нужно. Все просто! |
Новые записи в блогахАктивные обсуждения форумаНовости Linux |
| Пермская группа пользователей Linux, 2003—2010 | ||
Есть виртуализация, которая предполагает возможность размещения любого зоопарка на любой местности... А главное думать двое суток не надо.
Угу, еще купить железки у сана за куеву тучу мультов, еще редхаЙта и ваще можно сделать все, тока вот пахнет какой то амерекатостью, а слабо сделать из ничего сервер не уступающий платным аналогам? вот когда научитесь совмещать задача+0финонсирование+остатки былой роскоши от бывшего идиота админа или ИТ директора, вот тогда поговорим, а сейчас ваше высказывание я даже не воспринимаю, так как ничего конструктивного в предложении я не нашел.
P.S. напишите как бы вы реализовали данную задачу и тогда поговорим!
---
Linux - это тип жизни!
Cколько агрессии :) "Нежнее, Виктор" (с)
Ну как тут не вскипишь, если человек вообще не в теме пишет полный бред и при этом выставляет себя гуру. Я с полной уверенностью выложил материал для тех кто в теме и знает что толковых доков просто нет, а тут такое... обидно блин...
---
Linux - это тип жизни!
На *:80 апач не ругается при reload?
Нет не ругается, а знаешь почему??? потому что конфиг апача из нескольких мест может взять свое доменное имя... за это я и люблю второй апач, и мне очень нравится его реализация на дебе, например сортировка по директориям и то что ненужно каждый модуль в ручную в конфиг вносить... короче апач2 рулез..
---
Linux - это тип жизни!
Да еще. Насколько я понял из вот этой строки "выдает сообщение Its work!" апач стоял и ничего не делал.
Вопрос, появилась задача, чтобы он начал работать? Т.е. понадобилось повесить второй сайт с php?
1)Да апач поставился дефолтно видать при установке системы, но его никто не юзал
2)Разработчики написали сайт на ява, и он болтался на томкат, а у меня помимо этого сайта еще 5 готовых работают сейчас на debian 3.0 и написаны на php. Вот и задача была объединить все на одном новом сервере.
---
Linux - это тип жизни!
Полгода назад делал подобную задачу. В то время мне это бы очень пригодилось. К сожалению, автор не расписал для чего мы выполняем каждый шаг, от чего читатель может почувствовать себя обезьяной. А так - полезная заметка
Согласен с тобой но нехватка времени мне не дает сделать большее, мне сейчас нужно перенести 5 сайтов и настроить еще кучу всего другого. Будет время постараюсь приукрасить данный пост.
---
Linux - это тип жизни!
Недавно тоже столкнулся с необходимостью повесить на сервак сайт, написанный на Java.
Теперь у меня на серваке под Apache 1.3 крутится примерно три десятка сайтов, написанных на Java, PHP (4 и 5) и Parser (разные версии для разных сайтов). Плюс вспомогательные скрипты на Perl и Python. Плюс XSL. Плюс AWStats и ежедневный бекап на другой винт.
А на другом сервере — Apache 2.2 + Tomcat 5.5 + nginx (reverse proxy) + Perl + Python. Тоже ежедневный бекап, но с отправкой по почте.
В выходные поднял похожее хозяйство на третьем сервере. Там Apache 2.2 + nginx, чисто статика, без скриптов.
Все это под Debian Lenny. Везде стоит и работает mysql + proftpd + iptables + webmin + fail2ban. На главном серваке кроме этого есть еще exmi4 + dovecot + clamav + vsftpd (вместо proftpd).
Если вдруг кому понадобится помощь или просто совет по установке, настройке и администрированию веб-сервера под Debian — обращайтесь.
Хм, у меня не хочет работать JkMount
в логах пишет
[Sat Oct 31 01:13:48 2009] [warn] No JkShmFile defined in httpd.conf. Using default /var/log/apache2/jk-runtime-status
[Sat Oct 31 01:13:48 2009] [warn] No JkShmFile defined in httpd.conf. Using default /var/log/apache2/jk-runtime-status
[Sat Oct 31 01:13:48 2009] [notice] Apache/2.2.14 (Debian) mod_jk/1.2.28 PHP/5.2.11-1 with Suhosin-Patch configured -- resuming normal operations
[Sat Oct 31 01:25:05 2009] [notice] caught SIGTERM, shutting down
и не совсем понятно куда писать
...Context path="" docBase="newst" />
Разница по времени — 11 минут. Эти два события явно не связаны. Насколько я понимаю, сначала апач нормально поднимается, а потом через 11 минут по какой-то причине падает. Почему ты решил, что у тебя именно JkMount не хочет работать?
Выкладывай конфиги и логи апача.
Это надо писать в /var/lib/tomcat5.5/conf/server.xml, об этом сказано в посте.
Попробовал сделать всё с начала.
После того как вставляю
JkMount /* ajp13_worker
JkMount /WEB-INF/* ajp13_worker
Сайт выдаёт Service Temporarily Unavailable
Я наверно не до конца что-то понял.
Прикрепил конфиги.
Любая из этих строчек вызывает ошибку или только какая-то одна?
Почему у тебя сервер отвечает "Apache/2.2.14 (Debian)" вместо "Apache/2.2.9 (Debian) mod_jk/1.2.26"?
Есть ощущение, что ты а) апач собирал из исходников и б) не включил модуль mod_jk (надо закинуть симлинки в modules-enabled).
Закинь сюда логи апача.
Не работает с этим параметром.
JkMount /* ajp13_worker
При попытке влючить a2enmod jk пишет что включён.
Почистил логи, рестартанул апач. Прикрепил логи