- ์ฌ๋ฌ ๋จ์ด์ผ ๊ฒฝ์ฐ,
-๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ตฌ๋ถํฉ๋๋ค. - ๋์ฌ๊ฐ ์์ธ ํ์ผ (ex.
create-user.dto.ts)์ผ ๊ฒฝ์ฐ, ๋์ฌ๊ฐ ๋จผ์ ์ต๋๋ค.
- node.js ์ค์น
- ์์กด์ฑ ์ค์น with
npm i - redis server ๋ก์ปฌ ์ค์น ํ๋จ ์ฐธ์กฐ
.env์ค์ global-bundle.pemํค ์ค์ -> S3๋ฅผ ์ํด ๋ฐ์๋์์ผ ํฉ๋๋ค.- ์คํ (watch ๋ชจ๋) with
npm run start:dev(debug ๋ชจ๋) withnpm run start:debug
- Docker ์ค์น ์๋์ฐ์ ๊ฒฝ์ฐ, WSL2 ์ฌ์ฉ
.env์ค์ docker/redis.conf์ค์ global-bundle.pemํค ์ค์ -> S3๋ฅผ ์ํด ๋ฐ์๋์์ผ ํฉ๋๋ค.- ์คํ (debug ๋ชจ๋) with
docker-compose -f docker-compose.development.yml up
์ง์ํ๋ ๊ธฐ๋ฅ:
- inspect: ํ ์คํธ ํ๊ฒฝ์์ ์์ค์ฝ๋ ์ ์ฅ์ ์๋์ผ๋ก Nest ์๋ฒ ์ฌ๋ถํ
- debug: ๋์ปค ํ ์คํธ ํ๊ฒฝ์์ VSCode "Attach Node in Docker"
# DEBUG MODE (true/false)
DEBUG=
# NODE
TZ=
# NestJS
PORT=
# AWS
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_S3_BUCKET_NAME=
AWS_S3_REGION=
AWS_S3_HOST=
AWS_REGION=
REGISTRY=
# Postgres
DB_HOST=
DB_PORT=
# =============[ DEVELOP ]=============
DB_DEV_DATABASE=
DB_DEV_USERNAME=
DB_DEV_PASSWORD=
# =============[ PRODUCT ]=============
DB_PROD_1_DATABASE=
DB_PROD_1_USERNAME=
DB_PROD_1_PASSWORD=
# =============[ TEST ]=============
DB_TEST_DATABASE=
DB_TEST_USERNAME=
DB_TEST_PASSWORD=
# Auth
# =============[ KAKAO ]=============
KAKAO_CLIENT_ID=
KAKAO_CLIENT_SECRET=
KAKAO_CALLBACK_URI=
# =============[ JWT ]=============
JWT_SECRET=
JWT_REFRESH_SECRET=
# =============[ NAVER ]=============
NAVER_CLIENT_ID=
NAVER_CLIENT_SECRET=
NAVER_CALLBACK_URI=
# =============[ GOOGLE ]=============
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GOOGLE_CALLBACK_URI=
# Redis
REDIS_HOST=
REDIS_PORT=
REDIS_PASSWORD=
# =============[ Redirect Url ]=============
LOGIN_URL=
SIGNUP_URL=
COOKIE_DOMAIN=
CORS_ORIGIN=
# =============[ SSL ]=============
SSL_CERTIFICATE_LOCATION=
SSL_KEY_LOCATION=
# =============[ Docker ]=============
IMAGE_NAME=
CONTAINER_NAME=๋์ปค redis ์ค์ ํ์ผ์ ๋๋ค.
# ์ฐ๊ฒฐ ๊ฐ๋ฅํ ๋คํธ์ํฌ(0.0.0.0 = Anywhere)
bind 0.0.0.0
# ์ฐ๊ฒฐ ํฌํธ
port 6379
# Master ๋
ธ๋์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ๋น๋ฐ๋ฒํธ
requirepass <YOUR-PASSWORD>
# ์ต๋ ์ฌ์ฉ ๋ฉ๋ชจ๋ฆฌ ์ฉ๋(Default : ์์คํ
์ ์ฒด ์ฉ๋)
maxmemory 2gb
# ์ค์ ๋ ์ต๋ ์ฌ์ฉ ๋ฉ๋ชจ๋ฆฌ ์ฉ๋์ ์ด๊ณผํ์๋ ์ฒ๋ฆฌ ๋ฐฉ์
maxmemory-policy volatile-ttl
# RDB ์ค์ (์ฃผ๊ธฐ์ ๋ฐฑ์
)
# 15๋ถ ์์ ์ต์ 1๊ฐ ์ด์์ key๊ฐ ๋ณ๊ฒฝ๋์์ ๋
save 900 1
# 5๋ถ ์์ ์ต์ 10๊ฐ ์ด์์ key๊ฐ ๋ณ๊ฒฝ๋์์ ๋
save 300 10
# 60์ด ์์ ์ต์ 10000๊ฐ ์ด์์ key๊ฐ ๋ณ๊ฒฝ๋์์ ๋
save 60 10000amazon rds์ ์ ์ํ๊ธฐ ์ํด์ certificate bundle์ด ํ์ํฉ๋๋ค. ์๋ ์ฌ์ดํธ์ ์ ์ํ์ฌ global-bundle.pem ํค๋ฅผ ๋ค์ด๋ฐ์ ํ๋ก์ ํธ ๋ฃจํธํด๋์ ์ฎ๊ฒจ๋์์ฃผ์ญ์์ค.
-
๋ก์ปฌ์์๋ง ๊ฐ๋ฅํด์!
-
Window โ ์๋ ์ค์น
-
๋ก์ปฌ์์ ํ ์คํธ ํด๋ณผ ์ ์์ต๋๋ค.
-
MAC โ https://wlswoo.tistory.com/44
-
redis ๋น๋ฐ๋ฒํธ ์ค์ https://peterica.tistory.com/421
# ๋น๋ฐ๋ฒํธ ์ค์ (๊ฐ๋ฐ์ ์ ํ์ฌํญ) auth #{PASSWORD} >> OK # key ์กฐํ keys * get #{KEY}
-
-
CLIENT_ID,CLIENT_SECRET: SNS ์๋ฒ์์ ๋ฐ๊ธ -
JWT_SECRET,JWT_REFRESH_SECRET: ์์๋ก ์ค์ ํ ํค