aws ubuntu - spring boot api 배포

su dong·2023년 6월 8일
1
post-thumbnail

1. 인스턴스 생성

(t2.medium 이상은 빌려야 한다.)
https://velog.io/@ryusuz/AWS-%EB%A1%9C-%EC%84%9C%EB%B2%84-%EA%B5%AC%EC%B6%95%ED%95%98%EA%B8%B0-EC2-%EC%9D%B8%EC%8A%A4%ED%84%B4%EC%8A%A4-%EC%83%9D%EC%84%B1%ED%95%98%EA%B8%B0-AWS-EC2-%EA%B7%B8%EA%B2%8C-%EB%AD%94%EB%8D%B0

2. 우분투 연결

https://velog.io/@ryusuz/AWS-%EB%A1%9C-%EC%84%9C%EB%B2%84-%EA%B5%AC%EC%B6%95%ED%95%98%EA%B8%B0-%EB%A7%A5-%ED%84%B0%EB%AF%B8%EB%84%90%EC%97%90%EC%84%9C-EC2-%EC%9D%B8%EC%8A%A4%ED%84%B4%EC%8A%A4-%EC%A0%91%EC%86%8D%ED%95%98%EA%B8%B0-pem-%ED%8C%8C%EC%9D%BC

ssh -i reservation.pem ubuntu@43.201.68.29

3. mariadb 설치

$ sudo apt-get update
$ sudo apt install mysql-server
$ sudo apt-get install mysql-client

$ sudo mysql_secure_installation


use mysql;
SELECT User, Host, plugin FROM mysql.user;
UPDATE user SET plugin='mysql_native_password' WHERE User='root';

SHOW VARIABLES LIKE 'validate_password%'
SET GLOBAL validate_password_policy=LOW; 

alter user 'root'@'localhost' identified with mysql_native_password by '1234';
FLUSH PRIVILEGES;

을 실행하여 설정을 진행한다.
비밀번호 설정 거부 -> 익명계정 삭제 -> 원격 접속 허용 -> 테스트 db삭제 -> 설정내용 즉시 반영
해주었다.
참고자료 : https://velog.io/@yevini118/Ubuntu-EC2-mariadb-%EC%84%A4%EC%B9%98-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8-%EC%97%B0%EB%8F%99%ED%95%98%EA%B8%B0

4. jdk11 설치

참고자료:
https://bcp0109.tistory.com/356

$ sudo apt-get update
$ sudo apt-get install openjdk-11-jdk

5. spring boot jar 생성

https://deeplify.dev/back-end/spring/executable-jar#java-application%EC%9D%B4-%EC%8B%A4%ED%96%89-%EC%A4%91%EC%9D%B8%EC%A7%80-%ED%99%95%EC%9D%B8

6. 서버에서 jar 파일 배포

https://ict-nroo.tistory.com/40
https://bibi6666667.tistory.com/290

scp -i [pem파일경로] [업로드할 파일 이름] [ec2-user계정명]@[ec2 instance의 public DNS]:~/[경로]

ex)

scp -i "D:/document/aws/keypair/namjunemy_key_pair_ldcc_notebook.pem" test.txt 
ubuntu@ec2~~~~~~.ap-northeast-2.compute.amazonaws.com:~/test/
java -jar reservation-0.0.1-SNAPSHOT.jar


성공스!

7. 백그라운드 배포

nohup java -jar chatbot-0.0.1-SNAPSHOT2.jar & > /dev/null
실행중인 자바 프로세스 확인
ps -ef | grep java
kill -9 pid번호
참고자료: https://suyeoniii.tistory.com/52

(나만을 위한 메모입니다.)

ssh -i bunnydy.pem ubuntu@13.209.47.136
cd bunnydy
java -jar chatbot-0.0.1-SNAPSHOT.jar
profile
사람들을 돕는 문제 해결사, 개발자 sudong입니다. 반갑습니다. tkddlsqkr21@gmail.com

0개의 댓글