개념 정리

환경변수(Environment Variable)

항상 발전하는 개발자 2023. 8. 19. 13:43
728x90

환경 변수(Environment Variable)

  • 환경변수는 정확히 운영체제의 프로세스 환경변수를 의미한다.
  • 시스템 소프트웨어의 동작에 영향을 미치는 동적인 값들의 모임이다.
  • 운영체제가 제공하는 시스템 설정값이다.
  • 특징
    • 구성: 변수명과 값
    • 내용: 시스템의 기본 속성
    • 상위(부모)프로세스가 하위(자식)프로세스에 상속
    • 적용 범위에 따라 시스템 환경변수와 사용자 환경변수로 구분된다.
  • Node.js에서도 이러한 환경변수를 활용하여 애플리케이션의 설정과 동작을 조정

 

환경변수의 확인

  • Windows 환경변수 표시 명령어: set
  • UNIX/LINUX 환경변수 표시 명령어: set / env / printenv

Windows 주요 환경변수

%ALLUSERPROFILE% 모든 사용자의 프로필이 저장된 폴더
%APPDATA% 설치된 프로그램의 필요 데이터가 저장된 폴더
%ComSpec% 기본 명령 프롬프트로 사용할 프로그램 이름
%HOMEDRIVE% 로그인한 계정의 정보가 저장된 드라이브
%HOMEPATH% 로그인한 계정의 기본 폴더
%LOGONSERVER% 로그인한 계정이 접속한 서버 이름
%PATH% 실행파일을 찾는 경로
%PATHEXT% cmd에서 실행할 수 있는 파일의 확장자 목록
%PROGRAMFILES% 기본 프로그램의 설치 폴더
%SYSTEMDRIVE% Windows가 부팅된 드라이브
%SYSTEMROOT% 부팅된 운영체제가 들어 있는 폴더
%TEMP% 또는 %TMP% 임시 파일이 저장되는 폴더
%USERDOMAIN% 로그인한 시스템의 도메인 이름
%USERNAME% 로그인한 계정 이름
%USERPROFILE% 로그인한 유저의 프로필이 저장된 폴더 이름

UNIX/LINUX 주요 환경변수

$DISPLAY 현재 x 윈도 디스플레이 위치
$HOME 사용자의 홈 디렉터리
$LANG 프로그램 사용 시 기본적으로 지원되는 언어
$MAIL 메일을 보관하는 경로
$PATH 실행 파일을 찾는 경로
$PS1 쉘 프롬프트 정보
$PWD 현재 작업하는 디렉터리
$TERM 로긴터미널 타입
$USER 사용자의 이름

Nodejs 환경변수

  •  .env
    • 환경변수를 관리하기 위해 .env파일을 사용하는 것이 일반적
    • 깃 저장소에 업로드 하지 말아야 함
    • 파일질라를 통해 서버에 파일만 업로드

사용하기

npm install dotenv
  •  .env  파일의 환경변수를 읽어온다.
require('dotenv').config()
  •  .env 파일에 변수 저장하기
NAME=KDT
NODE=dev
  • 불러온 환경변수 사용하기
app.get("/", (req, res) => {
  console.log(process.env.NAME);
  console.log(process.env.STATUS);
  console.log(process.env.NODE_ENV);
  res.render("index");
});

※ .env 파일은 깃 허브에 업로드되면 안 되니 꼭 .gitignore에 표시하기! 

728x90