Назад | Перейти на главную страницу

Запуск tomcat с помощью init.d работает, но не с помощью службы

Tomcat 7 из репозитория и Debian Wheezy.

Если я попытаюсь запустить Tomcat с помощью службы, это не сработает.

service tomcat7 start
[FAIL] no JDK found - please set JAVA_HOME ... failed!

Но переменная есть

/var/lib/tomcat7/conf# echo $JAVA_HOME
/usr/lib/jvm/java-7-oracle

Если я попробую из init.d, он сработает

/etc/init.d/tomcat7 start
[ ok ] Starting Tomcat servlet engine: tomcat7.

Глядя в / etc / inittab

# The default runlevel.
id:2:initdefault:

По умолчанию, кажется, 2

Итак, заглядывая в /etc/rc2.d

lrwxrwxrwx 1 root root  17 Nov 18 22:50 S01tomcat7 -> ../init.d/tomcat7

Кажется, это всегда относится к одному и тому же /etc/init.d/tomcat7, и я не понимаю, почему он не работает (жалуется на java) ..

Когда вы запускаете сценарий инициализации напрямую, используется среда вашей оболочки. Когда вы запускаете служебную команду, это не так. Вы должны установить JAVA_HOME в / и т.д. / по умолчанию / tomcat7.

Вам необходимо создать переменную среды с именем JAVA_HOME со значением пути к каталогу вашей установки Java.

Если вы выполняете развертывание, используйте путь jre, если вам нужен доступ к инструментам разработки, используйте путь jdk.