Spring boot war 배포 방법에 대해 알아보도록 하겠습니다. war 파일을 Tomcat에 배포하는 방법은 다음과 같습니다.
목차
ToggleWAR 배포 방법
- 먼저, Tomcat 서버를 설치하고 실행해야 합니다. Tomcat의 공식 웹사이트에서 Tomcat 배포 파일을 다운로드하고 설치하세요.
- War 파일을 생성합니다. 일반적으로 웹 응용 프로그램을 개발할 때 Maven, Gradle 또는 Ant와 같은 빌드 도구를 사용하여 War 파일을 생성합니다. 프로젝트를 빌드하고 War 파일을 생성하세요.
- Tomcat 서버의 “webapps” 디렉토리로 War 파일을 복사합니다. 이 디렉토리는 Tomcat 서버가 웹 애플리케이션을 로드하는 곳입니다. 일반적으로 Tomcat을 설치한 디렉토리에서 “webapps” 디렉토리를 찾을 수 있습니다.
- War 파일을 “webapps” 디렉토리로 복사한 후, Tomcat 서버를 시작하거나 재시작합니다. Tomcat 서버가 시작되면서 War 파일이 자동으로 로드되고 애플리케이션이 배포됩니다.
- 가장 간단한 방법 : webapps 루트 폴더를 지우고 배포한 WAR 파일의 파일명을 ROOT.war로 변경server.xml 수정 방법 : Tomcat 설치한 경로 conf 하위에 있는 server.xml 의 <Context> 관련 태그를 추가합니다. 아래 docBase 부분에 WAR 파일의 이름만 적으면 됩니다.
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="sample-backoffice-1.2.3" reloadable="false" /> </Host>
- 배포된 웹 애플리케이션에 접근하려면 웹 브라우저에서 다음과 같이 URL을 입력하세요: “http://localhost:8080/sample-backoffice-1.2.3” (여기서 “웹앱이름”은 War 파일의 이름 또는 context path입니다).
- 웹 애플리케이션에 대한 추가적인 구성이 필요한 경우, Tomcat의 설정 파일 (예: server.xml, context.xml)을 수정하여 필요한 변경사항을 반영할 수 있습니다.
이것은 War 파일을 Tomcat에 배포하는 가장 기본적인 방법입니다. 물론, 환경에 따라 추가 구성이 필요할 수 있습니다.
WAR 상세 배포 방법
War 파일을 Tomcat에 배포하는 과정을 자세히 설명해드리겠습니다.
- Tomcat 설치 및 실행:
- Tomcat의 공식 웹사이트에서 Tomcat 배포 파일을 다운로드하고 압축을 해제하세요.
- 압축을 해제한 디렉토리를 Tomcat의 설치 디렉토리로 사용할 수 있습니다.
- 터미널 또는 명령 프롬프트에서 Tomcat의 “bin” 디렉토리로 이동하여 실행 스크립트를 실행하여 Tomcat 서버를 시작하세요.
- Windows에서는 “startup.bat” 파일을 실행하고, Unix 또는 Linux에서는 “./startup.sh” 스크립트를 실행합니다.
- Tomcat이 성공적으로 시작되면 웹 브라우저에서 “[http://localhost:8080“을](http://localhost:8080%22%EC%9D%84/) 입력하여 Tomcat 기본 환영 페이지에 접속할 수 있습니다.
- War 파일 생성:
- 웹 애플리케이션을 개발하는 도구 또는 빌드 도구를 사용하여 War 파일을 생성하세요.
- Maven을 사용하는 경우, Maven 프로젝트에서 명령어 “mvn clean package”를 실행하면 War 파일이 생성됩니다.
- Gradle을 사용하는 경우, Gradle 프로젝트에서 “gradle war” 명령어를 실행하여 War 파일을 생성합니다.
- 빌드 도구를 사용하지 않고 수동으로 War 파일을 생성할 경우, 프로젝트의 소스 코드와 웹 자원을 포함하는 디렉토리 구조를 만든 후에 디렉토리 전체를 War 파일로 압축하세요.
- War 파일 배포:
- War 파일을 Tomcat 서버의 “webapps” 디렉토리로 복사합니다.
- Tomcat 설치 디렉토리에서 “webapps” 디렉토리를 찾을 수 있습니다.
- War 파일을 “webapps” 디렉토리로 복사하면 Tomcat은 자동으로 War 파일을 인식하고 배포합니다.
- War 파일을 “webapps” 디렉토리에 복사한 후에는 Tomcat 서버를 시작하거나 재시작해야 합니다.
- Tomcat 서버 시작 및 애플리케이션 배포:
- Tomcat 서버를 시작하려면 “bin” 디렉토리에서 해당 운영체제에 맞는 실행 스크립트를 실행하세요.
- Windows에서는 “startup.bat” 파일을 실행하고, Unix 또는 Linux에서는 “./startup.sh” 스크립트를 실행합니다.
- Tomcat 서버가 시작되면 War 파일이 자동으로 로드되고 애플리케이션이 배포됩니다.
- Tomcat 로그를 확인하여 배포 프로세스가 성공적으로 완료되었는지 확인할 수 있습니다. 로그 파일은 “logs” 디렉토리에서 찾을 수 있습니다.
- 웹 애플리케이션 접근:
- 배포된 웹 애플리케이션에 접근하려면 웹 브라우저에서 다음과 같이 URL을 입력하세요: “http://localhost:8080/웹앱이름“.
- 여기서 “웹앱이름”은 War 파일의 이름 또는 context path입니다.
- 예를 들어, War 파일의 이름이 “myapp.war”이고 “webapps” 디렉토리에 복사되었다면, URL은 “http://localhost:8080/myapp“이 됩니다.
- 추가 구성:
- 배포된 웹 애플리케이션에 대한 추가적인 구성이 필요한 경우, Tomcat의 설정 파일을 수정하세요.
- 주요 설정 파일은 “conf” 디렉토리에 있습니다. 예를 들어, “server.xml” 파일은 Tomcat 서버의 전반적인 구성을 담당하며, “context.xml” 파일은 각 웹 애플리케이션의 개별 구성을 담당합니다.
- 이러한 설정 파일을 수정하여 웹 애플리케이션의 데이터베이스 연결, 보안 설정, 로깅 등을 구성할 수 있습니다.
- War 파일의 컨텍스트 패스 변경:
- 기본적으로 Tomcat은 War 파일의 파일 이름을 컨텍스트 패스로 사용합니다. 예를 들어, “myapp.war” 파일은 “http://localhost:8080/myapp“로 접근됩니다.
- War 파일을 배포한 후에 컨텍스트 패스를 원하는대로 변경하려면 “webapps” 디렉토리에 배포된 애플리케이션의 디렉토리 이름을 변경하세요. 예를 들어, “myapp” 디렉토리를 “mywebapp”으로 변경하면 컨텍스트 패스는 “http://localhost:8080/mywebapp“이 됩니다.
- 또는 “META-INF” 디렉토리에 “context.xml” 파일을 생성하여 컨텍스트 패스를 명시적으로 설정할 수도 있습니다. 이를 통해 War 파일의 파일 이름과 컨텍스트 패스를 분리할 수 있습니다.
- Tomcat 설정 파일 수정:
- 웹 애플리케이션의 추가 구성을 위해 Tomcat의 설정 파일을 수정할 수 있습니다.
- “conf” 디렉토리에 있는 “server.xml” 파일은 Tomcat 서버의 전반적인 구성을 담당합니다.
- “context.xml” 파일은 개별 웹 애플리케이션의 구성을 담당하며, 각 웹 애플리케이션의 “META-INF” 디렉토리에 위치할 수 있습니다.
- 이러한 설정 파일을 수정하여 데이터베이스 연결 정보, 보안 설정, 리소스 관리, 가상 호스팅 등을 구성할 수 있습니다.
- Tomcat 재시작:
- War 파일을 배포한 후에는 Tomcat 서버를 재시작하는 것이 좋습니다. 이를 통해 배포된 웹 애플리케이션이 제대로 로드되고 실행됩니다.
- Tomcat 서버를 중지하려면 “bin” 디렉토리에서 해당 운영체제에 맞는 실행 스크립트를 실행하세요. (예: “shutdown.bat” 또는 “./shutdown.sh”)
- Tomcat 서버가 완전히 중지된 후에 다시 시작해주세요.
- 컨텍스트 파일 생성:
- Tomcat의 “conf” 디렉토리 내에 있는 “Catalina” 디렉토리에 웹 애플리케이션의 컨텍스트 파일을 생성할 수 있습니다.
- 컨텍스트 파일은 웹 애플리케이션의 고유한 설정을 포함하며, 해당 웹 애플리케이션에 대한 개별적인 환경을 구성할 수 있습니다.
- “Catalina” 디렉토리 내에 웹 애플리케이션의 컨텍스트 파일을 생성합니다. 파일 이름은 일반적으로 웹 애플리케이션의 컨텍스트 패스와 일치하는 이름을 가지며, “.xml” 확장자를 사용합니다.
- 컨텍스트 파일에는 웹 애플리케이션의 리소스, 데이터베이스 연결, 보안 설정 등을 구성할 수 있습니다.
- 추가 리소스 및 구성 파일:
- 웹 애플리케이션에 추가적인 리소스나 구성 파일이 필요한 경우, 해당 파일을 웹 애플리케이션의 디렉토리 구조에 추가합니다.
- 예를 들어, 웹 애플리케이션에서 사용할 프로퍼티 파일이 있다면, War 파일 내에 해당 파일을 포함시켜야 합니다.
- 프로퍼티 파일을 추가한 후에는 웹 애플리케이션에서 해당 파일을 로드하여 필요한 설정을 읽을 수 있습니다.
- 자동 배포 설정:
- Tomcat은 기본적으로 “webapps” 디렉토리 내의 모든 War 파일을 자동으로 배포합니다.
- 하지만 웹 애플리케이션을 수동으로 배포하고 싶거나, 배포하지 않을 웹 애플리케이션이 있다면, Tomcat의 “conf” 디렉토리의 “server.xml” 파일에서 해당 웹 애플리케이션의
<Context>
요소에 **deployOnStartup="false"
**를 설정합니다. - 이렇게 설정하면 Tomcat이 해당 웹 애플리케이션을 자동으로 배포하지 않고, 수동으로 배포해야 합니다.
- 컨텍스트 설정:
- 웹 애플리케이션의 특정 컨텍스트 설정을 변경하고자 할 때는 Tomcat의 “conf” 디렉토리 내의 “Catalina” 디렉토리에 웹 애플리케이션의 컨텍스트 파일을 생성하고 수정합니다.
- 해당 컨텍스트 파일에는 웹 애플리케이션에 대한 추가적인 설정을 포함할 수 있습니다.
- 예를 들어, 특정한 URL 패턴으로 접근 제한을 설정하거나, 인증 및 권한 부여 설정을 구성할 수 있습니다.
- War 파일의 배포 및 업데이트:
- War 파일을 배포한 후에 웹 애플리케이션의 업데이트를 수행하려면 다음과 같은 절차를 따릅니다:
- Tomcat 서버를 중지합니다.
- “webapps” 디렉토리에서 해당 웹 애플리케이션의 디렉토리를 삭제합니다.
- 업데이트된 War 파일을 “webapps” 디렉토리에 복사합니다.
- Tomcat 서버를 다시 시작합니다.
- War 파일을 배포한 후에 웹 애플리케이션의 업데이트를 수행하려면 다음과 같은 절차를 따릅니다:
- War 파일의 제거:
- 배포된 웹 애플리케이션을 제거하고자 할 때는 다음과 같은 절차를 따릅니다:
- Tomcat 서버를 중지합니다.
- “webapps” 디렉토리에서 해당 웹 애플리케이션의 디렉토리를 삭제합니다.
- Tomcat 서버를 다시 시작합니다.
- 배포된 웹 애플리케이션을 제거하고자 할 때는 다음과 같은 절차를 따릅니다:
- 배포 디렉토리의 변경:
- 기본적으로 Tomcat은 War 파일을 “webapps” 디렉토리에 배포합니다. 하지만 배포 디렉토리를 변경하고자 할 때는 다음과 같은 절차를 따릅니다:
- Tomcat 서버를 중지합니다.
- “conf” 디렉토리 내의 “server.xml” 파일을 엽니다.
<Host>
요소 내에서<Context>
요소를 추가하고, “docBase” 속성에 배포 디렉토리의 경로를 설정합니다.- Tomcat 서버를 다시 시작합니다.
- 기본적으로 Tomcat은 War 파일을 “webapps” 디렉토리에 배포합니다. 하지만 배포 디렉토리를 변경하고자 할 때는 다음과 같은 절차를 따릅니다:
위의 설명을 따라하면 War 파일을 Tomcat에 배포할 수 있습니다. 이상으로 WAR 배포 방법에 대해 알아보았습니다.
자동배포 방법이 궁금하신 분은 아래 링크를 참고 바랍니다.
https://confluence.curvc.com/pages/releaseview.action?pageId=101548224