Un chtit coup d’install de ce magnifique serveur notre distribution préférée
1.Si vous n’avez pas le jdk installer le (Attention à activer les dépots partner dans ubuntu)
sudo apt-get install sun-java6-jdk
2.Récupérer glassfish
wget http://download.java.net/glassfish/3.0.1/release/glassfish-3.0.1.zip
3.Dézipper glassfish (Si vous n’avez pas unzip sudo apt-get install unzip )
sudo unzip glassfish-3.0.1.zip
4.Déplacer le tout dans un dossier
sudo mv glassfishv3 /opt
5.Ajouter un utilisateur système pour glassfish
sudo useradd --system glassfish -d /opt/glassfishv3
6.Mettre le groupe admon sur glassfish
sudo chgrp -R admin /opt/glassfishv3
7.Mettre glassfish comme propriétaire
sudo chown -R glassfish glassfishv3
8.Allez dans le répertoire
cd glassfishv3
9.Mettre les fichiers exécutables
sudo chmod -R +x bin/ sudo chmod -R +x glassfish/bin/
10.Start glassfish sur le domain1
sudo -u glassfish bin/asadmin start-domain domain1
11.Et le service pour finir en beauté
sudo nano /etc/init.d/glassfish
Entrer le code suivant
GLASSFISHPATH=/opt/glassfishv3-prelude/bin
case "$1" in
start)
echo "starting glassfish from $GLASSFISHPATH"
sudo -u glassfish $GLASSFISHPATH/asadmin start-domain domain1
;;
restart)
$0 stop
$0 start
;;
stop)
echo "stopping glassfish from $GLASSFISHPATH"
sudo -u glassfish $GLASSFISHPATH/asadmin stop-domain domain1
;;
*)
echo $"usage: $0 {start|stop|restart}"
exit 3
;;
esac
:
Changer les droits
sudo chmod a+x /etc/init.d/glassfish
Installer en run level
sudo update-rc.d glassfish defaults
12. Installation du mod_jk, avec Apache2
sudo apt-get install apache2 libapache2-mod-jk
Editer le ficher jk.load
nano /etc/apache2/mods-available/jk.load
Afin qu’il ressemble à ceci:
JkWorkersFile /etc/apache2/workers.properties
JkLogFile /var/log/apache2/mod_jk.log
JkLogLevel debug
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
Créer ce fichier /etc/apache2/workers.properties
sudo nano /etc/apache2/workers.properties
Placer y le code ci-dessous:
worker.list=worker1
# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300
Creér les règle dans /etc/apache2/sites-enabled/000-default » comme ceci:
ServerAdmin webmaster@localhost
DocumentRoot /var/www/
...
JkMount /contextA/* worker1
JkMount /contextB/jsps/*.jsp worker1
</VirtualHost>
4)Démarrer Apache
/etc/init.d/apache2 start
Contrôler les logs
cat /var/log/apache2/mod_jk.log
Démarrer glassfish
asadmin start-domain domain1
Installer les écouteurs
asadmin create-http-listener --listenerport 8009 --listeneraddress 0.0.0.0 --defaultvs server jk-connector
asadmin set configs.config.server-config.network-config.network-listeners.network-listener.jk-connector.jk-enabled=true
13.Modifications nécessaires pour un bon fonctionnement
Après quelques essais en production j’ai pu remarqué qu’il y a avait de temps un bug, au niveau du chargement de la page. Voici donc les manips pour un bon fonctionnement
1. Aller dans l’admin de glassfish, dans network listener et supprimer le jk connector
2. Se procurer un version de tomcat et copier les jar : commons-logging-1.1.jar, commons-modeler-2.0.1.jar, tomcat-ajp.jar dans glassfish/lib
3. Aller dans l’admin de glassfish, Configuration->JVM Settings->JVM Options puis ajouter cette option
-Dcom.sun.enterprise.web.connector.enableJK=8009
4. Redéarrez apache et glassfish
5. Dans à la fin du fichier Jkload ajouter ceci
JkMountCopy all
6. Supprimer le trafic dans le dossier WEB-INF de votre application en ajoutant ceci dans votre virtualhost
deny from all
</Location>
14. Tunning en production
Dans Configuration->JVM Settings->JVM Options , remplacer ces options
-client
-Xmx512m
par :
-server
-XX:+AggressiveHeap -Xmx1400m -Xms1400m -Xss128k -XX:+DisableExplicitGC
bonjour et merci pour ce jolie et très bon tuto que j’ai suivi à la lettre et sa marche très bien
c’est juste que je veus clusterisé mais j’aimerais savoir ou sont stocké les nodes merci bien