Daily Develope

[Laravel] Configuration 환경설정 정리 본문

Develope/Web

[Laravel] Configuration 환경설정 정리

noggame 2022. 4. 21. 11:27

 

Environment

 

ㅇ .env 파일

  • config 폴더내 정의된 환경설정들을 Laravel의 env function을 통해 불러와, 프로젝트 실행에 필요한 환경 설정값을 정의
  • server-level 이나 system-level의 외부 환경변수들로부터 override 될 수 있다
  • 서버마다 다른 설정과 자격 증명과 같은 보안상 민감한 정보가 포함될 수 있어, 외부에 공개되지 않는 것이 좋다
  • 실행 과정에서 정의된 APP_ENV 환경 변수나 CLI로부터 입력된 --env 옵션을 확인하며, 별도 정의된 경우에는 .env.[APP_ENV] 파일을 환경 파일로 사용하고 그렇지 않다면 default인 .env 파일을 불러와 사용

 


 

​Config

 

ㅇ config 폴더 내 configuration 변수를 정의해두면 application 어디에서나 사용 가능

ㅇ 예시)

- 사용

$value = config('app.timezone');
 
// app.timezone이 정의되지 않은 경우 'Asia/Seoul'값으로 사용
$value = config('app.timezone', 'Asia/Seoul');

- 변경

config(['app.timezone' => 'America/Chicago']);

- 개발 이후, 배포 단계에서는 아래 명령으로 정의된 config 파일들을 하나의 파일로 캐싱(cache)해 성능을 높일 수 있다.

php artisan config:cache

 


 

Mode

 

ㅇ Debug mode

- config/app.php 에서 활성화 여부를 정의

- 배포 단계에서는 반드시 비활성화 (보안 문제)

 

ㅇ Maintenance mode

- 유지보수(Maintenance) 모드에서는, 모든 요청에 대해서 미리 정의된 하나의 view만 보여주도록 설정

- 유지보수 모드를 설정하려면 artisan 명령 사용

// Enable Maintenance
php artisan down

// Disable Maintenance
php artisan up

- 유지보수 모드시 options

더보기

- refresh

: 입력된 시간 이후 유지보수 모드로 설정

php artisan down --refresh=10

 

- secret

: secret token을 활용해 일반 환경에서 처럼 application 동작 확인 가능

1. 토큰 설정

php artisan down --secret="1630542a-246b-4b66-afa1-dd72a4c43515"

 2. 브라우저를 통해 토큰 URL로 이동

https://example.com/1630542a-246b-4b66-afa1-dd72a4c43515

3. 쿠키 허용 > 이후 자동으로 '/' 루트 경로로 redirect

 

- redirect

: 모든 요청을 특정 URL로 redirect (예시는 루트 경로로 이동)

php artisan down --redirect=/

 


 

Comments