Foros de discusión

Hot-Deploment funktioniert in meiner Server-Umgebung nicht

Michael Jerger, modificado hace 12 años.

Hot-Deploment funktioniert in meiner Server-Umgebung nicht

New Member Mensajes: 17 Fecha de incorporación: 16/03/11 Mensajes recientes
Hallo zusammen,

ich bin gerade mit dem Portieren von layouttpl und themes von 6.0 -> 6.1 (fast) fertig ...
Die War-Files funktionieren im SDK einwandfrei - aber leider nicht auf meinem Server.

Als Server setzte ich auf Ubuntu 04.10 LTE, 64bit, jdk1.6.19.
Die Serverinstallation beschränkt sich auf 2 Änderungen zum Standard-Deployment::
* Download Liferay 6.1.0 CE & unpack
* (memsize auf 2GB gesetzt in tomcat/bin/setenv.sh)
* portal-ext.properties in das frische Portal kopieren
* portal starten
* Nachdem der Server oben ist, dann kopiere ich tpl & theme ins portal/deployment dir

Im folgenden hab ich mal die Logfiles angehängt - im Bereich in dem die Unterschiede zwischen IDE und Server anfangen::

IDE:
16:44:46,145 DEBUG [ThemeExplodedTomcatListener:36] Invoking deploy for /home/mje/code/jerger.org/liferayPortal/deploy/jerger-layouttpl-6.1.0.1.war
16:44:46,146 DEBUG [BaseExplodedTomcatListener:136] /home/mje/code/jerger.org/liferayPortal/deploy/jerger-layouttpl-6.1.0.1.war does not have a matching extension
Feb 27, 2012 4:44:53 PM org.apache.catalina.startup.HostConfig checkResources
Information: Reloading context [/jerger-layouttpl]
16:44:53,377 DEBUG [PluginPackageHotDeployListener:141] Invoking deploy for jerger-layouttpl
16:44:53,378 INFO [PluginPackageUtil:1099] Reading plugin package for jerger-layouttpl

Server:
17:48:48,526 DEBUG [ThemeExplodedTomcatListener:36] Invoking deploy for /opt/liferay_prod/deploy/jerger-layouttpl-6.1.0.1.war
17:48:48,526 DEBUG [BaseExplodedTomcatListener:136] /opt/liferay_prod/deploy/jerger-layouttpl-6.1.0.1.war does not have a matchin
g extension
Feb 27, 2012 5:48:51 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /opt/liferay_prod_6.1/apache-tomcat-7.0.26/webapps/jerger-layouttpl


Nach der Meldung "HostConfig deployDirectory" sagt der server nichts mehr - insbesondere fehlt also die Registrierung des tpl / themes ...
Hat jemand eine Idee, wo ich suchen könnte?

Viele Grüße,
Michael
thumbnail
Olaf Kock, modificado hace 12 años.

RE: Hot-Deploment funktioniert in meiner Server-Umgebung nicht

Liferay Legend Mensajes: 6403 Fecha de incorporación: 23/09/08 Mensajes recientes
Wem gehören die Verzeichnisse und welcher Benutzer wird für den Server (Tomcat) verwendet? Wie sind die Verzeichnisrechte?

ls -la /opt/liferay_prod/deploy/
ls -la /opt/liferay_prod_6.1/apache-tomcat-7.0.26/webapps/
ps aux | grep atalina
Michael Jerger, modificado hace 12 años.

RE: Hot-Deploment funktioniert in meiner Server-Umgebung nicht

New Member Mensajes: 17 Fecha de incorporación: 16/03/11 Mensajes recientes
Hi,

/opt/liferay_prod ist ein symbolischer link auf liferay_prod_6.1. Da ich im Moment 6.1 nicht am lauffen habe zeigt er auf 6.0.
Die Logik ist ansonsten bei 6.0 gleich wie bei 6.1.

jsvc ist ein zuverlässiger java-service starter.

ps -ef | grep java
root     11899     1  0 19:38 ?        00:00:00 /usr/bin/jsvc -user prod -cp /usr/share/java/commons-daemon.jar:/opt/liferay_prod/tomcat/bin/bootstrap.jar:/opt/liferay_prod/tomcat/bin/tomcat-juli.jar -outfile /opt/liferay_prod/tomcat/logs/catalina.out -errfile &1 -pidfile /var/run/tomcat-prod.pid -Djava.awt.headless=true -Dfile.encoding=UTF8 -Xms512M -Xmx1280M -XX:MaxPermSize=256m -Djava.endorsed.dirs=/opt/liferay_prod/tomcat/endorsed -Dcatalina.base=/opt/liferay_prod/tomcat -Dcatalina.home=/opt/liferay_prod/tomcat -Djava.io.tmpdir=/tmp/prod-temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/opt/liferay_prod/tomcat/conf/logging.properties org.apache.catalina.startup.Bootstrap
prod     11900 11899  4 19:38 ?        00:01:20 /usr/bin/jsvc -user prod -cp /usr/share/java/commons-daemon.jar:/opt/liferay_prod/tomcat/bin/bootstrap.jar:/opt/liferay_prod/tomcat/bin/tomcat-juli.jar -outfile /opt/liferay_prod/tomcat/logs/catalina.out -errfile &1 -pidfile /var/run/tomcat-prod.pid -Djava.awt.headless=true -Dfile.encoding=UTF8 -Xms512M -Xmx1280M -XX:MaxPermSize=256m -Djava.endorsed.dirs=/opt/liferay_prod/tomcat/endorsed -Dcatalina.base=/opt/liferay_prod/tomcat -Dcatalina.home=/opt/liferay_prod/tomcat -Djava.io.tmpdir=/tmp/prod-temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/opt/liferay_prod/tomcat/conf/logging.properties org.apache.catalina.startup.Bootstrap


Alle Directories gehören dem user prod (root@www:/opt# chown -R prod. * ):

root@www:/opt# ll
total 8728
lrwxrwxrwx 1 root root      16 Feb 27 20:06 liferay_prod -> liferay_prod_6.0/
drwxr-xr-x 6 prod prod    4096 Feb 27 20:09 liferay_prod_6.0/
drwxr-xr-x 7 prod prod    4096 Feb 27 17:38 liferay_prod_6.1/


root@www:/opt# ll liferay_prod_6.1/
total 24
drwxr-xr-x 9 prod prod 4096 Feb 27 12:51 apache-tomcat-7.0.26/
drwxr-xr-x 7 prod prod 4096 Sep  1 17:30 data/
drwxr-xr-x 2 prod prod 4096 Feb 27 17:52 deploy/
drwxr-xr-x 2 prod prod 4096 Feb 26 19:34 license/
drwxr-xr-x 2 prod prod 4096 Feb 27 13:10 logs/
-rw-r--r-- 1 prod prod 1046 Feb 27 13:09 portal-ext.properties
lrwxrwxrwx 1 prod prod   20 Feb 27 13:24 tomcat -> apache-tomcat-7.0.26/


root@www:/opt# ll liferay_prod_6.1/tomcat/webapps
total 48
drwxr-xr-x  8 prod prod 4096 Feb 27 13:05 ROOT/
drwxr-xr-x  4 prod prod 4096 Feb 27 17:48 jerger-layouttpl/
drwxr-xr-x  7 prod prod 4096 Feb 27 17:52 jerger-theme/
drwxr-xr-x 10 prod prod 4096 Feb 27 13:05 opensocial-portlet/
drwxr-xr-x 13 prod prod 4096 Feb 27 13:05 social-networking-portlet/
drwxr-xr-x  5 prod prod 4096 Feb 27 13:05 web-form-portlet/


Zur Sicherheit habe ich mein /etc/init.d/tomcat file noch angehängt.

Gruß,
Michael

Archivos adjuntos:

thumbnail
Olaf Kock, modificado hace 12 años.

RE: Hot-Deploment funktioniert in meiner Server-Umgebung nicht

Liferay Legend Mensajes: 6403 Fecha de incorporación: 23/09/08 Mensajes recientes
Das sieht alles gut aus - eine vorsichtige Frage noch: Wie werden die WAR-Files auf dem Server deployed? Direkt in Tomcat oder via Liferay's "deploy" Directory?

Während des Deployments vom deploy-Directory in den Tomcat nimmt Liferay noch Änderungen vor: Einige Komponenten (Abhängigkeiten) werden aufgelöst etc. Ein WAR-File aus dem SDK ist nur dann direkt deploybar, wenn es mit diesen Optionen vorweggenommen gebaut wurde - statt "ant deploy" heisst es dann "ant direct-deploy" - die beiden Ergebnisse unterscheiden sich im Inhalt, nicht im Aussehen (mit anderen Worten: Man kann einem WAR-File von außen nicht ansehen, wie es gebaut wurde)

Das ist ein bisschen tricky, üblicherweise führt ein falsches Deployment zu ClassNotFoundExceptions im Log - zumindest für Portlet Plugins.
Michael Jerger, modificado hace 12 años.

RE: Hot-Deploment funktioniert in meiner Server-Umgebung nicht

New Member Mensajes: 17 Fecha de incorporación: 16/03/11 Mensajes recientes
In der IDE baue ich die war-files mit dem buil.xml - default Target. Ich schau nochmals nach ob das deploy-direct oder deploy ist.

Auf dem Server kopiere ich das war file dann in das liferay/deploy Directory.
Und ja, ich hab schon erkannt, dass eine Kopie als root nicht das Wahre ist - ich mach das als "su prod" emoticon.
thumbnail
Olaf Kock, modificado hace 12 años.

RE: Hot-Deploment funktioniert in meiner Server-Umgebung nicht

Liferay Legend Mensajes: 6403 Fecha de incorporación: 23/09/08 Mensajes recientes
dann bleibt mir als schneller Tipp noch

sudo chown -r prod:prod tomcat/temp tomcat/work


??
Michael Jerger, modificado hace 12 años.

RE: Hot-Deploment funktioniert in meiner Server-Umgebung nicht

New Member Mensajes: 17 Fecha de incorporación: 16/03/11 Mensajes recientes
Das ist mit dem chown ein paar ebenen höher schon mit drin gewesen. Die tomcat tmp (aus der jsvc Konfiguration) Ordner hab ich mir auch angesehen - die sehen von den Rechten her alle gut aus.

Die Dateioperationen sehen alle schon abgeschlossen aus - das .war file ist schließlich schon in tomcat/webapp.
Dann scheint irgendein Event, der für's Registrieren in Liferay wichtig ist, aber nicht anzukommen...

So ist zumindest mein oberflächlicher Eindruck.

Ich werd heute Abend aber nochmals alle Verzeichnisse liebevoll auf Ihre Berechtigung hin durchsehen ... und falls ich was übersehen habe, dann werd ich's hier reuevoll kundtun :-))
Michael Jerger, modificado hace 12 años.

RE: Hot-Deploment funktioniert in meiner Server-Umgebung nicht

New Member Mensajes: 17 Fecha de incorporación: 16/03/11 Mensajes recientes
ein Schritt weiter ... ein update

Die liebevolle Durchsicht hatte zwar nix gebracht - aber mir ist aufgefallen, dass ich im SDK mit JDK1.7 compiliert hatte. Sollte zwar nix ausmachen, da ich ausschließlich Ressourcen und logging.props in den war Files gepackt habe ... aber wunderbarerweise hat mich der Test mit einem jdk1.6.24 einen Schritt weitergebracht:

Der Deploy in meinem SDK sieht so aus:
19:26:47,347 INFO  [AutoDeployDir:167] Processing jerger-layouttpl-6.1.0.1.war
...
19:26:47,389 INFO  [LayoutTemplateAutoDeployListener:50] Layout templates for /home/mje/code/jerger.org/liferayPortal/deploy/jerger-layouttpl-6.1.0.1.war copied successfully. Deployment will start in a few seconds.
...
29.02.2012 19:26:53 org.apache.catalina.startup.HostConfig
 checkResources
INFO: Reloading context [/jerger-layouttpl]
...
19:27:05,923 DEBUG [HotDeployMessageListener:38] jerger-layouttpl was undeployed
[b]29.02.2012 19:27:05 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SCHWERWIEGEND: The web application [/jerger-layouttpl] appears to have started a thread named [MultiThreadedHttpConnectionManager cleanup] but has failed to stop it. This is very likely to create a memory leak.
19:27:06,534 DEBUG [PluginPackageHotDeployListener:91] Invoking deploy for jerger-layouttpl
...
[/b]


Auf meinem Server:
20:20:41,540 DEBUG [ExtAutoDeployListener:35] Invoking deploy for /opt/liferay_prod/deploy/jerger-layouttpl-6.1.0.1.war
...
20:20:41,560 INFO  [LayoutTemplateAutoDeployListener:50] Layout templates for /opt/liferay_prod/deploy/jerger-layouttpl-6.1.0
.1.war copied successfully. Deployment will start in a few seconds.
...
Feb 29, 2012 8:20:48 PM org.apache.catalina.startup.HostConfig checkResources
INFO: Reloading context [/jerger-layouttpl]
...
20:20:48,669 DEBUG [HotDeployMessageListener:38] jerger-layouttpl was undeployed

Und hier endet der Deployment Vorgang leider immer noch.

Gibts hier irgendwelche Ideen?
Michael Jerger, modificado hace 12 años.

Hot Deployment nach Migration 6.0.6 -> 6.1

New Member Mensajes: 17 Fecha de incorporación: 16/03/11 Mensajes recientes
Hi zusammen,

für alle, die irgendwann mal ein ähnliches Problem haben, Ich hab das Thema inzwischen weiter eingekreist.
Ein Bugreport dazu findet sich unter http://issues.liferay.com/browse/LPS-26099

Viele Grüße,
Michael