LINUX.ORG.RU
ФорумAdmin

Запуск Tomcat как Upstart job

 ,


1

1

Привет всем.

Возникла необходимость поработать с Tomcat. Что имеется: седьмая версия Tomcat, установленная в /opt, Oracle JDK установленная туда же. Для того чтобы автоматом поднимать Tomcat при старте системы, был написан следующий скрипт /etc/init/tomcat7.conf:

respawn
setuid kirill
setgid kirill
script
export JDK_HOME="/opt/jdk7"
export JAVA_HOME="/opt/jdk7"
exec /opt/tomcat7/bin/startup.sh
end script

Даю команду start tomcat7:

root@haruhi:~# start tomcat7
tomcat7 start/running, process 9285
, а потом проверяю статус задания
root@haruhi:~# status tomcat7 
tomcat7 stop/waiting

Это явно ненормально. Где я мог допустить ошибку? Всем большое спасибо за ответы по теме.

★★★★★

Последнее исправление: LongLiveUbuntu (всего исправлений: 1)

Поставь сам необходимые JDK_HOME, JAVA_HOME и запусти /opt/tomcat/bin/startup.sh. Посмотри не упадет ли.

И почему между exec и скриптом нет пробела?

Плюс попробуй просто запустить catalina.sh, но через start-stop-daemon

vertexua ★★★★★
()
Ответ на: комментарий от LongLiveUbuntu

Не, я предлагал разово в консоли чтобы определить запускается ли он в принципе с такими переменными

vertexua ★★★★★
()

Кстати, если в бубунте поставить томкат 7 через apt-get, то он делает job, но не в апстарт, а в /etc/init.d. Так не покатит?

vertexua ★★★★★
()
Ответ на: комментарий от vertexua
root@haruhi:~# /opt/tomcat7/bin/catalina.sh start
Using CATALINA_BASE:   /opt/tomcat7
Using CATALINA_HOME:   /opt/tomcat7
Using CATALINA_TMPDIR: /opt/tomcat7/temp
Using JRE_HOME:        /opt/jdk7
Using CLASSPATH:       /opt/tomcat7/bin/bootstrap.jar:/opt/tomcat7/bin/tomcat-juli.jar
LongLiveUbuntu ★★★★★
() автор топика
Ответ на: комментарий от vertexua

Я знаю, что можно поставить его штатно, но там непонятно, какую писать CATALINA_HOME. Как ты решаешь этот вопрос?

LongLiveUbuntu ★★★★★
() автор топика
Ответ на: комментарий от LongLiveUbuntu

Если поставить штатно, но совсем не понятно зачем что-то куда-то писать. Он абсолютно идеально работает искаропки.

sudo apt-get install tomcat7

sudo /etc/init.d/tomcat7 start

vertexua ★★★★★
()
Ответ на: комментарий от LongLiveUbuntu

А, там ситуация чуть другая.

Есть файлы томката которые под его пользователем. NetBeans для разработки так не хочет, он хочет взять файлы с этого томката, и скопировать их в независимую папку у тебя в хомяке, чтобы иметь возможность менеджить томкат разработчика самому.

Потому не помню как называется, но ему нужно указать две папки. Одна папка с томкатом, для убунты - /var/lib/tomcat7. Другая папка - пустая у тебя в хомяке чтобы он там сделал независимый томкат и сам его конфигурировал, сам запускал и сам деплоил в webapps. Так что не забудь потушить системный томкат sudo /etc/init.d/tomcat7 stop. Или попросит нетбинс юзать другой порт

vertexua ★★★★★
()
Ответ на: комментарий от vertexua

Кстати изначальный томкат тоже вроде не обязательный, нетбинс умеет напрямую с интернета скачать томкат тебе в хомяк

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от vertexua

Вот эти две папки как раз и есть CATALINA_BASE и CATALINA_HOME. В случае обычной установки они совпадают

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от vertexua

Какая прелесть:

root@haruhi:~# apt-get install tomcat7
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Некоторые пакеты невозможно установить. Возможно, вы просите невозможного,
или же используете нестабильную версию дистрибутива, где запрошенные вами
пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, поможет вам:

Пакеты, имеющие неудовлетворённые зависимости:
 tomcat7 : Зависит: tomcat7-common (>= 7.0.26-1ubuntu1.2) но он не будет установлен
E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.

LongLiveUbuntu ★★★★★
() автор топика
Ответ на: комментарий от vertexua

Блин, с GlassFish все работает. Может ну его, этот Tomcat? Просто меня ущемило: пока не настрою и не запущу успешно на нем хотя бы хелловорлд - не успокоюсь.

LongLiveUbuntu ★★★★★
() автор топика
Ответ на: комментарий от LongLiveUbuntu

Все нормальные поцоны уже на Jetty (so slow пердуны, слезшие с томката, не знающие что Jetty+Spring уже не модньо), JBoss/Wildfly. На крайняк Resin

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от vertexua

Я пошутил, с томкатом все в порядке. Решать проблему нужно с убунтой

vertexua ★★★★★
()
Ответ на: комментарий от LongLiveUbuntu

Но насчет GF не ведись, то что завелось с NetBeans лишь значит что из пилит одна огранизация. GF - жирный, упоротый и тормозной, хотя деплой из действительно NB моментальный

Хорошие Java EE Full Profile сервера - JBoss AS/Wildfly

Хорошие сервлет контейнеры - Jetty, Tomcat 7, Resin

vertexua ★★★★★
()

setuid kirill
setgid kirill

Что в логах твоего томката\каталины? Вангую жабавскую ругань на «нет доступа».

root@haruhi:~# /opt/tomcat7/bin/catalina.sh start

Зачем тут ты его запускаешь от рута?

bhfq ★★★★★
()
Последнее исправление: bhfq (всего исправлений: 1)
Ответ на: комментарий от bhfq
kirill@haruhi:~$ start tomcat7 
start: Rejected send message, 1 matched rules; type="method_call", sender=":1.101" (uid=1000 pid=8974 comm="start tomcat7 ") interface="com.ubuntu.Upstart0_6.Job" member="Start" error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init")

Это когда из-под своего юзера запустил.

LongLiveUbuntu ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.