Распределение памяти 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
если вы хотите полностью перезаписать любое предыдущее значение.