Я работаю над Apache и tomcat для настройки балансировки нагрузки и сбоя. Первоначально я думал, что load-balancing
будет включать fail-over
, но я был неправ. Я думал, что если один экземпляр неактивен, то использование другого экземпляра также становится частью управления нагрузкой. Достаточно с терминологией, я настраиваю провал, но ироническая часть fail-over
сама проваливается.Tomcat, Apache: Отказоустойчивость не работает даже после настройки
Как только я закрыл один экземпляр tomcat, вся установка мертва, и я получаю 503. Может кто-нибудь помочь мне понять, в чем проблема.
Добавлено это в apache2.conf:
JkWorkersFile /etc/apache2/workers.properties
JkMount /* loadbalancer
workers.properties:
GNU Нано 2.2.6 Файл: workers.properties
worker.list=loadbalancer
worker.server1.port=8010
worker.server1.host=localhost
worker.server1.type=ajp13
worker.server2.port=8011
worker.server2.host=localhost
worker.server2.type=ajp13
worker.server1.lbfactor=1
worker.server2.lbfactor=1
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=server1,server2
worker.loadbalancer.method=B
worker.balancer.sticky_session=True
000-умолчанию в местах с поддержкой :
JkMountCopy On
<Proxy balancer://mycluster>
BalancerMember ajp://localhost:8010 route=server1 connectiontimeout=10
BalancerMember ajp://localhost:8011 route=server2 connectiontimeout=10
ProxySet stickysession=JSESSIONID|jsessionid
Order Deny,Allow
Deny from none
Allow from all
</Proxy>
<VirtualHost *:80>
ProxyRequests off
ProxyPass /balancer-manager !
ProxyPass/balancer://mycluster/
ProxyPassReverse/balancer://mycluster/
</VirtualHost>
<Location /balancer-manager>
SetHandler balancer-manager
Order Deny,Allow
Deny from none
Allow from all
</Location>
server.xml
Первого запуска Tomcat:
<Connector port="8080" proxyPort="80" protocol="HTTP/1.1" compression="force" compressionMinSize="1024"
connectionTimeout="20000"
redirectPort="443" URIEncoding="utf-8"
compressableMimeType="text/html,text/xml,text/plain,text/css,text/ javascript,application/x-javascript,application/javascript"/>
<Connector port="443" enableLookups="false" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="200" compression="force"
compressionMinSize="1024" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS"
keystoreFile="keystore_file" keystorePass="PASSWORD" URIEncoding="utf-8"
compressableMimeType="text/html,text/xml,text/plain,text/css,text/ javascript,application/x-javascript,application/javascript"
/>
<Connector port="8010" protocol="AJP/1.3" redirectPort="443" URIEncoding="utf-8"
compressableMimeType="text/html,text/xml,text/plain,text/css,text/ javascript,application/x-javascript,application/javascript"
/>
<Engine name="Catalina" defaultHost="localhost" jvmRoute="server1">
// No modifications inside
</Engine>
Второй Tomcat в server.xml:
<Connector port="8081" proxyPort="80" protocol="HTTP/1.1" compression="force" compressionMinSize="1024"
connectionTimeout="20000"
redirectPort="443" URIEncoding="utf-8"
compressableMimeType="text/html,text/xml,text/plain,text/css,text/ javascript,application/x-javascript,application/javascript"/>
<Connector port="443" enableLookups="false" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="200" compression="force"
compressionMinSize="1024" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS"
keystoreFile="keystore_file" keystorePass="PASSWORD" URIEncoding="utf-8"
compressableMimeType="text/html,text/xml,text/plain,text/css,text/ javascript,application/x-javascript,application/javascript"
/>
<Connector port="8011" protocol="AJP/1.3" redirectPort="8443" URIEncoding="utf-8"
compressableMimeType="text/html,text/xml,text/plain,text/css,text/ javascript,application/x-javascript,application/javascript"
/>
<Engine name="Catalina" defaultHost="localhost" jvmRoute="server2">
// No modifications here
</Engine>
Какую ошибку я делаю в конфигурации для реализации балансировки нагрузки и отказоустойчивость вместе. Большое спасибо.
Я не против использования mod_jk sir. Но ответ, который вы опубликовали, содержит конфигурацию, которую я имею, любезно предложите мне с mod_jk, если вы найдете это удобным. Большое спасибо.: -) # –
Затем сначала убедитесь, что у вас есть рабочая конфигурация mod_jk, начните удаление директив mod_proxy, которые я заметил в своем ответе, и проверьте, все ли работает, на основе этого я обновлю ответ – Fredi
Да, у меня есть этот модуль. Я также назвал apache2ctl -M, и его вывод находится здесь: http://pastebin.com/DxxPuLJG. Должен ли я удалить все из 000-default, потому что файл был пуст до –