공부?/국비 지원 일기장
프로젝트 진행중
무무요
2024. 9. 28. 02:49
3 tier 구성
WAS = ubuntu Linux 20.04 , Tomcat 9 사용
DB = ubuntu 20.04 mariadb 사용
DB Backup = ubuntu 20.04 mariadb 사용
WAS tomcat 구성
1. tomcat 다운로드
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.75/bin/apache-tomcat-9.0.75.tar.gz
압축 해제
tar -xvzf apache-tomcat-9.0.75.tar.gz
설치 디렉터리 이동
mv apache-tomcat-9.0.75.tar.gz /opt/tomcat
Tomcat 서비스 설정
- systemd 서비스 파일을 만들어서 tomcat을 시스템 서비스로 등록한다.
vi /etc/systemd/system/tomcat.service
아래 내용 넣기
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
User=root
Group=root
Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
Environment=CATALINA_HOME=/opt/tomcat
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
원래 예제에서 type=simple로 했더니 안되는 상황이 발생.
"simple" (기본값) 유닛이 시작된 경우 즉시 systemd 는 유닛의 시작이 완료되었다고 판단한다. 다른 유닛과 통신하기 위해 소켓을 사용하는 경우 이러한 설정을 사용하면 안된다.
- 다른 유닛과 통신을 위한거니 simple을 제외, type=forking 으로 변경
"forking" 자식 프로세스를 생성이 완료되는 단계까지를 systemd 가 시작이 완료되었다고 판단하게 된다. 부모 프로세스를 추적할 수 있도록 PIDFile= 필드에 PID 파일을 선언해 주어야 한다.
톰캣 한글 깨짐 방지
vi /opt/tomcat/conf/server.xml
maxParameterCount .. 밑에 부분에
URIEncoding="UTF-8" 추가
톰캣 서비스 실행
systemctl daemon-reload
systemctl start tomcat
systemctl enable tomcat
was 서버의 ip 뒤에 포트 8080을 붙여 접속
접속 성공