Распределение памяти Tomcat удалено автоматическими обновлениями

Я размещаю довольно много серверов для клиентов и для нашего собственного использования. Все эти серверы работают под управлением Debian Stable. Все серверы являются виртуальными серверами. Это на случай, если автоматическое обновление убьет одну из машин: просто замените его снимком с прошлой ночи, и все снова будет превосходным.

Теперь некоторые из этих серверов запускают приложения Tomcat. Одно из этих приложений Tomcat требует больше памяти, чем выделение по умолчанию Tomcat. До сих пор я предпочел добавить выделение памяти в /etc/init.d/tomcat7, однако у нас также были серверы, где это было непосредственно в catalina.sh.

После проблемы, которую Tomcat остановил сегодня, мы обнаружили, что распределение памяти внезапно исчезло. Мы подумали о настроенных автоматических обновлениях, и, действительно, файлы журнала cron-apt показали, что в конце апреля произошло обновление tomcat. Поэтому мы думаем, что это обновление, скорее всего, перезапишет оба файла.

Теперь Tomcat запускается от имени пользователя tomcat7 (а также группы tomcat7). Пользователь имеет /usr/share/tomcat7 в качестве домашней страницы и не имеет интерактивной оболочки для лучшего размещения выделенной памяти).

Где было бы правильное место для экспорта переменной JAVA_OPTS, чтобы пользователь tomcat7 мог установить память, оставаясь при этом защищенным от обновления?

1 ответ

Решение

Обычно JAVA_OPTS должен быть в setenv.sh находится в коте bin ты должен найти это в /usr/share/tomcat7/ (CATALINA_HOME).

Если этот файл отсутствует, вы можете создать его (/usr/share/tomcat7/bin/setenv.sh) и установить +x бит.

Просто поместите это в пустой файл:JAVA_OPTS="$JAVA_OPTS <your params>"

Этот файл не будет перезаписан обновлениями.

Примечание: удалить $JAVA_OPTS если вы хотите полностью перезаписать любое предыдущее значение.

Другие вопросы по тегам