[Server] EC2์๋ฒ git clone + RDS์ ์คํ๋ง๋ถํธ์ฐ๊ฒฐ +ํ๋ก์ ์ค์
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๊ฐ ๋จ๋๋ฐ ๊ฑฐ๊ธฐ๋ก ๋ค์ด๊ฐ์ ์ธ๋ฐ์ด๋ ๊ท์น ํธ์ง.
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์ ์ค์นํ์ง ์๊ณ
๋ฐ๋ก ๋น๋ํ ์ ์๊ฒ ํด์ฃผ๋ ์ญํ ์ ํ๋ค.
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 ๋ณด์๊ทธ๋ฃน ์ค์ ์ ๋ค์ ํ์ธํด๋ณด๋ฉด ๋๋ค.