...
| Bloc de code |
|---|
| language | html/xml |
|---|
| title | server.xml |
|---|
|
...
<!-- <Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" emptySessionPath="true"/> -->
... |
On va ensuite rajouter un connecteur AJP qui permettra de connecter le serveur Tomcat avec le serveur Apache :
| Bloc de code |
|---|
| language | html/xml |
|---|
| title | server.xml |
|---|
|
...
<Connector port="8009" address="127.0.0.1"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" emptySessionPath="true" />
... |
Le paramètre portdéfinit celui qui sera utilisé pour la connexion entre les deux serveurs. Le paramètre address n'est pas obligatoire mais est recommandé pour plus de sécurité. Il doit désigner l'adresse IP de la machine hébergeant le serveur Apache.
...
| Bloc de code |
|---|
| language | html/xml |
|---|
| title | conf/server.xml |
|---|
|
...
<Engine name="Catalina" defaultHost="localhost">
... |
Et rajoutez-y le paramètre jvmRoute de cette façon :
| Bloc de code |
|---|
| language | html/xml |
|---|
| title | conf/server.xml |
|---|
|
...
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
... |
Réglages applicatifs
Chaque Tomcat ainsi configuré va héberger une instance de l'application uPortal. Chacune de ces instance devra être configurée de façon différente, pour refléter l'adresse réelle du serveur Tomcat, en modifiant le filtre esup.properties.
| Bloc de code |
|---|
| language | html/xml |
|---|
| title | filters/esup.properties |
|---|
|
...
################################################################################
## uPortal server configuration properties ##
################################################################################
environment.build.uportal.server=localhost:80
environment.build.real.uportal.server=localhost:8009
environment.build.uportal.protocol=http
environment.build.uportal.context=/uPortal
environment.build.real.uportal.context=/uPortal
... |
La ligne environment.build.uportal.server désigne l'adresse (et le port si nécessaire) du serveur frontal Apache.
...
| Bloc de code |
|---|
| language | html/xml |
|---|
| title | conf/httpd.conf | Configuration Apache |
|---|
|
...
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
... |
A la fin de ce fichier, on rajoutera ensuite le bloc de configuration du mod suivant :
| Bloc de code |
|---|
| language | html/xml |
|---|
| title | conf/httpd.conf | Configuration Apache |
|---|
|
...
#Configuration du load balancing
<VirtualHost *:80>
ProxyRequests Off
<Proxy balancer://portal>
BalancerMember ajp://tomcat1.ent.fr:8009 route=tomcat1 loadfactor=1
BalancerMember ajp://tomcat2.ent.fr:8010 route=tomcat2 loadfactor=1
ProxySet lbmethod=bytraffic
ProxySet stickysession=ROUTEID
</Proxy>
ProxyPass / balancer://portal/
<Location /balancer-manager>
Order deny,allow
Deny from all
Allow from 127.0.0.1
SetHandler balancer-manager
</Location>
</VirtualHost>
... |
<VirtualHost> permet de définir un hôte virtuel pour lequel les paramètres de balancing seront appliqués. Plusieurs hôtes peuvent être configurés avec des stratégies différentes.
...