2016-05-20 4 views
0

Я знаю, что развертывание результата Spring MVC для Apache Tomcat очевидно. Возможно ли развертывание на веб-сервере Apache (HTTPD). Мне нужно развернуть мой проект без VPS в Интернете.Проект Spring MVC на веб-сервере apache (httpd)

+1

Если у вас есть архив 'war', вам нужен контейнер * Servlet * для запуска вашего приложения. Но все же вы можете поместить Apache Web Server перед контейнером сервлетов, например Tomcat, и запросами маршрута к Tomcat. Если вы не хотите использовать автономный контейнер сервлетов, использование встроенного также является опцией. –

+2

Возможный дубликат [Как развернуть WAR-файл в Apache 2.2] (http://stackoverflow.com/questions/3646821/how-to-deploy-a-war-file-into-apache-2-2) –

ответ

-1

Как указано в комментариях, для запуска весеннего приложения вам понадобится контейнер сервлетов. Обычно вы ставите перед ним веб-сервер (apache, nginx). Для Apache на самом деле есть 3 способа достичь этого.

1. Использование mod_proxy

Установить и включить mod_proxy на вашем сервере Apache. Тогда в директиве VirtualHost вы можете включить переадресацию запросов добавив следующие конфигурации:

ProxyPass /path-to-your-application "http://host:port/context" 

Другие варианты можно найти здесь: Apache mod_proxy documentation

2. Использование mod_ajp

Другой способ заключается в используйте mod_ajp. AJP - это двоичный протокол, который обладает некоторыми преимуществами производительности перед использованием mod_proxy. Чтобы использовать mod_ajp, вам понадобится рабочий файл. Расположение рабочего файла обычно настраивается в файле конфигурации mod_ajp. В Ubuntu/Debian вы найдете это:

/etc/apache2/mods-available/jk.conf 

рабочих файл представляет собой файл свойств, содержащий конфигурацию контейнера сервлетов, который будет использоваться для связи. Базовый пример может выглядеть так:

worker.foobar.port=8009 
worker.foobar.type=ajp13 
worker.foobar.host=localhost 

Обратите внимание, что слово foobar - это имя для рабочего. Вам понадобится это позже. После включения этой конфигурации и mod_ajp вам необходимо добавить директиву JkMount в конфигурацию вашего хоста. Это может выглядеть следующим образом:

<VirtualHost *:80> 
    # ... 
    JkMount /*  foobar 
    # ... 
</VirtualHost> 

Это направит все входящие запросы на виртуального хоста для работника с именем «Foobar», который указывает на контейнер сервлетов, сконфигурированной в вашей рабочих файлов.

3. Используйте mod_proxy_ajp

Написание этого Anwer Я видел, что есть еще один способ настроить AJP с помощью mod_proxy. Для этой работы вам потребуется mod_proxy и mod_proxy_ajp

В вас VirtualHost вы можете определить прокси с:

ProxyPass/"ajp://host:port/context" 

Не использовали это сам я предполагаю, что это очень удобный способ использования обоих модулей с простой способ настройки. См. mod_proxy_ajp documentation для дальнейшего ознакомления.

Смежные вопросы