톰캣(Tomcat) 서비스 등록 및 실행(리눅스기준)

2023. 12. 4. 15:50개인노트

반응형

요즘은 보통 내장톰캣을 가지고 있는 spring boot를 그대로 쓰거나 도커로 만들어서 사용하는 경우가 많지만 현 회사의 환경에는 톰캣을 별도로 서비스로 등록하여 사용하고 있었다.

여기서 기준은 /usr/local/tomcat 이라는 경로에 기존에 설치된 톰캣이 있다는 가정하에 하나 더 추가하여 서비스에 등록하고 수행하기 위한 프로세스이다.

 

1.  현재 개발서버는 톰캣2개를 사용할 것이므로 tomcat2라는 계정 및 그룹을 생성한다.

  • 신규 톰캣용 유저 그룹 및 유저 생성
groupadd tomcat2 
//로그인 금지 tomcat2그룹지정 기본디렉토리 위치 지정 사용자명 
useradd -M -s /bin/nologin -g tomcat2 -d /usr/local/tomcat2 tomcat2 

//그룹확인 
cat /etc/group 

//계정확인 
cat /etc/passwd

2. 기존 톰캣파일을 복사 및 폴더 소유권을 부여한다.

sudo cp -r /usr/local/tomcat /usr/local/tomcat2
// tomcat2유저tomcat2그룹
sudo chown -R tomcat2:tomcat2 /usr/local/tomcat2

3. 서비스 파일을 생성한다.

서비스파일 생성

(systemctl status tomcat2와 같이 시스템 명령어로 사용하기 위한 파일)

(파일이름이 명령어 대상이 된다 tomcat2.service 이기에 명령어에서 tomcat2로 잡음.)

vi /usr/lib/systemd/system/tomcat2.service

 

서비스 파일 내용

[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target

[Service]
Type=forking

Environment="JAVA_HOME=/usr/local/java"
Environment="CATALINA_PID=/usr/local/tomcat2/temp/tomcat.pid"
Environment="CATALINA_HOME=/usr/local/tomcat2"
Environment="CATALINA_BASE=/usr/local/tomcat2"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"

ExecStart=/usr/local/tomcat2/bin/startup.sh
ExecStop=/usr/local/tomcat2/bin/shutdown.sh

User=tomcat2
Group=tomcat2
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

 

4. 시스템 명령어를 사용하기위해 데몬 reload

systemctl daemon-reload

 

5. 서비스 명령어로 수행가능 확인

systemctl status tomcat2
systemctl start tomcat2
systemctl stop tomcat2
systemctl restart tomcat2

 

 

참고하면 좋은 블로그

[Centos7] root 계정이 아닌 일반 계정으로 Apache Tomcat 실행하기

 

[Centos7] root 계정이 아닌 일반 계정으로 Apache Tomcat 실행하기

[Centos7] root 계정이 아닌 일반 계정으로 Apache Tomcat 실행하기 root계정으로 톰캣 실행 시 보안측면에서 문제가 발생한다. root 계정이기 때문에 마음대로 파일 업로드를 하거나 업로드한 파일을 이

jiurinie.tistory.com

 

반응형