๊ด€๋ฆฌ ๋ฉ”๋‰ด

๐Ÿ’ป๐Ÿ’ญ๐ŸŽง๐ŸŒ

[์›น ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ] 7. ์Šคํ”„๋ง aws ec2 ๋ฐฐํฌ ๋ณธ๋ฌธ

์›น ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ

[์›น ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ] 7. ์Šคํ”„๋ง aws ec2 ๋ฐฐํฌ

adorableco 2024. 1. 24. 23:46
๋ฐ˜์‘ํ˜•

#mood

 

์›๋ž˜ ๊ณ„ํš์€ aws ํ”„๋ฆฌํ‹ฐ์–ด๋„ ์–ผ๋งˆ ์•ˆ๋‚จ์•˜์„ํ…๋ฐ ๊ทธ๋ƒฅ ํ”„๋ก ํŠธ ์ชฝ์—์„œ ์Šคํ”„๋ง application ๋Ÿฐํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š”๊ฑธ๋ฃจ ํ•˜์ž.. ํ–ˆ๋Š”๋ฐ
์—ญ์‹œ๋‚˜ ์‰ฌ์šด ์ผ์ด ์•„๋‹ˆ์—ˆ๋‹ค. ์–ด์ฉŒ๋ฉด ๊ฑ ๋ฐฐํฌ ํ•œ๋ฒˆ ๋”ฑ ํ•ด๋†“๋Š”๊ฒŒ ์˜ค๋žซ๋™์•ˆ ํž˜๋“ค์ง„ ์•Š์„ ๊ฒƒ ๊ฐ™๋‹ค...! ๊ทธ๋ž˜์„œ ๊ทธ๋ƒฅ ๋ฐฐํฌ๋ฅผ ํ•˜๊ฒŒ ๋๋‹ค

ํ”„๋ก ํŠธ์—”๋“œ๋กœ ๋ฆฌ์•กํŠธ ์ฝ”๋“œ๋Š” ์ด๋ฏธ ec2์— ๋ฐฐํฌํ•ด๋ณธ ๊ฒฝํ—˜์ด ์žˆ์œผ๋ฏ€๋กœ ๋Œ€์ถฉ ๋น„์Šทํ•˜๊ฒ ์ง€ ํ•˜๊ณ  ์‹œ์ž‘!

 

๊ทผ๋ฐ ๋ฐ”๋กœ ์ด์Šˆ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ๋ฆฌ์•กํŠธ๋กœ ๊ฐœ๋ฐœ์„ ํ•  ๋• ๋ณด์•ˆ ์„ค์ •์ด ๋งŽ์ด ์—†๋‹ค๋ณด๋‹ˆ ๊ฑฐ์˜ ๋‹ค ๊นƒํ—ˆ๋ธŒ์— ๋ฐ”๋กœ ํ‘ธ์‹œ๋ฅผ ํ–ˆ์—ˆ๊ณ  gitignore ํ–ˆ๋˜ node_modules ๋งˆ์ €๋„ ๊ทธ๋ƒฅ npm installํ•˜๋ฉด ๋ฐ”๋กœ ์ƒ์„ฑ๋˜๋˜ ๊ฒƒ๋“ค์ด์—ˆ๋Š”๋ฐ,

์Šคํ”„๋ง์€ ์ผ๋‹จ gitignore ํ•ด๋‘”๊ฒŒ ๋งŽ์•˜๊ณ  ๊นƒํ—ˆ๋ธŒ ํด๋ก ํ•ด์„œ ์› ์ƒํƒœ๋กœ ๋ณต๊ตฌ์‹œํ‚ฌ ์ˆ˜๋„ (npm install ์ฒ˜๋Ÿผ) ์—†์—ˆ๋‹ค.

 


 

์ผ๋‹จ ๊ฒ€์ƒ‰ํ•ด๋ณด๋‹ˆ scp๋ฅผ ์ด์šฉํ•ด์„œ ๋กœ์ปฌ ํŒŒ์ผ์„ ์ธ์Šคํ„ด์Šค ๋‚ด๋กœ ์ „์†กํ•˜๋ฉด ๋œ๋‹ค๋Š”๋ฐ ..

๊ทธ๋Ÿผ ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ๋ฅผ ๋‹ค ๊ทธ๋ ‡๊ฒŒ ์ „์†กํ•ด์•ผ ๋ผ...? ํ•˜๋Š” ์˜๊ตฌ์‹ฌ์— ์ผ๋‹จ ์นœ๊ตฌํ•œํ…Œ ๋ฌผ์–ด๋ณด๊ณ  ์™”๋‹ค.

 


๋‹คํ–‰ํžˆ.. ์—ญ์‹œ๋‚˜..! ๊ทธ๋ƒฅ ํŒŒ์ผ ํ•˜๋‚˜๋งŒ ๋กœ์ปฌ์—์„œ ์ธ์Šคํ„ด์Šค ๋‚ด๋กœ ์ „์†กํ•˜๋ฉด ๋œ๋‹ค๊ณ  ํ•œ๋‹ค.

 

 

ํ”„๋กœ์ ํŠธ์˜ ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ๋นŒ๋“œ๋ฅผ ํ•ด์ฃผ๋ฉด

./gradlew build

 

 

/build/libs ๋‚ด์— ์•„๋ž˜์™€ ๊ฐ™์ด jar ํŒŒ์ผ์ด ์ƒ์„ฑ๋œ๋‹ค.

 

 

โœ… **-plain.jar ์€ ์‹คํ–‰ ๋ถˆ๊ฐ€๋Šฅํ•œ ํŒŒ์ผ, ๊ทธ๋ƒฅ **-.jar์€ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํŒŒ์ผ์ด๋‹ค. ์ฆ‰, ์ธ์Šคํ„ด์Šค ๋‚ด๋กœ ์ „์†กํ•ด์•ผํ•  ํŒŒ์ผ์€ ํ›„์ž์ด๋‹ค.

 

scp -i "/Users/**directory ์ด๋ฆ„**/Downloads/a-hi-frontend.pem" fit_friends-0.0.1-SNAPSHOT.jar ec2-user@1.12.123.1234:~/

scp -i "pem ํŒŒ์ผ ๊ฒฝ๋กœ" {์ „์†กํ•  ํŒŒ์ผ ์ด๋ฆ„} ec2-user@{public Ipv4 ์ฃผ์†Œ}:~/
  • ๋‚˜๋Š” ์ „์†กํ•  ํŒŒ์ผ์ด ์žˆ๋Š” ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์—์„œ ๋ฐ”๋กœ ์ง„ํ–‰ํ•˜์˜€๋‹ค.
  • ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ด์ œ ec2 ์ธ์Šคํ„ด์Šค ๋‚ด์—์„œ jar ํŒŒ์ผ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค!

 

์ด์ œ ec2 ์ธ์Šคํ„ด์Šค๋กœ ์ ‘์†ํ•ด์„œ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™ํ•œ๋‹ค

cd /etc/nginx/sites-available/
sudo vim server.conf

 

โžก๏ธ server.conf ๋Š” ์ด์ „์— ํ”„๋ก ํŠธ ๋ฐฐํฌ์— ์‚ฌ์šฉํ–ˆ๋˜ ๊ฒƒ์ธ๋ฐ

๋‚˜๋Š” ํ•œ nginx์— ํฌํŠธ๋ฅผ ๋‘๊ฐœ๋กœ ๋‚˜๋ˆ ์„œ ์‚ฌ์šฉํ• ๊ฑฐ๋ผ ๊ฐ™์€ ํŒŒ์ผ์— ์„ค์ • ์ •๋ณด๋ฅผ ํ•จ๊ป˜ ๋‹ด์„ ๊ฒƒ์ด๋‹ค.

 

  • ๊ธฐ์กด์— ์žˆ๋˜ ํ”„๋ก ํŠธ ์„œ๋ฒ„๋Š” 80 ํฌํŠธ (๊ธฐ๋ณธ) ์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์ง€๊ธˆ ์ง„ํ–‰ ์ค‘์ธ ๋ฐฑ์—”๋“œ๋Š” 8081 ํฌํŠธ๋ฅผ listen ํ•œ๋‹ค.
    โ“ ์Šคํ”„๋ง ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๊ธฐ๋ณธ์ ์œผ๋กœ 8080 ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ทธ๋Ÿฐ์ง€ nginx์—์„œ 8080 ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•˜๋‹ˆ ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ๋‹ค. ์•„๋ฌดํŠผ 8081 ํฌํŠธ๋กœ ํ•˜๋‹ˆ ์ •์ƒ ์ž‘๋™!

 

๊ทธ๋ฆฌ๊ณ  scp๋ฅผ ์ด์šฉํ•ด ์ธ์Šคํ„ด์Šค๋กœ ํŒŒ์ผ์„ ์ „์†กํ•œ ๊ทธ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ! jar ํŒŒ์ผ์„ ์‹คํ–‰ํ•ด์ค€๋‹ค

java -jar fit_friends-0.0.1-SNAPSHOT.jar

 

ํ„ฐ๋ฏธ๋„์„ ์ข…๋ฃŒํ•ด๋„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰๋˜๋„๋ก ํ•˜๋ ค๋ฉด ์•ž์— nohup ์„ ๋ถ™์—ฌ์ค€๋‹ค.

nohup java -jar fit_friends-0.0.1-SNAPSHOT.jar
 

์ •์ƒ์ž‘๋™... ํ•˜๋Š” ์ค„ ์•Œ์•˜์œผ๋‚˜

ํ•œ๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ๊ตฌ๊ธ€ ์†Œ์…œ ๋กœ๊ทธ์ธ์—์„œ ๋ฐœ์ƒํ•œ๋‹ค.

ec2 ์ธ์Šคํ„ด์Šค์˜ public Ipv4 ์ฃผ์†Œ๋ฅผ ๊ทธ๋Œ€๋กœ ๋ฆฌ๋””๋ ‰์…˜ URI ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

 

 

๋ฐฉ๋ฒ•์ด ์—†๋Š” ๊ฒƒ ๊ฐ™๋‹ค.. ๊ทธ๋ƒฅ ๋„๋ฉ”์ธ์„ ์—ฐ๊ฒฐํ•˜๋Š” ์ˆ˜ ๋ฐ–์—..!
ํ•œ์ฐฝ ๋ชจ๊ฐ์ฝ”ํ•˜๊ณ  ์žˆ์„ ๋•Œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ๊ฒฌํ•ด์„œ ๋นจ๋ฆฌ ํ•ด๊ฒฐํ•  ๋ฐฉ๋ฒ•์„ ์ฐพ์•˜๋Š”๋ฐ Duck DNS ์—์„œ ๋ฌด๋ฃŒ๋กœ DNS ๋„๋ฉ”์ธ์„ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ํ™ˆํŽ˜์ด์ง€์— ๋“ค์–ด๊ฐ€์„œ ๋กœ๊ทธ์ธ ํ›„ current ip ์— ec2 ์ธ์Šคํ„ด์Šค์˜ public Ipv4 ์ฃผ์†Œ๋ฅผ, domain ์—๋Š” ๋„๋ฉ”์ธ ๋ช…์„ ์ž…๋ ฅํ•ด์ฃผ๋ฉด http://fit-friends.duckdns.org:8081/api/login ์ด๋Ÿฐ ์‹์œผ๋กœ ์ด์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

ํ•ด๋ณด๋‹ˆ ์ •์ƒ ์ž‘๋™๋œ๋‹ค! ๊ทผ๋ฐ ์‚ฌ์ดํŠธ๊ฐ€ ๋ฏฟ์Œ์ง์Šค๋Ÿฝ๊ฒŒ ์ƒ๊ธฐ์ง€ ์•Š์•„์„œ... ์Œ..!


๋‹ค์Œ ํ•  ์ผ

  • ์ถœ์„ ์ฒดํฌ ์šฉ QR ์ฝ”๋“œ ์ƒ์„ฑ ๋ฐ, ์ถœ์„ ์ฒดํฌ๋Š” ์˜ค๋Š˜ ๊ตฌํ˜„์ด ๋๋‚ฌ๋Š”๋ฐ ๋ฐฐํฌ์™€ ๋ถ„๋ฆฌํ•˜๊ณ  ์‹ถ์–ด์„œ ๋‚ด์ผ ์ค‘์œผ๋กœ ์ž‘์„ฑํ•ด์•ผ๊ฒ ๋‹ค.
  • ์ด์ œ ๋ณธ๊ฒฉ์ ์œผ๋กœ ํšŒ์› ํŽ˜์ด์ง€์—์„œ ์‚ฌ์šฉํ•  ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•œ๋‹ค.
    • ์ถœ์„ ์ฒดํฌ ํšŸ์ˆ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ถœ์„๋ฅ , ๊ฒฐ์„๋ฅ ์„ ์ œ๊ณตํ•ด์•ผ ํ•˜๊ณ 
    • ์Šน๋ฅ  ๋“ฑ๋„ ์ œ๊ณตํ•ด์•ผํ•œ๋‹ค.

๋‚ด์ผ๋„ ํ™”์ดํŒ… ๐Ÿ‘๐Ÿ‘

๋ฐ˜์‘ํ˜•