LINUX.ORG.RU

Сообщения bannndi

 

Запуск нескольких процессов Apache httpd

Форум — Web-development

Добрый день.

Пытаюсь научиться запускать Apache с разными конфигами, чтобы можно было использовать разные версии PHP и т.п.

В качестве основы использовал данный мануал http://wiki.apache.org/httpd/RunningMultipleApacheInstances.

Вроде бы даже почти все получилось, т.е. я запускаю 3 инстанса, и все они выводятся командой ps aux | grep httpd

sudo /usr/local/apache2_2/bin/apachectl -f /usr/local/apache2_2/_/sites/httpd-proxy.conf -k start
sudo /usr/local/apache2_2/bin/apachectl -f /usr/local/apache2_2/_/sites/httpd-php53.conf -k start
sudo /usr/local/apache2_2/bin/apachectl -f /usr/local/apache2_2/_/sites/httpd-php54.conf -k start

Т.е., на данном этапе ошибок вроде быть не должно, по крайней мере консоль ничего не выводила про ошибки. Проблема скорее всего в конфигурировании виртуальных хостов. В этом вопросе я не очень опытен.

Привожу свои тестовые конфиги:

<VirtualHost *:80>
    DocumentRoot /home/asdfzxcv/_/sites/test01/web
    ServerName test01.l


#    ProxyPass / http://localhost:83/
#    ProxyPassReverse / http://localhost:83/
    ProxyPass / http://test01.l:83/
    ProxyPassReverse / http://test01.l:83/

    RewriteOptions Inherit


    <LocationMatch ^/private>
        Order Allow,Deny
        Deny from all
    </LocationMatch>

    <Location /server-status>
        SetHandler server-status
    </Location>
</VirtualHost>

и

<VirtualHost *:80>
    DocumentRoot /home/asdfzxcv/_/sites/test02/web
    ServerName test02.l


    ProxyPass / http://localhost:84/
    ProxyPassReverse / http://localhost:84/


    RewriteOptions Inherit


    ErrorLog /home/asdfzxcv/_/sites/test02/error_log
    TransferLog /home/asdfzxcv/_/sites/test02/access_log
</VirtualHost>

В первом примере видно, что я пытался использовать вместо localhost:83, test01.l, что тоже ничего не изменило:

#    ProxyPass / http://localhost:83/
#    ProxyPassReverse / http://localhost:83/
    ProxyPass / http://test01.l:83/
    ProxyPassReverse / http://test01.l:83/

Т.е., я ожидаю, что по адресу test01.l или test02.l я буду получать отдачу контента из папки /home/asdfzxcv/_/sites/test01/web. А в браузер получаю контент из /usr/htdocs. Хотя, до попытки использовать reverse proxy, с одним запущенным инстансом, эти примеры сайтов использовали нужные, соответствующие им папки.

Также, есть конфиг, предшествующий конфигам виртуальных хостов, находящийся в конце httpd-proxy.conf

RewriteEngine On
RewriteRule (.*\.php)s$ $1 [H=application/x-httpd-php-source]
<FilesMatch "\.ph(p[2-6]?|tml)$">
    SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
</FilesMatch>


ServerName 127.0.0.1
NameVirtualHost *:80
<Directory "/home/asdfzxcv/_/sites">
    Order allow,deny
    allow from all
    AllowOverride All

    Options +Indexes +FollowSymLinks
</Directory>
<VirtualHost *:80>
  ServerName default
  DocumentRoot /usr/local/apache2_2/htdocs
</VirtualHost>

# ЗДЕСЬ Я КАК РАЗ ПОДКЛЮЧАЮ ВИРТ. ХОСТЫ
Include _/sites/test01.conf
Include _/sites/test02.conf

Еще раз, кратко о проблеме:

  • запускаю несколько инстансов Apache
  • пытаюсь перейти по адресу test01.l
  • получаю контент из /usr/htdocs вместо /home/asdfzxcv/_/sites/test01/web, хотя до попытки использовать reverse proxy, эти тестовые сайты работали исправно.

 , ,

bannndi
()

RSS подписка на новые темы