touch: nie można dotknąć `/usr/share/tomcat7/logs/catalina.out ': Brak takiego pliku lub katalogu

8

Mam problem z uruchomieniem tomcata z terminala. Zainstalowałem tomcat za pomocą - sudo apt-get install tomcat7kilka dni temu. Teraz, gdy uruchamiam go za pomocą poniższego polecenia, pojawia się następujący błąd:

~/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

Nie rozumiem, co poszło nie tak. Miałem dostęp - http://localhost:8080kiedy go zainstalowałem. Ale potem uruchomiłem polecenie, aby wyłączyć uruchamianie w czasie uruchamiania:

sudo update-rc.d tomcat remove

A teraz wcale się nie zaczyna. :(

Rohit Jain
źródło
Czy na pewno korzystasz z Tomcat z pakietów Ubuntu? Nie sądzę ... Wygląda na to, że zainstalowałeś inny z nadrzędnego (in ~/tomcat7?), Ponieważ ten z Ubuntu nie zapisuje plików dziennika /usr/share/tomcat7/logs, ale /var/loggdzieś. Nie chciałeś uruchomić Tomcata jak service tomcat start?
gertvdijk
@gertvdijk. O jej! Teraz działa. Wygląda na to, że tomcat został zainstalowany jako usługa. Dzięki.
Rohit Jain
@gertvdijk. Mam jeszcze jedno pytanie. Próbuję teraz wdrożyć plik wojenny. Skopiowałem go do /usr/share/tomcat7/webappskatalogu. Ale kiedy wchodzę na stronę, pokazuje błąd 404. Potem przeniosłem plik wojenny do - /var/lib/tomcat7/webappstam też pokazuje ten sam błąd. Jak rozłożyłbym wojnę? Jeśli chcesz, mogę wysłać to jako inne pytanie.
Rohit Jain
@gertvdijk. Tymczasem możesz dodać komentarz jako odpowiedź. Zaakceptuję to. Dzięki :)
Rohit Jain
Proszę nie zadawać nowych pytań w komentarzach. Zamiast tego zadaj nowe pytanie, naciskając przycisk „Zadaj pytanie” u góry strony.
gertvdijk

Odpowiedzi:

5

Po zainstalowaniu przy użyciu tomcat7pakietu zamierzamy uruchomić i zatrzymać Tomcat za pomocą upstart ( service tomcat start) lub /etc/init.d/tomcatskryptu. Jeśli uruchomisz go za pomocą startup.shskryptu, prawdopodobnie zmienne środowiskowe zostaną niepoprawnie skonfigurowane.

Zobacz moją odpowiedź na poprzednie pytanie ( Jak zainstalować Apache Tomcat 7 do użytku z Eclipse? ), Aby uzyskać lepszy sposób instalacji Tomcat, jeśli nie chcesz uruchamiać go jako usługi.

David Edwards
źródło
Ok. Myślę, że lepiej zainstalować prywatną instancję tomcat. Czy mogę po prostu zrobić - apt-get purge tomcat7aby odinstalować poprzedni?
Rohit Jain
@RohitJain Nie. apt-getZarządza pakietami Ubuntu, a nie plikami zainstalowanymi z innego źródła. Zapoznaj się z plikiem README / INSTALL lub inną dokumentacją ze źródłowym źródłem innej zainstalowanej instancji. Unikaj uruchamiania oprogramowania ze źródła, jeśli dostępne są pakiety Ubuntu. Jak widzisz, tylko utrudniasz zarządzanie systemem.
gertvdijk
@gertvdijk. Zainstalowałem go apt-get install tomcat7tylko przy użyciu . Czy w takim przypadku mogę to odinstalować?
Rohit Jain
1

po prostu utwórz brakujący folder w następujący sposób:

sudo mkdir /var/tomcat/logs

następnie uruchom tomcat ponownie w następujący sposób:

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

Sam komunikat jest oczywisty, jeśli nie znasz hierarchii systemu plików Unix / Linux i jak on działa, gorąco polecam, abyś zaczął oglądać niektóre samouczki.

JulsLyon
źródło
0

W moim przypadku napotkałem podobny problem i tomcat7 nie chce się uruchomić.
Najwyraźniej /var/log/tomcat7folder został usunięty z powodu ponownego uruchomienia skrzynki ...

Oto jak naprawiłem:

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
źródło