νλ‘μ νΈλ₯Ό
build
νμ¬ μ»¨ν μ΄λλ₯Ό ν¨κ» λμ°λ μκ° κ°μκΈ°AWS EC2
μλ²κ° λ¨Ήν΅μ΄ λλ©΄μ λ©μΆλ νμμ΄ λ°μνλ€. μλ² νκ²½μ cpu:2μ½μ΄ ,30GBλ‘ κ΅¬μ±λμ΄ μμ΄ λ©λͺ¨λ¦¬μ μΆ©λΆν κ²μ΄λΌκ³ μκ°νλ€. νμ§λ§ μ΄ λ¬Έμ λμΈμ€ν΄μ€ 리μμ€ λ¬Έμ
λΌκ³ μ°Ύμλ€.
μ΄κΈ°μfree -m
λͺ λ Ήμ΄λ₯Ό μ€ννλ©΄swap
λ©λͺ¨λ¦¬κ° "0"μΌλ‘ λμ΄μμλ€.
swapμ΄λ μ½κ² λ§ν΄μ λ΄ νλλμ€ν¬(30Gib)μ 곡κ°μ λΉλ €μ "κ°μλ©λͺ¨λ¦¬"λ‘ μ¬μ©νλ κ²μ΄λ€. μ¦ νλλμ€ν¬μ μ©λμ μΆ©λΆνμ§λ§ κ°μλ©λͺ¨λ¦¬κ° λΆμ‘±ν΄μ λ°μνλ λ¬Έμ λΌλ κ²μ μμλ€.νμ¬ λ΄ μλ²μ RAMμ 30GB μ΄κ³ μ€μνμΌμ 4GBλ‘ μ‘μ보μλ€.(RAMν¬κΈ°μ λ°λΌ μ€μνμΌ μ©λμ μ νλ λ°©λ²μ΄ μλ€λλ° κ·Έκ±°λ λμ€μ λ°λ‘ λ΄μΌκ² λ€..π)
sudo dd if=/dev/zero of=/swapfile bs=128M count=32
: λ£¨νΈ νμΌ μμ€ν
μ μ€μνμΌμ μμ±νλ€.
sudo chmod 600 /swapfile
:μ€μνμΌμ κΆν μ
λ°μ΄νΈ
sudo mkswap /swapfile
: 리λ
μ€ μ€μ μμμ μ€μ
sudo swapon /swapfile
: μ€μ 곡κ°μ μ€μνμΌ μΆκ° μ€μνμΌ μ¦μ μ¬μ©κ°λ₯νκ² ν¨
sudo vi /etc/fstab
: /etc/fstab νμΌμ νΈμ§νμ¬ λΆν
μ μ€μ νμΌμ νμ±ν νκ² νλ€.
(vi μ
λ ₯κΈ° μμμ)/swapfile swap swap defaults 0 0
:νμΌλμ ν΄λΉ λ΄μ©μ μΆκ°νκ³ μ μ₯
κ²°κ³Όμ μΌλ‘ μ€μ λ©λͺ¨λ¦¬κ° ν λΉλκ³ λΉλμ νκ³ μ»¨ν μ΄λλ₯Ό λ°μ°λλ° μ±κ³΅νκ² λλ€.
λ³΄ν΅ κ°λ°μμλIntelliJ
λ₯Ό μ¬μ©νμ¬ Gradleμ μ»΄νμΌ λ° jarλ₯Ό μμ±νμ¬ μμ μ νλ€. 리λ μ€μμλ λ³΄ν΅ CLIκΈ°λ°μΌλ‘ μλλκΈ° λλ¬Έμgradle build
λλgradlew build
λͺ λ Ήμ΄λ₯Ό μ¬μ©νλ©΄ μμ κ°μ Test μ½λ μ€λ₯κ° λ°μνλ€.
Test νμΌλ€μ μ»΄νμΌ νλ©΄μIntelliJ
λ₯Ό μ¬μ©νμ§μκ³gradle build
λ₯Ό μ¬μ©ν λ μ€λ₯κ° λ°μνλ€.
μμ κ°μ΄ μ€μ μ νκ² λλ©΄ test νμΌ μ»΄νμΌμ΄ μλλλ μ‘°κ±΄μ΄ λ³λλμ΄ Test μ½λκ° μ μ ν΅κ³Όνκ² λλ€. νμ§λ§ μ΄λ°©λ²μ ννΌμ± μΌ μλ μλ€.
μλ² λ΄λΆμ DBλ₯Ό μ¬μ©νλκ²μ΄κΈ° λλ¬Έμ
application.yml
νμΌμ κΈ°μ‘΄μλ
jdbc:mysql://localhost:3306/ams?serverTimezone=UTC&characterEncoding=UTF-8
μ κ°μ΄ μ€μ ν΄λμλ€. μλνλ©΄ μκΈ° μλ²μ μλ DBλ₯Ό μ¬μ©νλκ²μ΄κΈ° λλ¬Έμlocalhost
λ‘ μ€μ ν΄μΌλλ€κ³ μκ°νμλ€.
νμ§λ§Access denied for user 'root'@'localhost
μ κ°μ μ€λ₯κ° λ°μνμκ³ μ μμ κ±°λΆ λΉνλ€.
localhost
μAWS EC2 Ip
λ₯Ό λ£κ² λλ λ¬Έμ μμ΄ μ μμ μΌλ‘ μ€νλμλ€.
Springboot
μλtomcat
μλ²κ±° λ΄μ₯λμ΄μλ€. μ΄κΈ°μ μλ²λ₯Ό ꡬμΆν λtomcat
μλ²λ νμνκΈ° λλ¬Έμ μ€μΉνμ¬:8888
ν¬νΈλ‘ μ€νμμΌλμλ€. κ·Έλ¬ν μν©μμ νλ‘μ νΈλ₯Ό μ€νμν€λ
ν¬νΈλ₯Ό μ΄λ―Έ μ¬μ©νκ³ μλ€λ μ€λ₯κ° λ°μνμλ€. κ·Έ μ΄μ λ μ΄λ―ΈSpringboot
μλtomcat
μ λ΄μ₯λμ΄μμ΄ νλ‘μ νΈλ₯Ό λΉλμ λ΄μ₯λμ΄μλtomcat
μλ²κ° μ€μ λλ‘:8888
ν¬νΈλ₯Ό μ¬μ©νλ €κ³ νλλ° λ°λ‘ μ€μΉνμ¬ μ€νμμΌλμtomcat
μλ²κ±° μ€νλκ³ μμ΄ μκΈ°λ μ€λ₯μλ€.
λ°λ‘ μ€νμμΌλμtomcat
μλ²λ₯Ό μ’ λ£μν€κ³ λΉλνλ μ μμ μΌλ‘ μ€νλμλ€.
REST APIλ₯Ό λ§λλ κ³Όμ μμ λ°μν μλ¬
컨νΈλ‘€λ¬μμ ν΄λΌμ΄μΈνΈ μΈ‘μΌλ‘ μλ΅μ λ΄λ €μ€λ@ResponseBody
(http bodyμ jsonνμμΌλ‘)λ‘ λ΄λ €μ£Όλλ‘ κ΅¬ννμλ€. μ΄κ²μReturnValueHandler
κ°HTTP λ©μμ§ μ»¨λ²ν°
λ₯Ό μ¬μ©νμ¬ ν΄μ£Όκ² λλλ°http body
μ λ΄μ κ°μ²΄μGetter
κ° μμ΄μ λ°μν λ¬Έμ μ΄λ€.
νλ‘ νΈμ€λλ 리μ‘νΈ
λ₯Ό μ¬μ©νκ³ λ°±μλλ μ€νλ§
μ μ¬μ©νλ μν©μμ axios
ν΅μ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νμ¬ ν΅μ νλ μν©μ΄μλ€.
κ²μλ¬Όμ κ²μνλ APIμ Http λ©μλλ₯Ό GET
μΌλ‘ μ€μ νκ³ κ²μ νν°λ§μΌλ‘ ν΄μνκ·Έ,μ λͺ©λ±κ³Ό μΆκ°λ‘ 무νμ€ν¬λ‘€ λ°©μμ μν΄μ κ²μλ¬Όid, μ’μμμλ±μ μ λ¬ν΄μΌλκΈ° λλ¬Έμ
ν΄λΉ νλΌλ―Έν°λ₯Ό Body
μ λ΄μ 보λ΄κ² ꡬμ±νμλ€.
νμ§λ§ GET+Bodyλ₯Ό 보λ΄λ©΄ 400μλ¬
κ° λ¨λ©΄μ μμ²μ΄ μ λλ‘ λμ§ μμλ€.
μ°Ύμλ³Έκ²°κ³Ό μ΄κ±΄ axios λΌμ΄λΈλ¬λ¦¬ λΏλ§ μλλΌ HTTP νλ‘ν μ½ μμ²΄κ° GET λ©μλμ Bodyλ₯Ό ν¬ν¨νμ¬ μμ²ν μ μλκ²μ΄μλ€.
쿼리νλΌλ―Έν° λ°©μμΌλ‘ λ°κΏκΉ νλ μκ°μ νμλλ° μ λ¬νλ €λ νλΌλ―Έν°λ€μ΄ URLμ μ μΆλλκ²μ μ’μ§ λͺ»νλ€κ³ νλ¨νμ¬ POST
λ©μλλ‘ λ°κΎΈμ΄ ν΄κ²°νμλ€.
HTTP νλ‘ν μ½μ λν΄μ νκ΅μμ νμ΅νμλλ° κΈ°λ³Έκ°λ μ μκ° μμ΄λ²λ¦¬κ³ κ°λ°νλκ±° κ°λ€π€£