The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Запуск нескольких процессов Apache httpd, !*! bannndi, 19-Сен-15, 03:31  [смотреть все]
Добрый день.


Пытаюсь научиться запускать 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


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


  • Запуск нескольких процессов Apache httpd, !*! Square1, 10:22 , 19-Сен-15 (1)
    • Запуск нескольких процессов Apache httpd, !*! Square1, 10:26 , 19-Сен-15 (2)
    • Запуск нескольких процессов Apache httpd, !*! bannndi, 12:12 , 19-Сен-15 (3)
      > Попробуйте сделать по мануалу дословно.

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

      В данный момент не могу выложить точные настройки, но суть в следующем:

      для каждого конфига httpd-proxy(php53,php54).conf в самом начале есть настройка Listen (где порт соотвественно 80, 83, 84). Также есть настройка пути к PID, также в начале, и у каждого PID свой путь. Ниже, под всеми LoadModule есть ErrorLog со своими путями. И, соответственно, конечно же в каждом конфиге свои загружаемые модули. В httpd-proxy.conf - загружаются mod_proxy и mod_proxy_http (скомпилил в тестовой установке Apache с тем же config.nice, и скопировал их в текущую установку). В httpd-php53 и php54 - свои переименованные модули, которые до попытки разобраться с прокси, были протестированы на соответствие версий PHP.

      Попозже постараюсь дополнить тему точными конструкциями.

  • Запуск нескольких процессов Apache httpd, !*! bannndi, 21:16 , 19-Сен-15 (6)
    Не знаю как здесь убирать под спойлер, не вижу никаких инструментов для форматирования. Так что выкладываю конфиги как есть.


    httpd-proxy.conf:
    ServerRoot "/usr/local/apache2_2"
    Listen 80
    PidFile /usr/local/apache2_2/logs/httpd-proxy.pid

    LoadModule authn_file_module modules/mod_authn_file.so
    LoadModule authn_dbm_module modules/mod_authn_dbm.so
    LoadModule authn_anon_module modules/mod_authn_anon.so
    LoadModule authn_dbd_module modules/mod_authn_dbd.so
    LoadModule authn_default_module modules/mod_authn_default.so
    LoadModule authz_host_module modules/mod_authz_host.so
    LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
    LoadModule authz_user_module modules/mod_authz_user.so
    LoadModule authz_dbm_module modules/mod_authz_dbm.so
    LoadModule authz_owner_module modules/mod_authz_owner.so
    LoadModule authz_default_module modules/mod_authz_default.so
    LoadModule auth_basic_module modules/mod_auth_basic.so
    LoadModule auth_digest_module modules/mod_auth_digest.so
    LoadModule dbd_module modules/mod_dbd.so
    LoadModule dumpio_module modules/mod_dumpio.so
    LoadModule reqtimeout_module modules/mod_reqtimeout.so
    LoadModule ext_filter_module modules/mod_ext_filter.so
    LoadModule include_module modules/mod_include.so
    LoadModule filter_module modules/mod_filter.so
    LoadModule substitute_module modules/mod_substitute.so
    LoadModule deflate_module modules/mod_deflate.so
    LoadModule log_config_module modules/mod_log_config.so
    LoadModule log_forensic_module modules/mod_log_forensic.so
    LoadModule logio_module modules/mod_logio.so
    LoadModule env_module modules/mod_env.so
    LoadModule mime_magic_module modules/mod_mime_magic.so
    LoadModule cern_meta_module modules/mod_cern_meta.so
    LoadModule expires_module modules/mod_expires.so
    LoadModule headers_module modules/mod_headers.so
    LoadModule ident_module modules/mod_ident.so
    LoadModule usertrack_module modules/mod_usertrack.so
    LoadModule unique_id_module modules/mod_unique_id.so
    LoadModule setenvif_module modules/mod_setenvif.so
    LoadModule version_module modules/mod_version.so
    LoadModule ssl_module modules/mod_ssl.so
    LoadModule mime_module modules/mod_mime.so
    LoadModule dav_module modules/mod_dav.so
    LoadModule status_module modules/mod_status.so
    LoadModule autoindex_module modules/mod_autoindex.so
    LoadModule asis_module modules/mod_asis.so
    LoadModule info_module modules/mod_info.so
    LoadModule cgi_module modules/mod_cgi.so
    LoadModule dav_fs_module modules/mod_dav_fs.so
    LoadModule vhost_alias_module modules/mod_vhost_alias.so
    LoadModule negotiation_module modules/mod_negotiation.so
    LoadModule dir_module modules/mod_dir.so
    LoadModule imagemap_module modules/mod_imagemap.so
    LoadModule actions_module modules/mod_actions.so
    LoadModule speling_module modules/mod_speling.so
    LoadModule userdir_module modules/mod_userdir.so
    LoadModule alias_module modules/mod_alias.so
    LoadModule rewrite_module modules/mod_rewrite.so


    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_http_module modules/mod_proxy_http.so


    <IfModule !mpm_netware_module>
    <IfModule !mpm_winnt_module>

    User daemon
    Group daemon

    </IfModule>
    </IfModule>


    ServerAdmin you@example.com

    <Directory />
        Options FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
    </Directory>

    <Directory "/usr/local/apache2_2/htdocs">
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all

    </Directory>


    <IfModule dir_module>
        #DEFAULT DirectoryIndex index.html
        DirectoryIndex index.html index.php
    </IfModule>

    <FilesMatch "^\.ht">
        Order allow,deny
        Deny from all
        Satisfy All
    </FilesMatch>


    ErrorLog "logs/httpd-proxy-error_log"

    LogLevel warn

    <IfModule log_config_module>
        LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
        LogFormat "%h %l %u %t \"%r\" %>s %b" common

        <IfModule logio_module>
          LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
        </IfModule>

        CustomLog "logs/access_log" common

    </IfModule>

    <IfModule alias_module>
        ScriptAlias /cgi-bin/ "/usr/local/apache2_2/cgi-bin/"
    </IfModule>

    <IfModule cgid_module>
    </IfModule>

    <Directory "/usr/local/apache2_2/cgi-bin">
        AllowOverride None
        Options None
        Order allow,deny
        Allow from all
    </Directory>

    DefaultType text/plain

    <IfModule mime_module>
        TypesConfig conf/mime.types
        AddType application/x-compress .Z
        AddType application/x-gzip .gz .tgz
    </IfModule>


    <IfModule ssl_module>
    SSLRandomSeed startup builtin
    SSLRandomSeed connect builtin
    </IfModule>

    ## SITES ##
    Include _/sites/_.conf


  • Запуск нескольких процессов Apache httpd, !*! bannndi, 21:18 , 19-Сен-15 (7)
    httpd-php53.conf:
    ServerRoot "/usr/local/apache2_2"
    Listen 83
    PidFile /usr/local/apache2_2/logs/httpd-php53.pid

    LoadModule authn_file_module modules/mod_authn_file.so
    LoadModule authn_dbm_module modules/mod_authn_dbm.so
    LoadModule authn_anon_module modules/mod_authn_anon.so
    LoadModule authn_dbd_module modules/mod_authn_dbd.so
    LoadModule authn_default_module modules/mod_authn_default.so
    LoadModule authz_host_module modules/mod_authz_host.so
    LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
    LoadModule authz_user_module modules/mod_authz_user.so
    LoadModule authz_dbm_module modules/mod_authz_dbm.so
    LoadModule authz_owner_module modules/mod_authz_owner.so
    LoadModule authz_default_module modules/mod_authz_default.so
    LoadModule auth_basic_module modules/mod_auth_basic.so
    LoadModule auth_digest_module modules/mod_auth_digest.so
    LoadModule dbd_module modules/mod_dbd.so
    LoadModule dumpio_module modules/mod_dumpio.so
    LoadModule reqtimeout_module modules/mod_reqtimeout.so
    LoadModule ext_filter_module modules/mod_ext_filter.so
    LoadModule include_module modules/mod_include.so
    LoadModule filter_module modules/mod_filter.so
    LoadModule substitute_module modules/mod_substitute.so
    LoadModule deflate_module modules/mod_deflate.so
    LoadModule log_config_module modules/mod_log_config.so
    LoadModule log_forensic_module modules/mod_log_forensic.so
    LoadModule logio_module modules/mod_logio.so
    LoadModule env_module modules/mod_env.so
    LoadModule mime_magic_module modules/mod_mime_magic.so
    LoadModule cern_meta_module modules/mod_cern_meta.so
    LoadModule expires_module modules/mod_expires.so
    LoadModule headers_module modules/mod_headers.so
    LoadModule ident_module modules/mod_ident.so
    LoadModule usertrack_module modules/mod_usertrack.so
    LoadModule unique_id_module modules/mod_unique_id.so
    LoadModule setenvif_module modules/mod_setenvif.so
    LoadModule version_module modules/mod_version.so
    LoadModule ssl_module modules/mod_ssl.so
    LoadModule mime_module modules/mod_mime.so
    LoadModule dav_module modules/mod_dav.so
    LoadModule status_module modules/mod_status.so
    LoadModule autoindex_module modules/mod_autoindex.so
    LoadModule asis_module modules/mod_asis.so
    LoadModule info_module modules/mod_info.so
    LoadModule cgi_module modules/mod_cgi.so
    LoadModule dav_fs_module modules/mod_dav_fs.so
    LoadModule vhost_alias_module modules/mod_vhost_alias.so
    LoadModule negotiation_module modules/mod_negotiation.so
    LoadModule dir_module modules/mod_dir.so
    LoadModule imagemap_module modules/mod_imagemap.so
    LoadModule actions_module modules/mod_actions.so
    LoadModule speling_module modules/mod_speling.so
    LoadModule userdir_module modules/mod_userdir.so
    LoadModule alias_module modules/mod_alias.so
    LoadModule rewrite_module modules/mod_rewrite.so


    LoadModule php5_module        modules/libphp5_3.so


    <IfModule !mpm_netware_module>
    <IfModule !mpm_winnt_module>

    User daemon
    Group daemon

    </IfModule>
    </IfModule>

    #XZ ServerName 127.0.0.1
    #ServerName 127.0.0.3
    ServerAdmin you@example.com

    <Directory />
        Options FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
    </Directory>

    <Directory "/usr/local/apache2_2/htdocs">
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>


    <IfModule dir_module>
        #DEFAULT DirectoryIndex index.html
        DirectoryIndex index.html index.php
    </IfModule>

    <FilesMatch "^\.ht">
        Order allow,deny
        Deny from all
        Satisfy All
    </FilesMatch>


    ErrorLog "logs/httpd-php53-error_log"

    LogLevel warn

    <IfModule log_config_module>
        LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
        LogFormat "%h %l %u %t \"%r\" %>s %b" common

        <IfModule logio_module>
          LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
        </IfModule>

        CustomLog "logs/access_log" common

    </IfModule>

    <IfModule alias_module>
        ScriptAlias /cgi-bin/ "/usr/local/apache2_2/cgi-bin/"
    </IfModule>

    <IfModule cgid_module>
    </IfModule>

    <Directory "/usr/local/apache2_2/cgi-bin">
        AllowOverride None
        Options None
        Order allow,deny
        Allow from all
    </Directory>

    DefaultType text/plain

    <IfModule mime_module>
        TypesConfig conf/mime.types
        AddType application/x-compress .Z
        AddType application/x-gzip .gz .tgz
    </IfModule>

    <IfModule ssl_module>
    SSLRandomSeed startup builtin
    SSLRandomSeed connect builtin
    </IfModule>

  • Запуск нескольких процессов Apache httpd, !*! bannndi, 21:21 , 19-Сен-15 (8)
    остальные конфиги в шапке, это _/sites/_.conf для httpd-proxy.conf, и виртуальные хосты test01.l и test02.l
  • Запуск нескольких процессов Apache httpd, !*! bannndi, 00:39 , 21-Сен-15 (14)
    Проблема решена.
    Сделано без прокси, по совету Square1 @ opennet.ru https://www.opennet.ru/openforum/vsluhforumID8/7993.html#12


    Конфиги:


    httpd-php53.conf


    ServerRoot "/usr/local/apache2_2"
    ServerName 127.0.0.1
    ServerAdmin you@example.com
    Listen 1053
    PidFile /usr/local/apache2_2/logs/httpd-php53.pid


    LoadModule authn_file_module modules/mod_authn_file.so
    LoadModule authn_dbm_module modules/mod_authn_dbm.so
    LoadModule authn_anon_module modules/mod_authn_anon.so
    LoadModule authn_dbd_module modules/mod_authn_dbd.so
    LoadModule authn_default_module modules/mod_authn_default.so
    LoadModule authz_host_module modules/mod_authz_host.so
    LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
    LoadModule authz_user_module modules/mod_authz_user.so
    LoadModule authz_dbm_module modules/mod_authz_dbm.so
    LoadModule authz_owner_module modules/mod_authz_owner.so
    LoadModule authz_default_module modules/mod_authz_default.so
    LoadModule auth_basic_module modules/mod_auth_basic.so
    LoadModule auth_digest_module modules/mod_auth_digest.so
    LoadModule dbd_module modules/mod_dbd.so
    LoadModule dumpio_module modules/mod_dumpio.so
    LoadModule reqtimeout_module modules/mod_reqtimeout.so
    LoadModule ext_filter_module modules/mod_ext_filter.so
    LoadModule include_module modules/mod_include.so
    LoadModule filter_module modules/mod_filter.so
    LoadModule substitute_module modules/mod_substitute.so
    LoadModule deflate_module modules/mod_deflate.so
    LoadModule log_config_module modules/mod_log_config.so
    LoadModule log_forensic_module modules/mod_log_forensic.so
    LoadModule logio_module modules/mod_logio.so
    LoadModule env_module modules/mod_env.so
    LoadModule mime_magic_module modules/mod_mime_magic.so
    LoadModule cern_meta_module modules/mod_cern_meta.so
    LoadModule expires_module modules/mod_expires.so
    LoadModule headers_module modules/mod_headers.so
    LoadModule ident_module modules/mod_ident.so
    LoadModule usertrack_module modules/mod_usertrack.so
    LoadModule unique_id_module modules/mod_unique_id.so
    LoadModule setenvif_module modules/mod_setenvif.so
    LoadModule version_module modules/mod_version.so
    LoadModule ssl_module modules/mod_ssl.so
    LoadModule mime_module modules/mod_mime.so
    LoadModule dav_module modules/mod_dav.so
    LoadModule status_module modules/mod_status.so
    LoadModule autoindex_module modules/mod_autoindex.so
    LoadModule asis_module modules/mod_asis.so
    LoadModule info_module modules/mod_info.so
    LoadModule cgi_module modules/mod_cgi.so
    LoadModule dav_fs_module modules/mod_dav_fs.so
    LoadModule vhost_alias_module modules/mod_vhost_alias.so
    LoadModule negotiation_module modules/mod_negotiation.so
    LoadModule dir_module modules/mod_dir.so
    LoadModule imagemap_module modules/mod_imagemap.so
    LoadModule actions_module modules/mod_actions.so
    LoadModule speling_module modules/mod_speling.so
    LoadModule userdir_module modules/mod_userdir.so
    LoadModule alias_module modules/mod_alias.so
    LoadModule rewrite_module modules/mod_rewrite.so
    LoadModule php5_module        modules/libphp5_3.so

    <IfModule !mpm_netware_module>
    <IfModule !mpm_winnt_module>

    User daemon
    Group daemon

    </IfModule>
    </IfModule>


    <Directory />
        Options FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
    </Directory>

    <Directory "/usr/local/apache2_2/htdocs">
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all

    </Directory>


    <IfModule dir_module>
        DirectoryIndex index.html index.php
    </IfModule>

    <FilesMatch "^\.ht">
        Order allow,deny
        Deny from all
        Satisfy All
    </FilesMatch>


    ErrorLog "logs/error_log"
    LogLevel warn

    <IfModule log_config_module>
        LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
        LogFormat "%h %l %u %t \"%r\" %>s %b" common

        <IfModule logio_module>
          LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
        </IfModule>

        CustomLog "logs/access_log" common

    </IfModule>

    <IfModule alias_module>
        ScriptAlias /cgi-bin/ "/usr/local/apache2_2/cgi-bin/"
    </IfModule>

    <IfModule cgid_module>
    </IfModule>

    <Directory "/usr/local/apache2_2/cgi-bin">
        AllowOverride None
        Options None
        Order allow,deny
        Allow from all
    </Directory>

    DefaultType text/plain

    <IfModule mime_module>
        TypesConfig conf/mime.types
        AddType application/x-compress .Z
        AddType application/x-gzip .gz .tgz
    </IfModule>

    <IfModule ssl_module>
    SSLRandomSeed startup builtin
    SSLRandomSeed connect builtin
    </IfModule>

    ## SITES ##
    Include _/httpd-php53-sites.conf


    _/httpd-php53-sites.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>


    <Directory "/home/asdfzxcv/_/sites">
        Order allow,deny
        allow from all
        AllowOverride All
        Options +Indexes +FollowSymLinks
    </Directory>


    NameVirtualHost *:1053
    <VirtualHost *:1053>
      ServerName default
      DocumentRoot /usr/local/apache2_2/htdocs
    </VirtualHost>


    Include _/site-test01.conf


    _/site-test01.conf

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


    Браузер: http://test01.l:1053/ для PHP53, и http://test02.l:1054/ для PHP54




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру