Налаштування зв’язки Apache2 і Tomcat5 (apache java web tomcat linux debian)

Ключові слова:apache, java, web, tomcat, linux, debian, (знайти схожі документи)

Від: Alexandr L.Yatsuk Newsgroups: email Дата: Mon, 21 Dec 2004 14:31:37 +0000 (UTC) Subject: Налаштування зв'язки 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 використовуєте).

У файлі дописуємо на початок найголовніше.

Такий самий рядок дописуємо в /etc/profile ,щоб кожен вхідний знав де у нього JAVA_HOME.

Правимо когфіг томкату. Прописуємо йому virtualhost

#vim /usr/opt/tomcat/conf/server.xml (І хто придумав конфіги на xml?)

У каталог /var/virt/www/example/webapps/ кладемо наш java проект.

У /usr/opt/tomcat/conf/server.xml повинен бути описаний конектор для mod-jk

Дивимось щоб стартанувся , перевіряємо порт telnet localhost 8009 , і якщо все нормально, забиваємо на томкат (в сенсі на цьому налаштування закінчимо):)

Apache Перехід до параметрів apache2.

Для початку ставимо все потрібне.

# apt-get install apache2 libapache2-mod-jk2

Створюємо VirtualHost для apache2.

ServerName example.com ServerAdmin [email protected] DocumentRoot /var/virt/www/example/webapps/ UseCanonicalName off CustomLog /var/log/apache2/example/access .log з'єднаний ErrorLog /var/log/apache2/example/error.log

Незабутнє створити директорію /var/log/apache2/example/, інакше апач не запуститься.

Включаємо цей virtualhost

#ln -s /etc/apache2/sites-available/example.com /etc/apache2/sites-enabled/01_example

Прив'язка Tomcat до Apache Приступаємо до найголовнішого, до зв'язування апача і томката.

#cd /etc/apache2/mods-enabled/ #ln -s /etc/apache2/mods-available/jk2.conf jk2.conf #ln -s /etc/apache2/mods-available/jk2 .load jk2.load

#cat /etc/apache2/mods-available/jk2.conf JkSet config.file /etc/apache2/workers2.properties

Залишилося останнє, відредагувати /etc/apache2/workers2.properties

[logger] # описуємо логер info=Native logger level=ERROR

[config:] # описуємо своє розташування file=/etc/apache2/workers2.properties debug=0 debugEnv=0

[uriMap:] info=Maps the requests. debug=0

[shm:] info=Scoreboard. Потрібно для 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 # Не пробував. tomcat > [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/ нам віддає томкат.

Віртуальні хости, яким ява не треба не вписуємо просто таким способом;)

Запускаємо апач, перевіряємо в браузері http://example.com, йдемо пити пиво %)

Єдине що мені тут не сподобалося, що якщо в проекті є картинка або проста html, то її спочатку обробляє tomcat а потім віддає apache. Але ніхто не заважає покласти картинки окремо;)

Є ще кілька способів, щоб на сервері стояв і апач і томкат і все віддавалося в браузері по урлу без вказівки порту, тобто просто і зручно.