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

Apache и tomcat на одном хосте

Во-первых, извини за мой английский. У меня есть сомнения, могу ли я иметь ЛАМПУ с установкой wordpress с доменным именем "domain1.es", а также иметь на том же хосте tomcat, на котором запущен сервлет с доменным именем "domain2.es"?

Теперь у меня есть эта установка, но конфликтная. Мой кот находится в "domain2.es:8080", а мой wordpress - в "domain1.es". Когда я вхожу в "domain2.es" без порта 8080, он показывает wordpress из-за DNS.

Как я могу это решить?

Спасибо.

Вам нужно будет настроить две записи виртуального хоста в Apache httpd: одну для вашего существующего сайта WordPress (который может уже существовать), а вторую - для домена Tomcat.

Вы можете настроить простое перенаправление, которое будет направлять все посетители, которые пропустили порт 8080 из URL-адреса, чтобы попытаться подключиться к правильному порту:

<VirtualHost *:80>
    ServerName  www.example.es
    ServerAlias example.es
    ... 
</VirtualHost>
<VirtualHost *:80>
    ServerName  www.example.com
    ServerAlias example.com
    # Redirect the visitor to the correct port. 
    # The URL in the visitors browsers will change

    Redirect / http://www.example.com:8080/

</VirtualHost>

В качестве альтернативы настройте Apache для обратного прокси-сервера запросов к Tomcat:

<VirtualHost *:80>
    ServerName  www.example.com
    ServerAlias example.com

    # Reverse Proxy the requests to port 8080. 
    # The URL in the visitors browsers will NOT change 
    ProxyPass / http://localhost:8080/
    ProxyPassReverse / http://localhost:8080/
</VirtualHost>

Это выглядит лучше, так как URL-адрес больше не будет включать нестандартный порт, но все же имеет несколько недостатков. (Например, Tomcat больше не будет определять IP-адреса ваших посетителей, все запросы будут отправляться с вашего собственного IP-адреса.)

Гораздо лучший вариант - настроить протокол AJP и mod_jk но для объяснения этого нужно немного больше, чем просто ответы на вопросы.