Springboot

[Server] EC2์„œ๋ฒ„ git clone + RDS์™€ ์Šคํ”„๋ง๋ถ€ํŠธ์—ฐ๊ฒฐ +ํ”„๋ก์‹œ ์„ค์ •

Alchemists 2022. 8. 4. 01:24
728x90

1. github ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด์„œ springboot ํ”„๋กœ์ ํŠธ์™€ ์—ฐ๋™ํ•œ๋‹ค. ์ด๊ฑด ์ธํ…”๋ฆฌ์ œ์ด ํ„ฐ๋ฏธ๋„ ์—ด์–ด์„œํ•˜๋ฉด๋จ

 

2.ec2์—์„œ git ์„ค์น˜

 

apt-get install git 

git --version

 

 

3. ec2 git cloneํ•˜๊ธฐ

๋ณด์•ˆ์ƒ ์ •์ฑ…๋•Œ๋ฌธ์—  git clone์ด https๋กœ ์•ˆ๋œ๋‹ค. ๊ทธ๋ž˜์„œ ssh๋กœ git๊ณผ ec2 ์—ฐ๊ฒฐํ•ด์•ผํ•œ๋‹ค. 

 

๐Ÿ“ ๊ทธ๋Ÿผ SSH๋Š” ๋ญ˜๊นŒ์š”?

 

์‹œํ์–ด ์…€๋กœ ๋„คํŠธ์›Œํฌ ์ƒ์˜ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์— ๋กœ๊ทธ์ธํ•˜๊ฑฐ๋‚˜ ์›๊ฒฉ ์‹œ์Šคํ…œ์—์„œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ณ  ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์œผ๋กœ

ํŒŒ์ผ์„ ๋ณต์‚ฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ์‘์šฉํ”„๋กœ๊ทธ๋žจ/ํ”„๋กœํ† ์ฝœ์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค.

๋Œ€ํ‘œ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ์ „์†ก์ด๋‚˜ ์›๊ฒฉ์ œ์–ด์— ์‚ฌ์šฉ๋˜๊ณ  ๋ฐ์ดํ„ฐ ์ „์†ก์˜ ์˜ˆ์‹œ๋กœ๋Š” ๊นƒ ํ—ˆ๋ธŒ๊ฐ€ ์žˆ๋‹ค. ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๊นƒํ—ˆ๋ธŒ์— push

ํ• ๋•Œ SSH ํŒŒ์ผ์„ ์ด์šฉํ•ด ํŒŒ์ผ์„ ์ „์†กํ•˜๊ฒŒ ๋œ๋‹ค.

์›๊ฒฉ ์ œ์–ด์˜ ๊ฒฝ์šฐ ec2 ์ธ์Šคํ„ด์Šค ์„œ๋ฒ„์— ์ ‘์†ํ•˜์—ฌ ๋ช…๋ น์„ ๋‚ด๋ฆฌ๊ธฐ ์œ„ํ•ด SSH์„ ํ†ตํ•œ ์ ‘์†์„ ํ•˜๋Š”๋ฐ WinSCP๊ฐ€ ๊ทธ๋Ÿฐ ์—ญํ• ์„ ํ•œ๋‹ค!

 

 

 

https://velog.io/@loakick/2019-11-19-0011-%EC%9E%91%EC%84%B1%EB%90%A8-2ck34lupye

 

AWS EC2 Ubuntu 18.04์— Github SSH ์„ค์ •ํ•˜๊ธฐ

๋“ค์–ด๊ฐ€๊ธฐ ์•ž์„œ Gihhub ๋ ˆํฌ์ง€ํ† ๋ฆฌ์— push๋ฅผ ํ•˜๊ฑฐ๋‚˜, private ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋ฐ›์•„์˜ค๊ธฐ ์œ„ํ•ด์„œ๋Š” Github ๊ณ„์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋งค๋ฒˆ ํ•  ๋•Œ๋งˆ๋‹ค ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๊ธฐ๋Š” ๊ท€์ฐฎ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ Github ssh key

velog.io

WinSCP Putty์ฐฝ ์—ฐ ๋‹ค์Œ์—

 

 cd ~/.ssh

ํ‚ค์   ์ด์šฉํ•˜์—ฌ ์ƒˆ๋กœ์šด ํ‚ค ์ƒ์„ฑ

 

ssh-keygen -t rsa -b 4096 -C "email@example.com"

์•„๋ž˜ ์ด๋ฏธ์ง€ ๋‚˜์˜ค๊ธฐ ์ „๊นŒ์ง€ ๊ณ„์† enter

์ด๋Ÿฐ ์ด๋ฏธ์ง€ ๋‚˜์˜ค๋ฉด ์•„๋ž˜์— 

cat ~/.ssh/id_rsa.pub

 

๊ทธ๋Ÿผ ์•”ํ˜ธํ™”๋œ ํ‚ค์˜ ๋‚ด์šฉ์ด ๋œฐ ๊ฑด๋ฐ ์ด๊ฑธ ๋ฉ”๋ชจ์žฅ์— ๋ณต์‚ฌํ•ด์ฃผ๊ธฐ 

 

๊ทธ๋‹ค์Œ github์— ๋‚ด ํ”„๋กœํ•„ -> settingํŽ˜์ด์ง€ ๋“ค์–ด๊ฐ€๊ธฐ -> SSH and GPG key -> new SSH

 

 

๋‹ค์‹œ clone ํ•˜๊ธฐ ์œ„ํ•ด Putty๋กœ ๊ฐ€๊ธฐ 

 

cd /var/www
ls

 

๊นƒํ—ˆ๋ธŒ์—์„œ sshํ•ด๋‹นํ•˜๋Š” ์ฃผ์†Œ ๊ฐ€์ ธ์˜ค๊ธฐ

์ด ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ•œ๋‹ค์Œ์— putty์—์„œ

var/www # git clone ์•„๊นŒ๋ณต์‚ฌํ•œ ssh์ฃผ์†Œ

continue connecting์ด๋ผ๋Š” ์งˆ๋ฌธ์— yes๋ผ๊ณ  ํ•˜๋ฉด done! 

/var/www# ls

๊ทธ๋Ÿฌ๋ฉด ๋‚ด github repository ์ด๋ฆ„์˜ ์„œ๋ฒ„๊ฐ€ ๊ตฌ์ถ•๋œ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

์ด์ œ DB๋ฅผ ์—ฐ๊ฒฐํ•ด์ฃผ์ž. 

 

RDS ๋กœ ๋“ค์–ด๊ฐ„๋‹ค์Œ VPC ๋ณด์•ˆ๊ทธ๋ฃน ํด๋ฆญ

๊ทธ๋Ÿฌ๋ฉด ๋ณด์•ˆ๊ทธ๋ฃน ID๊ฐ€ ๋œจ๋Š”๋ฐ ๊ฑฐ๊ธฐ๋กœ ๋“ค์–ด๊ฐ€์„œ ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™ ํŽธ์ง‘.

RDS ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™ ํŽธ์ง‘์ด๋‹ค!

9000๋ฒˆ ํฌํŠธ๋ฅผ ์—ด์–ด์ฃผ๋ฉด ๋œ๋‹ค. 

 

 

4. DB์™€ ์Šคํ”„๋ง๋ถ€ํŠธ ์—ฐ๊ฒฐ + ์Šคํ”„๋ง๋ถ€ํŠธ์—์„œ git pushํ•œ๊ฒƒ์„ ec2์—์„œ git pullํ•˜๊ธฐ 

 

src/main/resources์—์„œ application.yml ํŒŒ์ผ ์‹คํ–‰ 

์—ฌ๊ธฐ์„œ ๋‚˜๋Š” username:master ๋ผ๊ณ  ์„ค์ •์•ˆํ•ด์ค˜์„œ ๊ฝค๋‚˜ ์• ๋จน์—ˆ๋‹ค. ์ด username์€ rds db ์š”์•ฝ ๊ฐ€๋ฉด ์ด๋ฆ„ ๋ฐ”๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋ญ”๊ฐ€ ์Šคํ”„๋ง์—์„œ db์—ฐ๊ฒฐ ์•ˆ๋˜๋ฉด ์ด๋ฆ„ ์„ค์ • ์ž˜ ํ•ด์คฌ๋Š”์ง€ ํ™•์ธํ•ด๋ด์•ผํ•œ๋‹ค. 

 

๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” RDS ๋น„๋ฐ€๋ฒˆํ˜ธ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค. 

 

์ด๋ ‡๊ฒŒ DB์—ฐ๋™ํ•œ๊ฒƒ์„ ์—…๋กœ๋“œ ํ•ด์•ผํ•œ๋‹ค. ์ˆ˜์ •์ด ์ผ์–ด๋‚œ๊ฑฐ๋‹ˆ๊นŒ ์ธํ…”๋ฆฌ์ œ์ด ํ„ฐ๋ฏธ๋„์—์„œ git์— ์ปค๋ฐ‹ํ•ด์ค˜์•ผ ํ•œ๋‹ค.,

 

git add .
git commit -m "์ปค๋ฐ‹๋ฉ”์„ธ์ง€"
git push

 

์ด์ œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ putty์ฐฝ์„ ์—ฐ๋‹ค. (git pull์„ ํ•˜๊ธฐ ์œ„ํ•ด)

 

/vaw/www# ls

์ด๋Ÿฌ๋ฉด ํด๋” ์ด๋ฆ„์ด ๋œฌ๋‹ค.

/var/www# cd ํด๋”์ด๋ฆ„
/var/www/ํด๋”์ด๋ฆ„# git pull

๋ฐ˜๋“œ์‹œ ์ž‘์—… ํด๋” ์•ˆ์—์„œ git pull์„ ํ•ด์ฃผ๋„๋ก ํ•˜์ž. 

 

5. ํ”„๋ก์‹œ ์„ค์ • 

 

๐Ÿ“ ํ”„๋ก์‹œ๋ž€ ๋ญ”๊ฐ€์š”?

 

'๋Œ€๋ฆฌ'๋ผ๋Š” ์˜๋ฏธ๋กœ ๋„คํŠธ์›Œํฌ ํ”„๋กœํ† ์ฝœ์—์„œ ๋Œ€๋ฆฌ์‘๋‹ต ๋“ฑ์—์„œ ์นœ์ˆ™ํ•œ ๊ฐœ๋…์ด๋‹ค.

๋ณด์•ˆ์—์„œ๋Š” ์ฃผ๋กœ ๋ณด์•ˆ์ƒ์˜ ์ด์œ ๋กœ ์ง์ ‘ ํ†ต์‹ ํ•  ์ˆ˜ ์—†๋Š” ๋‘์  ์‚ฌ์ด์—์„œ ํ†ต์‹ ์„ ํ•  ๊ฒฝ์šฐ ๊ทธ ์‚ฌ์ด์—์„œ

๋Œ€๋ฆฌ๋กœ ํ†ต์‹ ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ฐ€๋ฆฌ์ผœ 'ํ”„๋ก์‹œ'๋ผ ํ•˜๊ณ , ์ค‘๊ณ„ ๊ธฐ๋Šฅํ•˜๋Š” ๋Œ€์ƒ์„ ํ”„๋ก์‹œ ์„œ๋ฒ„๋ผ๊ณ  ํ•œ๋‹ค.

https://brownbears.tistory.com/191

 

ํ”„๋ก์‹œ๋ž€?

ํ”„๋ก์‹œ๋ž€? ํ”„๋ก์‹œ(Proxy)๋ž€ '๋Œ€๋ฆฌ'๋ผ๋Š” ์˜๋ฏธ๋กœ,๋„คํŠธ์›Œํฌ ๊ธฐ์ˆ ์—์„œ๋Š” ํ”„๋กœํ† ์ฝœ์— ์žˆ์–ด์„œ ๋Œ€๋ฆฌ ์‘๋‹ต ๋“ฑ์—์„œ ์นœ์ˆ™ํ•œ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. ๋ณด์•ˆ ๋ถ„์•ผ์—์„œ๋Š” ์ฃผ๋กœ ๋ณด์•ˆ์ƒ์˜ ์ด์œ ๋กœ ์ง์ ‘ ํ†ต์‹ ํ•  ์ˆ˜ ์—†๋Š” ๋‘ ์ 

brownbears.tistory.com

 

 

์ด์ œ ํ”„๋ก์‹œ ์„ค์ •์„ ํ• ๊ฑด๋ฐ, vim ํŽธ์ง‘๊ธฐ์—์„œ ์ง„ํ–‰ํ•  ๊ฒƒ์ด๋‹ค.

apt-install vim
vim /etc/nginx/sites-available/default

 

/vaw/www/๊นƒํ—™ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ด๋ฆ„

try_files ์ด๋ถ€๋ถ„ ์ฃผ์„์ฒ˜๋ฆฌ 

๊ทธ๋ฆฌ๊ณ  ํ”„๋ก์‹œ ์„ค์ •์ฝ”๋“œ ์ถ”๊ฐ€

 

ํ™˜๊ฒฝ์„ค์ •์„ ํ•ด์คฌ์œผ๋‹ˆ nginx ์žฌ๋ถ€ํŒ…

/var/www/ServerProject# systemctl restart nginx
/var/www/ServerProject# ./gradlew clean build

 ๐Ÿšจ issue ๋ฐœ์ƒ!

์ด๊ฑด ./gradlew์„ ์‹คํ–‰ํ•  ๊ถŒํ•œ์ด ์—†์–ด์„œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ์ด๋‹ค.

 

/var/www/ServerProject# chmod +x ./gradlew

 

https://minholee93.tistory.com/entry/ERROR-bash-gradlew-Permission-denied

 

[ERROR] -bash: ./gradlew: Permission denied

1. ๋ฌธ์ œ ec2 ์„œ๋ฒ„์—์„œ git clone ํ›„ ./gradlew๋กœ build๋กœ ์ง„ํ–‰ํ•˜๋ฉด permission denied ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ./graldew clean build -x test 2. ์›์ธ ./gradlew๋ฅผ ์‹คํ–‰ํ• ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์ด ์—†์–ด์„œ์ด๋‹ค. 3. ํ•ด๊ฒฐ build๋ฅผ..

minholee93.tistory.com

 

์ด๋Ÿฌ๊ณ  ๋‚˜๋‹ˆ ๋‚ด๊ฐ€ ec2์„œ๋ฒ„์— java๋ฅผ ์„ค์น˜ํ•˜์ง€ ์•Š์•˜๋‹ค๋Š” ๊ฒƒ์„ ์ž๊ฐํ–ˆ๋‹ค..ใ…‹ใ…‹

 

https://kitty-geno.tistory.com/25

 

AWS | EC2 JAVA(์ž๋ฐ”) ์„ค์น˜

1. ์„ค์น˜ ๊ฐ€๋Šฅํ•œ ์ž๋ฐ” ๋ฒ„์ „ ํ™•์ธ sudo yum list | grep jdk 2. ์ž๋ฐ” ์„ค์น˜ sudo yum install java-1.8.0-openjdk Is this ok ๊ฐ€ ๋‚˜์˜ค๋ฉด y ์ž…๋ ฅ 3. ์„ค์น˜๋œ ์ž๋ฐ” ๋ฒ„์ „ ํ™•์ธ java -version 4. javac ์„ค์น˜ sudo yum in..

kitty-geno.tistory.com

https://velog.io/@alsdn9501/AWS-EC2-Java-11-%EC%84%A4%EC%B9%98

 

AWS EC2(Ubuntu18.04) Java 11 ์„ค์น˜

https://medium.com/sjk5766/yum%EC%97%90-%EB%8C%80%ED%95%B4-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90-a41a75a0136bโ€ป ์ž์„ธํ•œ ์„ค๋ช…์€ ์œ„ ๋งํฌ ์ฐธ๊ณ โ€ป apt-get(Advanced P

velog.io

์œ„ ๊ธ€์„ ๋ณด๋ฉฐ java 11๋ฒ„์ „์„ ๊น”์•˜๊ณ , ๊ทธ๋ž˜์„œ ์Šคํ”„๋ง๋ถ€ํŠธ๋„ 11๋ฒ„์ „์œผ๋กœ ๋ฐ”๊ฟจ๋‹ค.(์›๋ž˜๋Š” ์ž๋ฐ” 15์ผ์—ˆ์Œ)

 

 

์ž๋ฐ” ์„ค์น˜๋ฅผ ํ•ด์คฌ์œผ๋‹ˆ ์ด์ œ /var/www/ServerProject๋กœ ์™€์„œ 

/var/www/ServerProject# ./gradlew clean build

 

 

๊ต‰์žฅํžˆ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค๋ฉด ์ •์ƒ์ž…๋‹ˆ๋‹น! 

 

๐Ÿ“ ./gradlew๊ฐ€ ๋ญ”๊ฐ€์š”?

 

gradle wrapper๋กœ gralew๋Š” ์ƒˆ๋กœ์šด ํ™˜๊ฒฝ์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์„ค์ •ํ•  ๋•Œ java๋‚˜ gradle์„ ์„ค์น˜ํ•˜์ง€ ์•Š๊ณ 

๋ฐ”๋กœ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. 

https://gihyun.com/120

 

3. gradlew (gradle wrapper) - spring ์‚ฌ์šฉํ•˜๊ธฐ

source code: https://github.com/kgmhk/spring-boot-tutorial/tree/gradlew gradlew (gradle wrapper) ๋ž€ gradle wrapper ์ค„์—ฌ์„œ gradlew ๋Š” ์ƒˆ๋กœ์šด ํ™˜๊ฒฝ์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์„ค์ •ํ•  ๋•Œ java๋‚˜ gradle์„ ์„ค์น˜ํ•˜์ง€ ์•Š..

gihyun.com

๋งŒ์•ฝ 10๋ถ„์ด ์ง€๋‚˜๋„ ์•ˆ๋œ๋‹ค๋ฉด ec2 ์ธ์Šคํ„ด์Šค๋ฅผ ์ค‘์ง€ํ•˜๊ณ  ๋‹ค์‹œ ์‹คํ–‰ํ•ด์•ผํ•œ๋‹ค. (๊ทธ๋Ÿฌ๊ธฐ ์œ„ํ•ด์„œ ๋ฏธ๋ฆฌ elastic ip๋ฅผ ํ• ๋‹น๋ฐ›๋Š” ๊ฑธ ์ถ”์ฒœํ•œ๋‹ค. ๊ณผ๊ธˆ๋˜๊ธดํ•˜๋Š”๋ฐ ์›น์„œ๋ฒ„ ๋‹ค์‹œ ๊ตฌ์ถ•ํ•˜๋Š”๊ฒƒ ๋ณด๋‹จ ๋‚˜์€๊ฒƒ ๊ฐ™๋‹ค..)

 

์ด์ œ ์„œ๋ฒ„๋ฅผ ์‹คํ–‰ํ•ด ๋ณผ๊ฑฐ๋‹ค.

 

/var/www/ServerProject# java -jar build/libs/demo-0.0.1-SNAPSHOT.jar

 

 

 

๋งŒ์•ฝ ์—ฌ๊ธฐ์„œ ์—๋Ÿฌ๊ฐ€ ๋œฌ๋‹ค๋ฉด rds ๋ณด์•ˆ๊ทธ๋ฃน ์„ค์ •์„ ๋‹ค์‹œ ํ™•์ธํ•ด๋ณด๋ฉด ๋œ๋‹ค. 

728x90