в Разширено 

Преглед на ресурс: Ноу-хау

НачалоПреглед на ресурс:
Вход

Конфигуриране на apache prefork + mod_jk + jboss

Целта на ресусра е предоставянето на работеща конфигурация на споменатите сървъри. Допускаме, че имате инсталирани apache prefork, mod_jk и jboss.

Започваме с конфигурацията на апача:
apache2.conf :
# Replace jsp-hostname with the hostname of your JSP server, as
# specified in workers.properties.
#
<IfModule mod_jk.c>
	JkWorkersFile /etc/apache2/includes/workers.properties
	JkShmFile  /var/log/apache2/jk-runtime-status
	JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
	JkRequestLogFormat "%w %V %T"
</IfModule>


<IfModule mpm_prefork_module>
    StartServers 10
    MinSpareServers 10
    MaxSpareServers 30
    MaxClients          200
    MaxRequestsPerChild 0
</IfModule>


#Your site config
<VirtualHost 78.78.78.78:80>
    ServerAdmin     info@yoursite.com
    ServerName      www.yoursite.com
    ServerAlias     yoursite.com 78.78.78.78 
    
    ErrorLog        /var/log/apache2/users/some_error.log
    <IfModule mod_jk.c>
        JkMount /*.* worker1
        JkMount /* worker1
    </IfModule>    
</VirtualHost>





JkWorkersFile трябва да сочи към workers.properties


Ето и самия workers.properties
worker.list=worker1
worker.worker1.type=ajp13
worker.worker1.host=127.0.0.1
worker.worker1.port=8009
worker.worker1.lbfactor=1
worker.worker1.connection_pool_timeout=600
#Socket timeout in seconds used for the communication channel between JK and remote host.
worker.worker1.socket_timeout=40
worker.worker1.socket_keepalive=1
#Do not use connection_pool_size with values higher then 1 on Apache 2.x prefork
worker.worker1.connection_pool_size=1
#Do not use connection_pool_size with values higher then 1 on Apache 2.x prefork 
worker.worker1.connection_pool_minsize=1
worker.worker1.ping_mode=A
#Timeout in milliseconds used when waiting for the CPong answer of a CPing connection probe. 
worker.worker1.ping_timeout=10000
#connection_ping_interval in seconds
worker.worker1.connection_ping_interval=70



server.xml на JBoss ili Tomcat:
    <Connector port="8009" address="${jboss.bind.address}" 
         protocol="AJP/1.3"
         emptySessionPath="true" 
         enableLookups="false" 
         redirectPort="8443" 
         URIEncoding="UTF-8" 
         maxThreads="400" 
         connectionTimeout="600000"
         acceptCount="400"
         
         />


Ключово е:
- при определянето на MaxClients да спазвате следната формула:
MaxClients = maxThreads * 0.8
или поне да гледате MaxClients да не е > от maxThreads, като MaxClients не може да е повече от 256

- connection_pool_timeout=600 трябва да е колкото <Connector...connectionTimeout="600000", като connection_pool_timeout е в секунди а connectionTimeout е в милисекунди.
Вашето мнение:
Коментари: 1
Мисля, че в конфигурацията на mod_jk си ползвал

JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories 


Това за мен не правилно и по-специално +ForwardURICompat. По добре ако не ползваш mod_rewrite да пускаш URI пътя без промяна към JBOSS.

+ForwardURICompatUnparsed е най-сигурно, защото то не модифицира URI-то. И ако имаш UTF символи в url страницата ще е по-безопасно. Ако имаш URL параметри които са utf може и +ForwardURICompat да стане, но ако имаш символи във самия път, да кажем:

/some/%D0%B2%D0%B0%D0%B3%D0%BE%D0%BD?param1=value1

тогава това ти върши идеална работа:

JkOptions +ForwardKeySize +ForwardURICompatUnparsed -ForwardDirectories
Моля, използвайте системата за рейтинг. Вашето мнение е от значение!
Ако искате да споделите информация, публикувайте ресурс
Добави ресурс
iPad
Подобни ресурси:
| Начална страница | Зала на славата | Регистрация | Вход | Правила за ползване | Политика за поверителност | Помощ | Контакти | RSS |
spravka.bg  |  subtitri.net  |