Назад | Перейти на главную страницу

Как разместить два сайта на одном сервере с tomcat?

Мне нужно разместить два сайта с Tomcat. Это то, что есть в моем Apache conf:

<VirtualHost *:80>
    ServerAdmin suporte@project.com
    DocumentRoot /root/tomcat/webapps/PROJECT
    ServerName www.project.com
</VirtualHost>    

Для доступа к сайту я могу получить доступ только через www.project.com/project. я не могу доступ к индексу, например: www.project.com

А что за случай, когда я хочу разместить другой сайт?

Моя идея:

<VirtualHost *:80>
    ServerAdmin suporte@project1.com
    DocumentRoot /root/tomcat/webapps/PROJECT1
    ServerName www.project1.com
</VirtualHost>    

Но у меня ничего не получилось.

Как мне это решить?

При совместном использовании Apache и Tomcat доставка «файлов» JAVA (сервлетов, jsp и т. Д.) Не работает так, как вы набросали. Как вы это сделали, вы можете получить доступ только к файлам, и они доставляются в зависимости от их типа mime.

В качестве первого шага вы должны прочитать об обратном проксировании и, в вашем случае, о модулях mod_proxy_http и или mod_proxy_ajp. Я не знаю, какой у вас уровень опыта, поэтому просто напишу несколько строк, которые вам следует адаптировать:

LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_ajp_module /usr/lib/apache2/modules/mod_proxy_ajp.so
<IfModule mod_proxy_ajp.c>
   <Location />
      ProxyPass ajp://127.0.0.1:8009/PROJECT
      ProxyPassReverse ajp://127.0.0.1:8009/PROJECT
   </Location>
</IfModule>

В стандартной среде Linux вы можете установить эти модули с помощью поставщика пакетов и включить их с помощью a2enmod mod_proxy_ajp. Это также должно установить mod_proxy как зависимость. В этом случае вы откажетесь от упомянутых выше директив LoadModule.

В <Location /> Директива - это то, что обрабатывает все запросы, направленные в ваш домен. Так www.project.com доставляет индекс. Есть еще несколько соображений (безопасность при использовании mod_proxy) и некоторые другие, но они должны указать вам правильное направление.