본문 바로가기
프로젝트/스프링 부트와 AWS로 혼자 구현하는 웹 서비스_실습

스프링부트와 AWS로 혼자 구현하는 웹 서비스 17_AWS

by dudung__ 2023. 8. 28.

08_3 외부 security 파일 등록하기 

ClientRegistrationRepository 생성위해서는 clientId 와 clientSecret이 필수임
=> 로컬 pc에서 실행할때는 application-oauth.yml이 있어서 상관없었지만, 이 파일은 gitigonre에 제외대상으로 넣어놔서 깃에 올라가지 않음

 

공개된 저장소에 올릴수는 없으니 서버에서 직접 이 설정을 가지고 있게 해야함'

 

일단 app 디렉터리에 yml 파일을 생성

sudo vim app/application-oauth.yml

=> 책에서는 .properties 파일이겠지만, 나는 .yml 파일임

 


properties vs yml

=> 이런식으로 쓰는 방식에 있어서 차이가 있음

 

하지만, 기본적인 구조는 비슷하기 때문에 편한 것을 사용하면됨


주의할 점은 properties와 yml을 함께 사용하면 properties 파일이 우선순위가 높아 yml 파일에서 설정한 내용이 덮어씌워질 수 있다는 점임

=> 둘중에 하나만 사용하는것이 바람직함


 

방금 생성한 app/application-oauth.yml 파일을 쓰게하기 위해서 

deploy.sh 파일을 수정할 것임

 

맨 밑의

nohup java -jar => 하위부분을 수정해줄 것임

 

echo "> JAR Name: $JAR_NAME"
nohup java -jar \ -Dspring.config.location=classpath:/application.yml,/home/ec2-user/app/application-oauth.yml \ $REPOSITORY/$JAR_NAME 2>&1 &

 

./deploy.sh

 

=> 

=> jar 파일을 찾을 수가 없다고  뜸

=> 하지만 프로젝트 내의 application.yml , application-oauth.yml의 경로를 확인해봐도 틀린 곳이 없었음

=> 그래서 계속 찾아보다가 

혹시나 싶어서 \ 를 기준으로 줄바꿈을 해줌

그랬더니 ..?

 

앱이 성공적으로 돌악는것을 볼수 있었음...

이게 무슨..?

 

일단 진정하고 다음으로 넘어감

 

08_4 스프링 부트 프로젝트로  RDS 접근하기 

create  table

=> 인텔리제이에서 테스트 수행시 나오는 코드를 복사해서 => RDS에 적용

create table posts(id bigint not null auto_increment, created_date timestamp(6),modified_date timestamp(6), author varchar(255), content TEXT not null, title varchar(500) not null,primary key (id)) engine=innodb;

=> 로그를 안돌아가는 부분과, 책에 나온 부분을 참고해서 고침

 

create table users (id bigint not null auto_increment, created_date timestamp(6), modified_date timestamp(6), email varchar(255) not null, name varchar(255) not null, picture varchar(255), role varchar(255) not null, primary key (id)) engine=innodb;

 

 

 

 

 

update posts set author='nana';

=> update 시간은 안들어오고, update ~ set 으로 내용을 바꾸면 created_date가 같이 바뀌어서 당황스러웠다... 구글링을 통해서 table을 만들때 지정해주는 것들을 바꿔줬음 

 

create table users (id bigint not null auto_increment, created_date timestamp(6), modified_date timestamp(6), email varchar(255) not null, name varchar(255) not null, picture varchar(255), role varchar(255) not null, primary key (id)) engine=innodb;

=> 이런 형태이던걸

create table users_ttest (id bigint not null auto_increment, created_date timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP, modified_date timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, email varchar(255) not null, name varchar(255) not null, picture varchar(255), role varchar(255) not null, primary key (id)) engine=innodb;

 

=> 바꾼 코드 

create table posts(id bigint not null auto_increment,created_date timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP, modified_date timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, author varchar(255), content TEXT not null, title varchar(500) not null,primary key (id)) engine=innodb;

 

create table user (id bigint not null auto_increment, created_date timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP, modified_date timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, email varchar(255) not null, name varchar(255) not null, picture varchar(255), role varchar(255) not null, primary key (id)) engine=innodb;

 

=> 시간이 다르게 잘 뜨는것을 볼 수 있었음

 

진짜.. DBeaver / sql 쓰는 법을 많이 알아간 시간이였다 ㅎㅎㅎ..