Pour pouvoir lancer Tomcat, il faut éditer le fichier
<TOMCAT_HOME>/bin/catalina.sh et positionner les variables de
la manière suivante:
JAVA_HOME=/usr/lib/j2sdk1.3
JAVA_OPTS=-Xmx96m |
Note
JAVA_HOME est le chemin d'installation du jdk / jre.
$JAVA_HOME/bin/java doit être la machine virtuelle que vous allez
utiliser.
Note
Dans la variable JAVA_OPTS, est précisé un paramètre pour
augmenter la taille mémoire de la machine virtuelle. Cela évite les
plantages de type OutOfMemory lors de l'utilisation de JAI avec
des images de grandes tailles.
Dans un second temps, il faut configurer le serveur pour
qu'il se mette en attente des requêtes que va lui envoyer Apache (
le serveur Web ).
<Server port="8005" shutdown="SHUTDOWN" debug="0">
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"
debug="0"/>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
debug="0"/>
<!-- Define the Tomcat Stand-Alone Service -->
<Service name="Tomcat-Standalone">
<!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8009" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="10" debug="0" connectionTimeout="0"
useURIValidationHack="false"
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
<!-- Define the top level container in our container hierarchy -->
<Engine name="Standalone" defaultHost="localhost" debug="0">
<!-- Global logger unless overridden at lower levels -->
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="catalina_log." suffix=".txt"
timestamp="true"/>
<!-- Define the default virtual host -->
<Host name="localhost" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Logger className="org.apache.catalina.logger.FileLogger"
directory="logs" prefix="localhost_log." suffix=".txt"
timestamp="true"/>
</Host>
</Engine>
</Service>
</Server> |
Ce fichier définit que la port 8009 est le port utilisé par le
connecteur JK2 que nous utilisons pour les requêtes ayant été envoyés
par Tomcat. Ce port devra être configuré dans Apache pour qu'il
sache vers où faire suivre les requêtes.
Note
Il est possible que Tomcat et Apache ne soit pas sur les mêmes
machines.
Il est également possible de définir des pools de connexion pour
les bases de données dans ce fichier. Cela se fait de la manière
suivante:
<Server port="8005" shutdown="SHUTDOWN" debug="0">
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"
debug="0"/>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
debug="0"/>
<!-- Define the Tomcat Stand-Alone Service -->
<Service name="Tomcat-Standalone">
<!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8009" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="10" debug="0" connectionTimeout="0"
useURIValidationHack="false"
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
<!-- Define the top level container in our container hierarchy -->
<Engine name="Standalone" defaultHost="localhost" debug="0">
<!-- Global logger unless overridden at lower levels -->
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="catalina_log." suffix=".txt"
timestamp="true"/>
<!-- Define the default virtual host -->
<Host name="localhost" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<DefaultContext debug="99">
<Resource name="jdbc/JGenea" auth="Container"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/JGenea">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter><name>username</name><value>sa</value></parameter>
<parameter><name>password</name><value></value></parameter>
<parameter><name>driverClassName</name>
<value>org.hsqldb.jdbcDriver</value></parameter>
<parameter><name>url</name>
<value>jdbc:hsqldb:hsql://localhost:66</value></parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>10</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>-1</value>
</parameter>
</ResourceParams>
</DefaultContext>
</Host>
</Engine>
</Service>
</Server> |
Note
Pour pouvoir utiliser JGenea Web, il n'est pas forcément
nécessaire de créer un pool de connexion au niveau du serveur
d'application comme nous le verrons par la suite.