
저는 고객과 우리 자신의 사용을 위해 꽤 많은 서버를 호스팅하고 있습니다. 이 모든 서버는 Debian Stable을 실행합니다. 모든 서버는 가상 서버입니다. 이는 자동 업데이트로 인해 머신 중 하나가 종료될 경우를 대비한 것입니다. 어젯밤의 스냅샷으로 교체하기만 하면 모든 것이 다시 완벽해집니다.
이제 이러한 서버 중 일부는 Tomcat 애플리케이션을 실행합니다. 이러한 Tomcat 애플리케이션 중 하나에는 기본 Tomcat 할당보다 더 많은 메모리가 필요합니다. 지금까지 나는 /etc/init.d/tomcat7에 메모리 할당을 추가하는 것을 선호했지만 catalina.sh에 직접 있는 서버도 있었습니다.
오늘 Tomcat이 중지되는 문제를 겪은 후 메모리 할당이 갑자기 사라진 것을 발견했습니다. 우리는 자동 업데이트 구성을 생각해 보았는데, 실제로 cron-apt 로그 파일을 보면 4월 말에 tomcat 업데이트가 있었던 것으로 나타났습니다. 따라서 우리는 이번 업데이트가 두 파일을 모두 덮어쓸 가능성이 가장 높다고 생각합니다.
이제 Tomcat은 사용자 tomcat7(및 그룹 tomcat7)로 실행됩니다. 사용자는 /usr/share/tomcat7을 홈으로 갖고 있으며 메모리 할당을 더 잘 배치할 수 있는 대화형 쉘이 없습니다.
업데이트가 불가능한 상태에서 tomcat7 사용자가 메모리를 설정하기 위해 JAVA_OPTS 변수를 내보낼 수 있는 올바른 위치는 어디입니까?
답변1
일반적 으로 Tomcat (CATALINA_HOME) 에 있어야 합니다 JAVA_OPTS
.setenv.sh
bin
/usr/share/tomcat7/
이 파일이 없으면 파일을 생성하고(/usr/share/tomcat7/bin/setenv.sh) +x 비트를 설정할 수 있습니다.
이것을 빈 파일에 넣으세요:
JAVA_OPTS="$JAVA_OPTS <your params>"
해당 파일은 업데이트로 덮어쓰여지지 않습니다.
참고: $JAVA_OPTS
이전 값을 완전히 덮어쓰려면 제거하세요.