본문 바로가기
프로그래밍/Web

Laravel 환경설정 - .env, nginx

by 사악신 2020. 3. 18.

1. 로컬 개발 환경

.gitignore 에 아래 파일을 추가합니다.

.env.local
.valet-env.php

라라벨 프로젝트의 루트 디렉토리로 이동한 후, valet link 명령어로 로컬 도메인(http://myproj.test)을 생성합니다.

valet link myproj 

마찬가지로 루트 디렉토리에서 .valet-env.php 파일을 생성한 후, APP_ENV 전역 변수를 설정합니다.

<?php

return [
    'myproj' => [
        'APP_ENV' => 'local'
    ]
];

.env.local 파일을 생성한 후, 로컬 개발시 사용할 값들을 수정하여 사용합니다. PHPStorm 에서 저장시 자동 FTP 업로드 설정을 사용하고 있다며, 상기 두 파일(.env.local, .valet-env.php)은 제외하도록 합니다.

2. 서버 운영 환경

nginx 에서 PHP 전역 변수를 설정하는 방법은, php-fpm 연동을 설정하는 영역에서 fastcgi_param 을 추가하여 사용할 수 있습니다.

location ~ \.php$ {
.....
     fastcgi_param  APP_ENV production
.....
}

production 인 경우, .env 파일의 설정을 불러옵니다.

APP_ENV=production
APP_DEBUG=false

통상적으로 APP_ENV 의 값으로 local, staging, testing, production 등을 사용합니다. .env.testing 과 같이 설정을 직접 지정할 경우는 PHPUnit 또는 아티즌 명령어에 --env=testing 옵션을 함께 실행하면 됩니다.

 

가령, 마이그레이션의 경우

 php artisan migrate --env=development

아파치의 경우 VirualHost 설정에서 추가합니다.

<VirtualHost *:80>
    SetEnv APP_ENV "production"
</VirtualHost>

ElasticBeanstalk 에서는 환경 > 구성 > 소프트웨어 에서 환경 속성으로 추가할 수 있습니다.

 

 

반응형

댓글