dukDukz
[Linux] 쉘 스크립트 환경변수 설정 본문
0830 수업
https://neul-carpediem.tistory.com/78
완존 정리가 잘 되어 있다!
펭귄에서
# 환경변수 PORT
$ cd ~
$ cd server
$ vi server.js
const express = require('express')
const app = express()
const PORT = process.env.NODE_ENV || 3000
app.get('/',(req,res)=>{
res.send('hello world!!')
})
app.listen(PORT,()=>{
console.log(`server open ${PORT}`)
})
이렇게 포트를 빼준다.
$ node server
하면 현재는 3000번으로 나온다 NODE_ENV 에 뭐 준적이 없어서
그래서 지금 넣어볼건데
[환경변수 선언]
$ export NODE_ENV=8080
: 이렇게 앞에 export 를 붙여주면 환경변수 선언이 되는것이다. = 앞 뒤로는 띄어쓰기가 없어야 한다.
[환경변수 확인하는 방법 두가지]
$ echo $NODE_ENV // 변수는 앞에 $ 를 붙여줘야 한다.
$ env | grep NODE_ENV
$ node server.js
다시 해보면 PORT 가 바뀌었다.
# 환경변수 PORT 수정
$ vi server.js
production / developer 인지 설정해줘야함
const PORT = process.env.NODE_ENV == 'production' ? 8080 : 3000
console.log(process.env.NODE_ENV)
저장하고 나와서 node server.js 해보니까 8080 이 나온다.
시스템 환경 변수 생성하는거 해보자
$ export PORT=8080 // 환경변수 설정
$ echo $PORT // 환경변수 확인
# 환경변수 NODE_ENV 수정
$ export NODE_ENV=production // 여기서 'production' 으로 해줘도된다.
$ echo $NODE_ENV
$ node server.js
해보면
console.log(process.env.NODE_ENV) 가 production 이 나온다.
# 왜 .env 가 만들어졌나?
사용자가 많아질수록 서버가 늘어난다.
거기서 각각 서버를 달아주면 오타가 생길 경우에 곤란해진다.
그래서 .env 라는 파일을 만들어놓고 쓸 때 가져와서 쓴다!
=> 수정이 자주 되는 부분은 왠만하면 시스템 환경변수로 빼서 하는게 좋다.
# node 로 실행시키기
$ vi test.js
console.log(process)
추가하고 저장
process : NODE JS 환경에서 구동되는 코드 안에서 컴퓨터가 가지고 있는 정보를 담은 객체
$ node test.js
하면 process 에 해당하는 내용이 쭈르륵 나온다.
node js 는 웹서버가 아니라 운영체제를 조작할 수 있는 녀석이다.
# 수정하기
리눅스, 쉘스크립트 쪽 개념들은 대부분 쓰기와 수정을 구분하지 않음
그래서 없으면 만들고 있으면 수정이라고 생각하면 된다.
'웹 개발 > Linux' 카테고리의 다른 글
[Linux] 명령어 사용 연습 + 파일로 빼기 (0) | 2021.08.30 |
---|---|
[Linux] IO 입출력 (0) | 2021.08.30 |
[Linux] 셸 스크립트 / zsh로 변경 / 셸 커스터마이징 / alias (0) | 2021.08.30 |
[Linux] 리눅스 환경설정 (0) | 2021.08.30 |
[Linux] 명령어 (cd / ls / | 파이프라인 / cat / mkdir [디렉토리 생성] / mv[파일이동/ 파일명 수정] , > [출력값 이동]) (0) | 2021.08.30 |