Я установил tomcat6 в Debian, и он работал нормально после установки из apt-get, но не после перезапуска.
Я запускаю /etc/init.d/tomcat6 start
(или перезапустите), но netstat не показывает открытый порт 8080 как настроенный.
/ect/init.d/tomcat6 status
дает Tomcat servlet engine is running with pid 1138.
В /var/log/tomcat6/
создаются три файла журнала (localhost * .log, catalina * .log и catalina.out, все пустые.
Я ничего не вижу в системном журнале Tomcat. После перезапуска он был привязан к IPv6, поэтому я добавил JAVA_OPTS в /usr/share/tomcat6/bin/catalina.sh
:
-Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses
Среда - это VPS, 80 МБ свободной памяти + 256 МБ подкачки, поэтому добавлены еще варианты из другого вопроса в SO: -XX:MaxPermSize=64m -Xms16M -Xmx64m
Но ничего не помогает, ничего не логируется. Как найти проблему?
никакие другие службы не привязаны к этому порту, и firawall не является причиной, потому что он работал после новой установки (и также переустанавливается, но всегда ломается после перезапуска)
Tomcat не выводит ошибки или информацию в системный журнал.
Попробуйте найти файл catalina.out и проверить в нем сообщения.
Вот и разобрался. Кажется, что эта проблема касается не только tomcat, а всего, что связано с java на VPS с одно виртуальное ядро
Кроме того, не только выполнение java, но и компилятор java. При компиляции java иногда (случайным образом) я получаю сообщение об ошибке из файла .cpp (источник java?) О сбое функции блокировки / разблокировки, связанной с многопоточностью.
После запроса поддержки VPS, чтобы разделить мой виртуальный процессор 1 ГГц на два ядра по 0,5 ГГц каждое, tomcat работает без проблем.