Запуск нескольких процессов 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 с разными конфигами, чтобы можно было использовать разные >> версии PHP и т.п. >> В качестве основы использовал данный мануал http://wiki.apache.org/httpd/RunningMultipleApacheInstances.Попробуйте сделать по мануалу дословно. Не вижу в приведенных конфигах вот этого: # httpd-proxy.conf Listen 80 # httpd-perl.conf Listen 81 # httpd-python.conf Listen 82 # httpd-php.conf Listen 83
- Запуск нескольких процессов 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, PavelR, 12:30 , 19-Сен-15 (4)
> для каждого конфига httpd-proxy(php53,php54).conf в самом начале есть настройка Listen > (где порт соотвественно 80, 83, 84).Если у тебя "белый" айпишник один, то разнеси апачи на 127.0.0.1:80 127.0.0.2:80 127.0.0.3:80 ... и так далее, а перед всем этим делом поставь nginx.
- Запуск нескольких процессов Apache httpd, bannndi, 20:40 , 19-Сен-15 (5)
> Если у тебя "белый" айпишник один, то разнеси апачи на Если можно, поподробнее. Мне нужен веб-сервер для локальной веб-разработки. Т.е. хочу настроить единственную инсталляцию Apache так, чтобы можно было запускать с разными версиями PHP. Я не очень понимаю что значит "белый" айпишник в данном контексте. Речь идет об директиве ServerName? Nginx займусь позже, сейчас мне нужно настроить хотя бы так.
- Запуск нескольких процессов Apache httpd, Square1, 09:39 , 20-Сен-15 (12) +1
>> Если у тебя "белый" айпишник один, то разнеси апачи на > Если можно, поподробнее. > Nginx займусь позже, сейчас мне нужно настроить хотя бы так.Вам не нужен Nginx, вам не нужно проксировние, вам не нужен <VirtualHost> Вся эта сложность вам не нужна в принципе. Вам нужны конфиги в которых указаны разные хосты и настройки. И все... конфиг один настройки один имя хоста один хост и порт листинга один (127.0.0.10:80) стартуем апач с конфигом один конфиг два настройки два имя хоста два хост и порт листинга два (127.0.0.11:80) стартуем апач с конфигом два и так далее без Nginx, без проксировния, без VirtualHost
- Запуск нескольких процессов 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.pidLoadModule 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, Square1, 23:11 , 19-Сен-15 (9)
> остальные конфиги в шапке, это _/sites/_.conf для httpd-proxy.conf, и виртуальные хосты > test01.l и test02.l DocumentRoot /home/asdfzxcv/_/sites/test02/web конкретного сайта нужно описать в конфиге этого конкретного сайта... то есть не в конфиге проксирующего, а того который *:81*:82*:83*:84
- Запуск нескольких процессов Apache httpd, Square1, 23:16 , 19-Сен-15 (10)
- Запуск нескольких процессов Apache httpd, Square1, 23:24 , 19-Сен-15 (11)
Собственно логика такая:сюда конектится народ, поэтому тут указываем алиас сайта, но все отправляется на другой хост <VirtualHost XXX.XX.XX.121:80> ServerName www.example.net ServerAlias example.net ProxyPass / http://XXX.XX.XX.122:81/ ProxyPassReverse / http://XXX.XX.XX.122:81/ </VirtualHost> а на другом хосте уже описываем реальную конфигурацию с документрутом (ибо именно тут лежать файлы сайта): <VirtualHost XXX.XX.XX.122:81> ServerName www.example.net ServerAlias example.net DocumentRoot /var/www/example.net CustomLog logs/example-net-combined.log combined </VirtualHost>
- Запуск нескольких процессов 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
|