μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- discardableResult
- μ΄μ§νμ
- λ€μ΄λλ―Ήνλ‘κ·Έλλ°
- λμ κ³νλ²
- Til
- BFS
- binarySearch
- IOS
- APPJAM
- 0μ΄λμ΄μλκΈΈ
- SwiftUI νν 리μΌ
- SOPT
- SwiftUI
- concurrency
- URLSession
- dfs
- SwiftUI Tutorials
- Swift
- DynamicProgramming
- HAVIT
- κ³ λμ kit
- μ°μνμ€λΆλΆμμ΄μν©
- GroupBy
- GCD
- duno
- νλ‘κ·Έλλ¨Έμ€
- SQL
- algorithm
- κΈ°μ΄λ¬Έλ²
- algoritm
- Today
- Total
suvera-dev π₯¦
AWS λ°°ν¬μλν κ΅¬μΆ _ 6. React νλ‘μ νΈ λ°°ν¬ λ³Έλ¬Έ
μ΄μ μ index.html νμΌνλλ‘ λ°°ν¬ ν μ€νΈλ₯Ό νμλλ°,
μ€μ λ‘ λ°°ν¬ν΄μΌνλ νλ‘μ νΈλ React νλ‘μ νΈλ‘ ꡬμ±ν κ²μ΄κΈ° λλ¬Έμ React νλ‘μ νΈλ₯Ό λ§λ€κ³ μ λ¨λμ§ νμΈν΄λ³΄μ.
1. React νλ‘μ νΈ μμ±
- 리μ‘νΈ νλ‘μ νΈλ₯Ό μμ±νλ λ°©λ²μ κ°λ¨νλ€.
- μ΄μ μ μ§ννλ ν΄λμμ κ·Έλλ‘ React νλ‘μ νΈλ₯Ό λ§λ€μ΄μ£Όμλ€.
- Node.js μ€μΉ
- μμ μ© ν΄λ λ§λ€κΈ°
- ν°λ―Έλμμ npx create-react-app νλ‘μ νΈλͺ
μ΄λ κ² νλ©΄ μλμ μΌλ‘ νμν ν΄λλ€μ΄ μΈν λλ€.
2. Docker νμΌ μμ
μλμ κ° μ½λ μ€λͺ μ μ μ΄λμλ€.
# base image μ€μ (as build λ‘ μλ£λ νμΌμ λ°μμ μ¬μ©ν μ μλ€.)
FROM node:14-alpine as build
# 컨ν
μ΄λ λ΄λΆ μμ
λλ ν 리 μ€μ
WORKDIR /app
# app dependencies
# 컨ν
μ΄λ λ΄λΆλ‘ package.json νμΌλ€μ 볡μ¬
COPY package*.json ./
# package.json λ° package-lock.json νμΌμ λͺ
μλ μμ‘΄μ± ν¨ν€μ§λ€μ μ€μΉ
RUN npm install
# νΈμ€νΈ λ¨Έμ μ νμ¬ λλ ν 리 νμΌλ€μ 컨ν
μ΄λ λ΄λΆλ‘ μ λΆ λ³΅μ¬
COPY . .
# npm build
RUN npm run build
# prod environment
FROM nginx:stable-alpine
# μ΄μ λΉλ λ¨κ³μμ λΉλν κ²°κ³Όλ¬Όμ /usr/share/nginx/html μΌλ‘ 볡μ¬νλ€.
COPY --from=build /app/build /usr/share/nginx/html
# κΈ°λ³Έ nginx μ€μ νμΌμ μμ νλ€. (custom μ€μ κ³Ό μΆ©λ λ°©μ§)
RUN rm /etc/nginx/conf.d/default.conf
# custom μ€μ νμΌμ 컨ν
μ΄λ λ΄λΆλ‘ 볡μ¬νλ€.
COPY nginx/nginx.conf /etc/nginx/conf.d
# 컨ν
μ΄λμ 80λ² ν¬νΈλ₯Ό μ΄μ΄μ€λ€.
EXPOSE 80
# nginx μλ²λ₯Ό μ€ννκ³ λ°±κ·ΈλΌμ΄λλ‘ λμνλλ‘ νλ€.
CMD ["nginx", "-g", "daemon off;"]
3. nginx μ€μ νμΌ λ§λ€κΈ°
- νμ¬ λλ ν 리μ nginx ν΄λλ₯Ό λ§λ€κ³ , κ·Έ μμ nginx.conf νμΌμ λ§λ λ€.
κ·Έλ¦¬κ³ μλμ κ°μ΄ μ€μ ν΄μ€λ€ !
server {
listen 80;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
location / {
# rootλ₯Ό /usr/share/nginx/html μ λ°λΌλ³΄κ² νμΌλ―λ‘(Dockerfile μ°Έκ³ )
# ν΄λΉ κ²½λ‘ μλμ λ°°ν¬ν΄μ£Όλ©΄ λ¨
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
}
4. μ½λ μμ ν build, λ°°ν¬ νμΈν΄λ³΄κΈ°
App.js νμΌμ μνλ λλ‘ μ½λλ₯Ό μμ νλ€.
- μ΄ν λ컀νμΌμμ μλμ μΌλ‘ npm run build λͺ λ Ήμ΄λ₯Ό ν΅ν΄ React νλ‘μ νΈλ₯Ό build νκ³ κ²°κ³Όλ¬Όμ κ°μ Έμ¨λ€.
μ½λ μμ ν , κΉνμ pushνλ©΄ μ΄μ μ μ€μ ν΄λ workflowκ° λμκ°λ€.
μμμ μ€μ ν΄λ λλ©μΈμΌλ‘ μ μνλ©΄ React νλ‘μ νΈλ‘ ꡬμ±ν νλ©΄μ΄ λ¬λ€ !!