ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • NodeJS / dotenv 로 환경변수 설정하기
    Web dev/NodeJS 2022. 3. 27. 11:35
    728x90
    반응형

    mysql로 AWS RDS 연결에 성공하였다.

    파일그대로 깃헙에 업로드하면 DB계정정보가 유출되니까 환경변수에 설정하여 업로드 해준다.

    .env 파일은 .gitignore에 설정해줘야 한다. .gitignore에 설정하면 업로드 할 때 설정파일은 업로드 되지 않는다.

    // .gitignore
    
    .DS_Store
    .env
    .env.local
    .env.development.local
    .env.test.local
    .env.production.local

    이런식으로 해주면 된다.

     

    1.  dotenv 설치

    npm i dotenv

    2. .env 설정

    // .env 파일 파일명앞에 '.' 을찍어줘야함
    
    PORT = 5000
    DB_HOST = "호스트 정보"
    DB_USER = "아이디"
    DB_PSWORD = "비밀번호"
    DB_DATABASE = "데이터베이스"

    이런식으로 .env 파일에 입력한뒤 꺼내 쓰면 된다. .env파일은 상위 디렉토리에 만들어 준다.

     

    3. .dotenv 사용

    // db.js
    
    const dotenv = require('dotenv');
    dotenv.config();
    
    const mysql = require("mysql");
    
    const db = mysql.createConnection({
        host: process.env.DB_HOST,
        user: process.env.DB_USER,
        password: process.env.DB_PSWORD,
        database: process.env.DB_DATABASE,
    });
    
    module.exports = db;

    require로 불러온 뒤 실행시켜주면 된다.

    사용은 process.env.변수명 으로 해줘야한다.

     

    리엑트에서 .env를 사용할때는 앞에 변수앞에 REACT_APP_  접두어를 붙혀줘야 한다고 한다.

    아직 해본진 않았다.

     

    처음에 dotenv를 설치하고 실행하는데 자꾸 디비연결을 하지 못하는 것이였다.

    환경변수 설정을 수정하면 서버를 다시 시작해야한다고 봤던거 같은데 서버를 껐다켜도 안되고 해서 한참동안이나 버벅였다..

    알고보니 터미널에서 control + c 로 서버를 종료하는데 리엑트서버는 종료되었지만 node서버는 종료가 안된것이였다...

    다음 포스팅에서 다뤄볼까 한다...

     

     

    728x90
    반응형

    댓글

Designed by Tistory.