PlayFramework 1. x 생산 환경 배치 소스 코드 컴 파일
우선 공식 문 서 를 살 펴 봤 습 니 다. 1.4.x/deployment 정부 에서 몇 가지 방식 을 언급 하 였 다.
1. 독립 된 play 응용 프로그램 (앞 에는 nginx 또는 apache)
1.4. x / production 이런 방식 은 play 가 아직도 자주 사용 하 는 방법 으로 작 동 하 는 것 이다. 예 를 들 어
play start app
이러한 방식 은 play 앞에서 nginx 의 프 록 시 와 부하 균형 을 맞 추 면 됩 니 다. play 는 PROD 모드 를 제공 합 니 다. PROD 모드 에서 코드 의 실시 간 검색 과 열 배치 기능 을 닫 고 데이터 베이스 연결 을 미리 초기 화 하 는 등 작업 을 하여 성능 을 향상 시 킵 니 다. 그러나 이런 모델 은 가장 큰 문 제 는 소스 코드 도 서비스 에 배치 해 야 한 다 는 것 입 니 다.그래서 우 리 는 두 번 째 방식 을 시도 했다.2. 자바 EE 서버 사용
1.4. x / deployment, 예 를 들 어 자주 사용 하 는 Tomcat, Jetty 등 은 우리 가 일반적으로 SpringMVC 프로젝트 를 개발 하 는 것 과 마찬가지 로 최종 프로젝트 는 War 패 키 지 를 생산 한 다음 에 이런 미들웨어 에 배치 합 니 다.
play 는 관련 명령 을 제공 합 니 다:
play war myapp -o myapp.war
그러나 우 리 는 이런 방식 을 사용 한 후에 이상 한 문 제 를 발견 했다. 예 를 들 어 관련 자원 이 로드 되 지 않 는 등 인터넷 에서 도 일부 친구 들 이 이상 한 문 제 를 만 났 다. https://github.com/playframework/play1/issues/1206 결국 우리 도 이런 방법 을 포기 했다.
3. precompile 방식 사용
이 문 제 를 연구 할 때, 나 는 play 의 명령 행 옵션 을 살 펴 보고 명령 하 나 를 발견 했다.
precompile Precompile all Java sources and templates to speed up application start-up
이 명령 의 설명 은 모든 자바 소스 코드 와 템 플 릿 을 미리 컴 파일 하여 프로젝트 의 시작 을 가속 화 하 는 것 입 니 다. 나중에 오래된 버 전 문서 에서 최종 솔 루 션 war - archives - are - fully - precopiled 를 발견 하 였 습 니 다.
play start myApp -Dprecompiled=true
precopile 을 미리 사용 하여 모든 원본 코드 를 컴 파일 한 다음 통과 할 수 있 습 니 다.
play start myApp -Dprecompiled=true
프로젝트 를 직접 시작 하 는 방식 으로 소스 코드 가 필요 하지 않 습 니 다. 그러면 우리 의 실제 구축 과정 은 바로play clean
play deps --verbose
play precompile
zip -r web.zip conf modules lib precompiled public
캐 시 를 정리 하고 의존 도 를 불 러 오고 미리 컴 파일 한 다음 zip 파일 로 포장 한 다음 생산 환경 에서
play start web -Dprecompiled=true
됐어 요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.