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

Apache Tomcat Railo объединяет несколько сайтов в стек

Добрый день,

Прежде всего, я очень зеленый, когда дело доходит до вещей, связанных с сервером, так что терпите меня. Я запускаю ubuntu 11.10, и я установил стек apache tomcat railo на свой сервер, используя https://github.com/talltroym/Railo-Ubuntu-Installer-Script/blob/master/setup-railo.sh

Пока все в порядке, и сервер работает отлично, однако я, кажется, не понимаю, как настроить несколько веб-сайтов. Прямо сейчас каждое соединение, кажется, идет в / var / www /.

Я пробовал добавить новый vhost в apache, который отлично работал, за исключением того факта, что он просто выводил мои файлы cfml, а не проходил через сервер railo.

Я думаю, это связано с тем, что нужно сказать, что railo должен с этим справиться, после некоторых исследований я обнаружил эту строку в файле available-sites / default-ssl:

DirectoryIndex index.cfm index.cfml default.cfm default.cfml index.htm index.html
#Proxy .cfm and cfc requests to Railo
    ProxyPassMatch ^/(.+.cf[cm])(/.*)?$ http://127.0.0.1:8080/$1
    ProxyPassReverse / http://127.0.0.1:8080/

после копирования этих строк в новый vhost railo, похоже, активировался правильно, но работал из / var / www, а не из каталога, который я установил в vhost.

Мой новый vhost выглядит так:

<VirtualHost *:80>
 DocumentRoot "/var/www/test"
 ServerName -hidden-
 <Directory "/var/www/test">
 allow from all
 Options +Indexes
 </Directory>
    DirectoryIndex index.cfm index.cfml default.cfm default.cfml index.htm index.html
    #Proxy .cfm and cfc requests to Railo
            ProxyPassMatch ^/(.+.cf[cm])(/.*)?$ http://127.0.0.1:8080/$1
            ProxyPassReverse / http://127.0.0.1:8080/
    #Deny access to admin except for local clients
    <Location /railo-context/admin/>
            Order deny,allow
            Deny from all
            Allow from 172.16.0.0/16
            Allow from 192.168.0.0/24
    </Location>
 </VirtualHost>

Я мог бы использовать несколько указателей, где мне нужно что-то изменить, чтобы это работало. Ура!

Экземпляр Tomcat, в котором работает Railo, также настроен на /var/www; это эта строка в /opt/tomcat/conf/web.xml:

<Context path="" docBase="/var/www"/>

Но если вы просто измените это на /var/www/test каталог, то элементы на основном сайте перестанут работать. Вместо этого работайте со структурой каталогов, которую вы создаете, с подкаталогами для каждого сайта. Измените свои прокси-директивы в новом vhost:

ProxyPassMatch ^/(.+.cf[cm])(/.*)?$ http://127.0.0.1:8080/test/$1
ProxyPassReverse / http://127.0.0.1:8080/test/

Эта структура каталогов также означает, что кто-то может попасть на тестовый сайт через http://main-site.name/test/, так что имейте это в виду; было бы неплохо переместить его документы в /var/www/main/ или что-то в этом роде, и соответствующим образом отрегулируйте его утверждения прокси.