Skip to content

seongmink/springboot2-webservice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

33 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Study_springboot2-webservice

AWS ๋ฐฐํฌ

1. EC2 ์„œ๋ฒ„์— ์ ‘์†ํ•˜๊ธฐ(windows ํ™˜๊ฒฝ)

  1. putty ๋‹ค์šด๋กœ๋“œ(https://www.putty.org/)
  2. puttygen ์‹คํ–‰
    • pem -> ppk ๋ณ€๊ฒฝ
      • Conversions - Import Key
      • pem ํ‚ค ์„ ํƒ -> Save private key ๋ฒ„ํŠผ -> ๊ฒฝ๊ณ  ์ฐฝ '์˜ˆ(Y)'
      • ppk ์ €์žฅ ์œ„์น˜ ์„ ํƒ, ์ด๋ฆ„ ์ž‘์„ฑ ํ›„ ์ €์žฅ
  3. putty ์‹คํ–‰
    • Session ์„ค์ •
      • HostName : username@public_ip
        • ex) ec2-user@ํƒ„๋ ฅ์  IP
      • Port : SSH ์ ‘์† ํฌํŠธ์ธ 22
      • Connection type : SSH
    • Auth ์„ค์ •
      • Category - Connection - SSH - Auth
        • Private key file for authentication - 'Browse...' ๋ฒ„ํŠผ
    • Saved Sessions์— ์ด๋ฆ„ ์ €์žฅ ํ›„ Save
  4. ์ ‘์†
    • Open
    • '์˜ˆ(Y)' ๋ฒ„ํŠผ

2. ๋ฆฌ๋ˆ…์Šค 1 ์„œ๋ฒ„ ์ƒ์„ฑ ์‹œ ๊ผญ ํ•ด์•ผ ํ•  ์„ค์ •๋“ค

  1. Java 8 ์„ค์น˜

    sudo yum install -y java-1.8.0-openjdk-devel.x86_64
    

    ์„ค์น˜ ํ›„, ์ธ์Šคํ„ด์Šค์˜ Java ๋ฒ„์ „์„ 8๋กœ ๋ณ€๊ฒฝ

    sudo /usr/sbin/alternatives --config java
    

    Java 8์„ ์„ ํƒ(2 ์ž…๋ ฅ)

    ๋ฒ„์ „์ด ๋ณ€๊ฒฝ ๋˜์—ˆ์œผ๋ฉด ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” Java7์„ ์‚ญ์ œ

    sudo yum remove java-1.7.0-openjdk
    

    ํ˜„์žฌ ๋ฒ„์ „์ด Java8์ด ๋˜์—ˆ๋Š”์ง€ ํ™•์ธ

    java -version
    
  2. ํƒ€์ž„์กด ๋ณ€๊ฒฝ

    sudo rm /etc/localtime
    
    sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime
    

    ์ดํ›„, ๋ณ€๊ฒฝ์ด ๋˜์—ˆ๋Š”์ง€ ํ™•์ธ

    date
    
  3. Hostname ๋ณ€๊ฒฝ

    sudo vim /etc/sysconfig/network
    

    HOSTNAME์„ ์›ํ•˜๋Š” ์„œ๋น„์Šค ๋ช…์œผ๋กœ ๋ณ€๊ฒฝ ํ›„ ์„œ๋ฒ„๋ฅผ ์žฌ๋ถ€ํŒ…

    sudo reboot
    

    ์žฌ๋ถ€ํŒ… ์™„๋ฃŒ ํ›„,

    sudo vim /etc/hosts
    

    ๋ฅผ ์ž…๋ ฅ ํ›„ ์•„๋ž˜์— 127.0.0.1 HOSTNAME ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.

    ๊ทธ๋ฆฌ๊ณ , ์•„๋ž˜ ๋ช…๋ น์–ด๋กœ ํ™•์ธ์„ ํ•ด๋ณธ๋‹ค.

    curl HOSTNAME
    

    ๋“ฑ๋ก ์‹คํŒจ์ผ ๊ฒฝ์šฐ : curl: (6) Could not resolve host ~

    ๋“ฑ๋ก ์„ฑ๊ณต์ผ ๊ฒฝ์šฐ : curl: (7) Failed to connect to ~ / (80 ํฌํŠธ๋กœ ์‹คํ–‰๋œ ์„œ๋น„์Šค๊ฐ€ ์—†์Œ์„ ์˜๋ฏธ)

  4. MySQL ์„ค์น˜

    sudo yum install mysql
    

    ์„ค์น˜๊ฐ€ ๋‹ค ๋˜์—ˆ์œผ๋ฉด ๋กœ์ปฌ์—์„œ ์ ‘๊ทผํ•˜๋“ฏ์ด ๊ณ„์ •, ๋น„๋ฐ€๋ฒˆํ˜ธ, ํ˜ธ์ŠคํŠธ ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•ด RDS์— ์ ‘๊ทผํ•œ๋‹ค.

    mysql -u ๊ณ„์ • -p -h host์ฃผ์†Œ

3. EC2 ์„œ๋ฒ„์— ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ

  1. EC2์— ํ”„๋กœ์ ํŠธ Clone ๋ฐ›๊ธฐ

    sudo yum install git
    

    ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ์„ค์น˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•œ๋‹ค.

    git --version
    

    ์„ค์น˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๊ณ  git clone์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ €์žฅํ•  ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

    mkdir ~/app && mkdir ~/app/step1
    

    ์ดํ›„, ์ƒ์„ฑ๋œ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™

    cd ~/app/step1
    

    ๊นƒํ—ˆ๋ธŒ ์›น ํŽ˜์ด์ง€์—์„œ https ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌ

    git clone ๊นƒํ—ˆ๋ธŒ ์ฃผ์†Œ
    

    ์ฝ”๋“œ๋“ค์ด ์ž˜ ์ˆ˜ํ–‰๋˜์—ˆ๋Š”์ง€ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.

    ./gradlew test
    

    ๋งŒ์•ฝ Permission denied๊ฐ€ ๋‚œ๋‹ค๋ฉด

    chmod +x ./gradlew
    

    ์„ ํ•˜๋ฉด ๋œ๋‹ค.

  2. ์‹คํ–‰

    nohup java -jar ๊ฒฝ๋กœ/jarํŒŒ์ผ์ด๋ฆ„.jar 2>&1 &
    

    ํฌ๊ทธ๋ผ์šด๋“œ์—์„œ ๋‹ค๋ฅธ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ๋Œ๋ ค์•ผํ•œ๋‹ค.


์ถ”์ฒœ ๋„๊ตฌ

  • ๋Œ“๊ธ€
    • Disqus (https://disqus.com/)
      • ์†Œ์…œ ๋Œ“๊ธ€ ์„œ๋น„์Šค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋งŒ ์‚ฌ์ดํŠธ์— ๋“ฑ๋กํ•˜๋ฉด ์œ„์ ฏ ํ˜•ํƒœ๋กœ ์„œ๋น„์Šค์—์„œ ๋ฐ”๋กœ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•œ ๋Œ“๊ธ€ ์ „๋ฌธ ์„œ๋น„์Šค
      • ๋Œ“๊ธ€ ๊ธฐ๋Šฅ์ด ์—†๊ฑฐ๋‚˜ ๋นˆ์•ฝํ•œ ๋ธ”๋กœ๊ทธ๋‚˜ ์ปค๋ฎค๋‹ˆํ‹ฐ ์„œ๋น„์Šค์—์„œ๋Š” Disqus๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค.
      • ์œ ๋ฃŒ ๋ชจ๋ธ์ด ์กด์žฌํ•˜์ง€๋งŒ, ํŠธ๋ž˜ํ”ฝ์ด ๋งŽ์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋ฌด๋ฃŒ๋กœ ์„œ๋น„์Šค ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ํŠนํžˆ๋‚˜ ๋Œ“๊ธ€์„ ์ž‘์„ฑํ•œ ์‚ฌ๋žŒ์— ๋Œ€ํ•œ ๊ธฐ๋Šฅ์ด ๋ง‰๊ฐ•ํ•ด ๋งŽ์€ ๊ฐœ์ธ ๋ธ”๋กœ๊ฑฐ๋“ค์ด ์• ์šฉํ•˜๋Š” ์„œ๋น„์Šค
    • LiveRe (https://www.livere.com/)
      • ๊ตญ๋‚ด์—์„œ ๋งŒ๋“  ์†Œ์…œ ๋Œ“๊ธ€ ์„œ๋น„์Šค
      • ๋Œ“๊ธ€์„ ๋‚จ๊ธฐ๊ธฐ ์œ„ํ•ด์„œ ๋ณ„๋„์˜ ๊ฐ€์ž…์ด ํ•„์š”ํ•˜์ง€ ์•Š๊ณ , ๊ธฐ์กด์— ์‚ฌ์šฉ์ค‘์ธ SNS(์นด์นด์˜คํ†ก, ๋„ค์ด๋ฒ„, ํŽ˜์ด์Šค๋ถ) ๊ณ„์ •๋งŒ ์žˆ์œผ๋ฉด ์–ธ์ œ๋“  ๋Œ“๊ธ€์„ ๋‚จ๊ธธ ์ˆ˜ ์žˆ๋Š” ํŽธ์˜์„ฑ์ด ์žˆ๋‹ค.
      • ํ”„๋ฆฌ๋ฏธ์—„ ๊ธฐ๋Šฅ ์™ธ์— ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋Šฅ๋“ค์€ ๋ฌด๋ฃŒ๋กœ ์ง€์›ํ•˜๊ณ  ์žˆ์Œ.
    • Utterances (https://utteranc.es/)
      • ํ”ํžˆ ๋งํ•˜๋Š” ๊นƒํ—ˆ๋ธŒ ๋Œ“๊ธ€.
      • ๊นƒํ—ˆ๋ธŒ์˜ ์ด์Šˆ ๊ธฐ๋Šฅ์„ ์ด์šฉํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค. ํŠนํžˆ ๊นƒํ—ˆ๋ธŒ์˜ ๋งˆํฌ๋‹ค์šด ์—๋””ํ„ฐ๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์–ด ๋Œ“๊ธ€์„ ๋งˆํฌ๋‹ค์šด์œผ๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์œผ๋กœ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๊ต‰์žฅํžˆ ์นœ์ˆ™ํ•œ ๋Œ“๊ธ€ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.
  • ์™ธ๋ถ€ ์„œ๋น„์Šค ์—ฐ๋™
    • Zapier (https://zapier.com/)
      • ์ˆ˜๋งŽ์€ ํด๋ผ์šฐ๋“œ์™€ SNS ์„œ๋น„์Šค(750๊ฐœ ์ด์ƒ)๋“ค์˜ ์˜คํ”ˆ API๋ฅผ ์ด์šฉํ•˜์—ฌ ์„œ๋กœ ๊ฐ„์˜ ์—ฐ๋™์„ ์ง€์›ํ•œ๋‹ค.
      • ํŠธ๋ฆฌ๊ฑฐ๋กœ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœํ–‰๋˜๋ฉด ์•ก์…˜์— ๋“ฑ๋ก๋œ ๊ธฐ๋Šฅ์ด ์‹คํ–‰๋˜๋Š” ์›๋ฆฌ
      • ex) ํŽ˜์ด์Šค๋ถ์ด ์ƒˆ ๊ธ€์ด ์˜ฌ๋ผ์˜ค๋ฉด ์Šฌ๋ž™์œผ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด์ฃผ๋Š” ๊ธฐ๋Šฅ
      • ์›” 100๊ฑด์€ ๋ฌด๋ฃŒ๋กœ ์ง€์›, ๊ทธ ์ด์ƒ ์‚ฌ์šฉ์„ ์›ํ•œ๋‹ค๋ฉด ์š”๊ธˆ์„ ์ง€๋ถˆ(๋งค์ผ 1~3๋ฒˆ ์ •๋„์˜ ์š”์ฒญ์ด๋ฉด ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉํ•ด๋ณผ ๋งŒ ํ•จ)
    • IFTTT (https://ifttt.com/)
      • IFTTT๋Š” IF This Then That์˜ ์•ฝ์ž๋กœ, ๋งŒ์•ฝ A๋ฅผ ํ•˜๋ฉด B๋ฅผ ํ•˜๋ผ๋Š” ์˜๋ฏธ์ด๋ฉฐ ํด๋ผ์šฐ๋“œ์™€ SNS ์—ฐ๋™์„ ์ง€์›ํ•˜๋Š” ์„œ๋น„์Šค๋‹ค.
      • ๋ธ”๋กœ๊ทธ์— ๊ธ€์„ ์ž‘์„ฑํ•˜๋ฉด ~์— ์ž๋™์œผ๋กœ ๋งํฌ๊ฐ€ ๊ณต์œ ํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Œ
  • ๋ฐฉ๋ฌธ์ž ๋ถ„์„
    • ๊ตฌ๊ธ€ ์• ๋„๋ฆฌํ‹ฑ์Šค
      • ๊ตฌ๊ธ€์—์„œ ์ง€์›ํ•˜๋Š” ์‚ฌ์ดํŠธ ๋ถ„์„ ๋„๊ตฌ์ด๋‹ค. ๊ตญ๋‚ด์—์„œ๋„ ๋งŽใ…‡๋Š ์ž๋ฃŒ๊ฐ€ ๊ณต์œ ๋˜์–ด ์žˆ์–ด ์‚ฌ์šฉํ•˜๊ธฐ๊ฐ€ ํŽธํ•˜๋‹ค.
    • CDN(Content Delivery Network)
      • ํด๋ผ์šฐ๋“œ ์ปดํŽ˜์–ด (https://cloudflare.com/)
        • ํ•ด์™ธ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ตญ๋‚ด์—์„œ๋„ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” CDN ์„œ๋น„์Šค๋‹ค.
        • ์‹ค์ œ๋กœ ๊ตญ๋‚ด์—์„œ ๋†’์€ ํŠธ๋ž˜ํ”ฝ์„ ์ž๋ž‘ํ•˜๋Š” ๋‚˜๋ฌด์œ„ํ‚ค ์—ญ์‹œ ์ด ํด๋ผ์šฐ๋“œ ํ”Œ๋ ˆ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค.
        • ์ •์  ํŒŒ์ผ๋“ค์„ ์บ์‹ฑํ•˜์—ฌ ์ œ๊ณตํ•˜๋Š” CDN์˜ ๊ธฐ๋Šฅ์€ ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ.
  • ์ด๋ฉ”์ผ ๋งˆ์ผ€ํŒ…
    • Mailchimp (https://mailchimp.com/)
      • ํ•ด์™ธ์—์„œ ์„œ๋น„์Šค ์ค‘์ธ ์ด๋ฉ”์ผ ๋งˆ์ผ€ํŒ… ์„œ๋น„์Šค๋‹ค.
      • ํšŒ์› 2,000๋ช…์—๊ฒŒ ์›” 12,000๊ฐœ์˜ ๋ฉ”์ผ์„ ๋ฌด๋ฃŒ๋กœ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์œผ๋‹ˆ ์ดˆ๊ธฐ์— ์‚ฌ์šฉํ•˜๊ธฐ ์ข‹์Œ.
      • ํŠนํžˆ ๋ฐ˜์‘ํ˜•์„ ๊ณ ๋ คํ•œ ๋‰ด์Šค๋ ˆํ„ฐ๋‚˜ ๊ตฌ๋…์ž ๊ด€๋ฆฌ, ํ†ต๊ณ„, A/B ํ…Œ์ŠคํŠธ ๋“ฑ์˜ ๊ธฐ๋Šฅ๊นŒ์ง€ ์ง€์›ํ•œ๋‹ค.