세 가지 다른 모드 (출처 : Magento U Fundamentals 과정)를 명확히하기 위해. 굵게 표시되어있는 질문과 관련된 특정 사항입니다.
개발자 모드
- 정적 파일 구체화가 활성화되지 않았습니다.
- 브라우저에 포착되지 않은 예외가 표시됨
- 오류 처리기에서 예외가 발생하고 기록되지 않음
var/report
자세한 시스템 로그인 .
사용자 정의 또는 확장을 개발하는 동안 개발자 모드를 사용해야합니다. 이 모드의 주요 이점은 오류 메시지가 표시된다는 것입니다. 성능에 영향을 미치므로 프로덕션 환경에서 사용해서는 안됩니다. 개발자 모드에서는 정적보기 파일이 요청 될 때마다 생성됩니다. pub/static
디렉토리에 기록 되지만이 캐시는 사용되지 않습니다. 이는 성능에 큰 영향을 주지만 개발자가 파일을보기 위해 변경 한 내용은 즉시 볼 수 있습니다.
포착되지 않은 예외는 기록되지 않고 브라우저에 표시됩니다. 이벤트 구독자를 호출 할 수 없을 때마다 예외가 발생합니다.
var/report
이 모드 에서는 시스템 로그인 이 매우 상세합니다.
생산 모드
- 프로덕션 시스템의 배포 단계 최고의 성능
- 예외는 사용자에게 표시되지 않으며 로그에만 기록됩니다.
- 이 모드는 정적 파일 구체화를 비활성화합니다.
- Magento docroot는 읽기 전용 권한을 가질 수 있습니다.
Magento가 프로덕션 서버에 배포되면 프로덕션 모드에서 Magento를 실행해야합니다.
생산 모드는 Magento 2에서 최고의 성능을 제공합니다.
이 모드의 가장 중요한 측면은 오류가 파일 시스템에 기록되고 사용자에게 표시되지 않는다는 것입니다. 이 모드에서는 정적보기 파일이 요청 될 때 즉시 작성되지 않습니다. 대신 pub/static
명령 행 도구를 사용하여 디렉토리에 배치해야합니다 . 생성 된 페이지에는 배치 된 페이지 자원에 대한 직접 링크가 포함됩니다.
파일보기를 변경하려면 배치 도구를 다시 실행해야합니다.
보기 파일은 CLI 도구를 사용하여 배포되므로 웹 사용자는 쓰기 권한이 있어야합니다. Magento pub/static
디렉토리는 읽기 전용 권한을 가질 수 있으며, 이는 공개적으로 액세스 가능한 서버에서보다 안전한 설정입니다.
기본 모드
- 다른 모드가 지정되지 않은 경우 사용
- 사용자로부터 예외를 숨기고 로그 파일에 씁니다.
- 정적 파일 구체화가 활성화되었습니다.
- 생산에 권장되지 않거나 최적화되지 않음 : 캐싱은 성능에 부정적인 영향을 미칩니다.
이름에서 알 수 있듯이 기본 모드는 다른 모드를 지정하지 않은 경우 Magento 소프트웨어가 작동하는 방식입니다.
이 모드에서는 오류가 파일에 기록되고 var/reports
사용자에게 표시되지 않습니다. 정적 뷰 파일은 즉시 구체화 된 후 캐시됩니다.
개발자 모드와 달리,보기 파일 변경 사항은 생성 된 정적보기 파일이 지워질 때까지 표시되지 않습니다.
기본 모드는 프로덕션 환경에 최적화되어 있지 않습니다. 주로 정적 파일을 미리 생성하여 배포하지 않고 즉시 구체화하는 성능에 부정적인 영향을 미치기 때문입니다 .
즉, 정적 파일을 즉석 에서 생성하고 캐싱하면 정적 파일 작성 명령 줄 도구를 사용하여 생성하는 것보다 성능에 더 큰 영향을 미칩니다.