touch: `/usr/share/tomcat7/logs/catalina.out 'kann nicht berührt werden: Keine solche Datei oder kein solches Verzeichnis

8

Ich habe ein Problem beim Starten von Tomcat vom Terminal aus. Ich habe Tomcat mit - installiert sudo apt-get install tomcat7, vor ein paar Tagen. Wenn ich es jetzt mit dem folgenden Befehl starte, wird der folgende Fehler angezeigt:

~/tomcat7/bin$ sudo ./startup.sh

Using CATALINA_BASE:   /usr/share/tomcat7  
Using CATALINA_HOME:   /usr/share/tomcat7  
Using CATALINA_TMPDIR: /usr/share/tomcat7/temp  
Using JRE_HOME:        /usr   
Using CLASSPATH:       /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
touch: cannot touch `/usr/share/tomcat7/logs/catalina.out': No such file or directory  
./catalina.sh: 389: ./catalina.sh: cannot create /usr/share/tomcat7/logs/catalina.out: Directory nonexistent

Ich kann nicht verstehen, was schief gelaufen ist. Ich konnte darauf zugreifen - http://localhost:8080als ich es installiert habe. Aber dann habe ich den Befehl ausgeführt, um den Start beim Booten zu deaktivieren:

sudo update-rc.d tomcat remove

Und jetzt fängt es überhaupt nicht an. :(

Rohit Jain
quelle
Sind Sie sicher, dass Sie den Tomcat über die Ubuntu-Pakete ausführen? Ich glaube nicht ... Es scheint, dass Sie eine andere von Upstream (in ~/tomcat7?) Installiert haben, da die von Ubuntu keine Protokolldateien in /usr/share/tomcat7/logs, sondern /var/logirgendwo schreibt . Wolltest du nicht Tomcat wie laufen lassen service tomcat start?
Gertvdijk
@gertvdijk. Ach je! Es funktioniert jetzt. Scheint, als ob Tomcat als Dienst installiert wurde. Vielen Dank.
Rohit Jain
@gertvdijk. Ich habe noch eine Frage. Ich versuche jetzt, eine Kriegsdatei bereitzustellen. Ich habe es in - /usr/share/tomcat7/webappsVerzeichnis kopiert . Aber wenn ich auf die Seite zugreife, wird ein 404-Fehler angezeigt. Dann habe ich die Kriegsdatei nach - verschoben /var/lib/tomcat7/webapps, dort wird auch der gleiche Fehler angezeigt. Wie würde ich den Krieg einsetzen? Wenn Sie möchten, kann ich es als eine andere Frage posten.
Rohit Jain
@gertvdijk. In der Zwischenzeit können Sie Ihren Kommentar als Antwort hinzufügen. Ich werde es akzeptieren. Danke :)
Rohit Jain
Bitte stellen Sie keine neuen Fragen in Kommentaren. Stellen Sie stattdessen eine neue Frage, indem Sie oben auf der Seite auf die Schaltfläche "Frage stellen" klicken.
Gertvdijk

Antworten:

5

Bei der Installation mit dem tomcat7Paket ist vorgesehen, dass Sie Tomcat mit upstart ( service tomcat start) oder dem /etc/init.d/tomcatSkript starten und stoppen . Wenn Sie es mit dem startup.shSkript starten , sind die Umgebungsvariablen wahrscheinlich falsch konfiguriert.

In meiner Antwort auf Ihre vorherige Frage ( Wie sollte ich Apache Tomcat 7 für die Verwendung mit Eclipse installieren? ) Finden Sie eine bessere Möglichkeit, Tomcat zu installieren, wenn Sie es nicht als Dienst ausführen möchten.

David Edwards
quelle
OK. Ich denke, ich würde besser eine private Instanz von Tomcat installieren. Kann ich einfach apt-get purge tomcat7das vorherige deinstallieren?
Rohit Jain
@RohitJain No. apt-getverwaltet die Ubuntu-Pakete, nicht die Dateien, die Sie von einer anderen Quelle installiert haben. Konsultieren Sie die README / INSTALL oder eine andere Dokumentation mit der Upstream-Quelle der anderen Instanz, die Sie installiert haben. Bitte vermeiden Sie es, Software von der Quelle auszuführen, wenn Ubuntu-Pakete verfügbar sind. Wie Sie sehen, erschweren Sie die Verwaltung Ihres Systems nur.
Gertvdijk
@gertvdijk. Ich habe es apt-get install tomcat7nur mit installiert . Kann ich es in diesem Fall so deinstallieren?
Rohit Jain
1

Erstellen Sie einfach den fehlenden Ordner wie folgt:

sudo mkdir /var/tomcat/logs

Führen Sie dann Tomcat erneut wie folgt aus:

sudo sh /opt/apache-tomcat-{version}/bin/startup.sh

Die Nachricht selbst ist selbsterklärend. Wenn Sie die Hierarchie des Unix / Linux-Dateisystems und dessen Funktionsweise nicht kennen, empfehle ich Ihnen dringend, einige Tutorials anzusehen.

JulsLyon
quelle
0

In meinem Fall hatte ich ein ähnliches Problem und tomcat7 würde nicht starten.
Anscheinend wurde der /var/log/tomcat7Ordner aufgrund eines Neustarts der Box gelöscht ...

Hier ist, wie ich behoben habe:

rwxrwxrwx 1 root    root      17 Feb 27  2014 logs -> ../../log/tomcat7
/var/log# mkdir tomcat7
/var/log/tomcat7# cd /etc/init.d/
/etc/init.d# ./tomcat7 start
Dinbo
quelle