ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 환경변수(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

    '개념 정리' 카테고리의 다른 글

    서버 하드웨어 및 소프트웨어  (1) 2024.11.27
    TCP/IP , OSI 7계층, 소켓, 소켓 프로그래밍 정리  (0) 2023.08.28
    Vi 명령어 모음  (0) 2023.08.16
    IP주소와 도메인  (0) 2023.08.15
    프로토콜(Protocol)이란?  (0) 2023.08.12
Designed by Tistory.