# arko_renual 개발서버 Tomcat 서비스 # 설치 위치: /etc/systemd/system/arko-dev.service # # 이 서버(zio-server)의 기존 서비스들과 같은 방식(systemd 직접 관리)을 따른다. # # 힙 448m — 처음엔 768m로 잡았다가 낮췄다. 이 서버는 40여 개 서비스가 동거해 # 평상시 가용 메모리가 1G 안팎이고, 2026-07-29 Tomcat 재기동 직후 서버 전체가 # 응답 불능이 되어 재부팅된 일이 두 번 있었다. arko는 기동 시 JSP 컴파일로 # 메모리를 크게 쓰므로 상한을 낮춰 다른 서비스를 밀어내지 않도록 한다. # 늘리려면 반드시 free -h 로 여유를 먼저 확인할 것. [Unit] Description=arko_renual DEV (Tomcat 9, csv.zioinfo.co.kr, :8088) After=network.target mariadb.service Wants=mariadb.service [Service] Type=forking Environment="JAVA_HOME=/opt/arko-dev/jdk8" Environment="CATALINA_HOME=/opt/arko-dev/tomcat" Environment="CATALINA_BASE=/opt/arko-dev/tomcat" Environment="CATALINA_PID=/opt/arko-dev/tomcat/temp/tomcat.pid" # headless: 이미지 처리(썸네일) 시 X11 없는 환경에서 죽지 않도록 # Asia/Seoul: 로그·배치 시각을 서버 다른 서비스와 맞춘다 # ExitOnOutOfMemoryError: OOM으로 반쯤 죽은 채 살아있느니 죽고 재기동하는 편이 낫다 Environment="CATALINA_OPTS=-Xms192m -Xmx448m -XX:MaxMetaspaceSize=192m -XX:+ExitOnOutOfMemoryError -Djava.awt.headless=true -Duser.timezone=Asia/Seoul -Dfile.encoding=UTF-8" ExecStart=/opt/arko-dev/tomcat/bin/startup.sh ExecStop=/opt/arko-dev/tomcat/bin/shutdown.sh 30 -force # arko는 첫 기동 시 JSP 컴파일로 60~90초가 걸린다 TimeoutStartSec=300 TimeoutStopSec=90 Restart=on-failure RestartSec=15 # 배포 스크립트가 webapps/ROOT를 갈아끼우므로 파일 접근 제약은 걸지 않는다 User=root Group=root UMask=0027 [Install] WantedBy=multi-user.target