nginx - JAVA 프로젝트 WAR 패키지 배포에 적용 가능한 시나리오는 무엇입니까?
typecho
typecho 2017-06-17 09:17:11
0
2
2140

프로젝트를 배포할 때 항상 폴더를 사용하여 프로젝트를 배포합니다. 최근 WAR 패키지 프로젝트 배포를 사용하려고 시도했는데 다음과 같은 문제가 발생했습니다.

  • 업로드된 파일 위치는 로컬 경로를 지정하지만, 프로젝트와 독립적이므로 접근하려면 프로젝트를 별도로 구성해야 합니다

  • 회사에서 프로젝트 수가 많을 경우(서버 1개에 200개 정도, 서버 20개 정도) 프로젝트 하나당 이렇게 구성되어 있어서 운영 및 유지관리 작업이 엄청 무겁습니다

  • 점검시 CSS나 JS 파일 하나만 조정했는데, 리패키징해서 출시해야 했어요

이전 폴더 방식과 비교하면 정말 번거롭습니다. 경험이 있는 학생들에게 묻고 싶습니다.

  1. WAR 패키지를 사용하면서 어떤 애플리케이션 시나리오를 접해보셨나요?

  2. 발생한 문제를 어떻게 해결하나요?

typecho
typecho

Following the voice in heart.

모든 응답(2)
刘奇

다음은 저의 실제 운영 및 유지보수 경험입니다.

  1. war 패키지를 한 번만 생성하고 다양한 환경에 적용할 수 있도록 구성은 프로젝트와 독립적이어야 합니다.

  2. SaltStack, Ansible 또는 Jenkins와 같은 자동화된 운영 및 유지 관리 도구를 사용하여 일괄 작업을 수행할 수 있습니다.
  3. 정적 리소스가 자주 변경될 것으로 예상되는 경우 이를 Java 프로젝트에서 분리하여 다른 사이트에 배포하거나 전환을 위해 nginx를 사용하는 것이 가장 좋습니다.
  4. War 파일의 압축을 풀도록 프로그램을 배포하고(Tomcat이 자동으로 압축을 풀도록 하는 대신) Tomcat을 중지하고 ln -s를 사용하여 ROOT 디렉터리를 새 디렉터리로 지정한 다음 Tomcat을 시작하여 Tomcat이 더 원활하게 실행됩니다.

  5. 지금은 이전 디렉터리를 삭제하지 마세요. 배포가 잘못된 경우 ln -s를 사용하여 ROOT 디렉터리를 이전 디렉터리로 전환하면 빠른 롤백이 가능합니다.

大家讲道理

실제 경험:
내가 처리한 프로젝트는 모두 weblogic에 디렉토리 형식으로 게시되어 있습니다. 디렉토리 구조:

으아악

시작, 중지, 모니터링, 업데이트 등을 포함한 운영 및 유지 관리 작업을 자동화하기 위해 이 표준 구조에 따라 여러 쉘 스크립트를 작성했습니다. 실제로는 며칠 밖에 걸리지 않았고 코드도 많지 않았지만 이제는 수동으로 수행하지 않습니다. 다시 한 번 운영 및 유지 관리 문제에 대해 설명합니다.

기본 프로세스는 다음과 같습니다. 코드 개발 제출-->SVN 증분 업데이트 패키지 내보내기-->서버에 업로드-->서버에서 실행

HTML 페이지를 변경하면 다시 패키징해야 합니다. 잘못된 파일을 입력하면 어떻게 되나요? 정적은 따로 출시할 수 있는데 그냥 JAVA만 바꾸면 다시 패키징해야 하는데 그럴 자격이 있나요?

실제로 war 패키지의 애플리케이션을 게시하고 제공하는 컨테이너는 없습니다. war 패키지는 압축된 형식입니다. 요청을 처리할 때마다 모든 컨테이너가 압축 파일의 리소스를 읽을 수 있도록 해야 합니다. 성능 문제가 있을 것입니다(적어도 JSP의 경우).

이것은 일부 소규모 프로젝트를 위한 개인적인 솔루션입니다. 대규모 프로젝트의 경우 지속적인 통합 등의 전체 프로세스 도구 체인이 필요할 수 있습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿