Search

#013 #배포자동화01

익셉션 정의후 로그 남기기

대처가 필요한 것들은 로그를 꼭 남겨야 된다.

log.warn으로 로그를 남긴다.

로그를 파일로 남기기 위해서 AOP처리를 하게 되는 것.

500 에러 처리는 화면에 뿌리지 않고, 로그로만 저장

nohup은 백그라운드 실행이 된다. 내용은 기록되지만 날짜별로 분류가 되지는 않는다. 그래서Script로 코드를 짜놓아야 된다. (폴더 자동생성 스크립트)

DB로 밀어 넣으면, 쉽게 볼 수 있다.
logback을 활용해서 날짜별로 정리 할 수 있다.
로그를 남길 때 어떤 필드가 있으면 좋아? 라고 GPT한테 물어볼 수 있다.
DB에 기록할 때 스케줄링으로 기록한다. (모아서 기록)
daemon : 계속 도는 것, crontab : 스케줄링 등록 (OS에서 사용하는 명령어 이름)

crontab - 리눅스 스케줄링 명령어

스프링 스케줄링 어노테이션 @EnableScheduling / @Scheduled

외부 라이브러리 sentry (제일 편하다)

센트리 의존성 추가
목적지 주소 설정
센트리에 넘길려면

PROD설정 (프로파일 설정) (mysql)

dev.yml 로깅 설정하기

PROD.yml 설정

포트 번호 : 5000설정
리버스 프록시 : 바로 앞에 있는 대리인
포워드 프록시 : 나갈때 앞단에서 처리하는 대리인
VPN : layer4를 두번 씌우는 것
prod.yml코드

MySql설정

로깅 레벨 설정

JPA 방언 설정

create user 'metacoding'@'%' identified by 'metacoding1234'; GRANT ALL PRIVILEGES ON *.* TO 'metacoding'@'%'; create database blogdb;
JavaScript
복사

dev모드로 서버를 실행

mysql은 auto_intcrement 설정이 되어야 된다.
기존의 UTF 8이랑 동
-- 'metacoding' 사용자 계정을 생성하고 비밀번호를 'metacoding1234'로 설정합니다. create user 'metacoding'@'%' identified by 'metacoding1234'; -- 'metacoding' 사용자에게 모든 데이터베이스와 모든 테이블에 대한 모든 권한을 부여합니다. GRANT ALL PRIVILEGES ON *.* TO 'metacoding'@'%'; -- 'blogdb'라는 이름의 새로운 데이터베이스를 생성합니다. create database blogdb; -- 이후의 모든 SQL 작업이 'blogdb' 데이터베이스를 대상으로 수행되도록 합니다. use blogdb; -- 'user_tb' 테이블을 생성합니다. 이 테이블은 사용자의 정보를 저장합니다. create table user_tb ( id integer auto_increment, -- 자동 증가하는 기본 키 created_at timestamp(6), -- 생성 시간 email varchar(255), -- 이메일 주소 password varchar(255), -- 비밀번호 username varchar(255) unique, -- 유일한 사용자 이름 primary key (id) -- 기본 키 설정 ) DEFAULT CHARSET=utf8mb4; -- UTF-8 문자 집합 사용 -- 'board_tb' 테이블을 생성합니다. 이 테이블은 게시판의 게시글 정보를 저장합니다. create table board_tb ( id integer auto_increment, -- 자동 증가하는 기본 키 user_id integer, -- 게시글 작성자 ID (user_tb의 외래 키) created_at timestamp(6), -- 생성 시간 content varchar(255), -- 게시글 내용 title varchar(255), -- 게시글 제목 primary key (id), -- 기본 키 설정 constraint fk_board_user -- 외래 키 제약 조건 설정 foreign key (user_id) references user_tb(id) -- user_tb의 id를 참조하는 외래 키 ) DEFAULT CHARSET=utf8mb4; -- UTF-8 문자 집합 사용 -- 'reply_tb' 테이블을 생성합니다. 이 테이블은 게시글에 대한 댓글 정보를 저장합니다. create table reply_tb ( board_id integer, -- 댓글이 달린 게시글 ID (board_tb의 외래 키) id integer auto_increment, -- 자동 증가하는 기본 키 user_id integer, -- 댓글 작성자 ID (user_tb의 외래 키) created_at timestamp(6), -- 생성 시간 comment varchar(255), -- 댓글 내용 primary key (id), -- 기본 키 설정 constraint fk_reply_board -- 외래 키 제약 조건 설정 foreign key (board_id) references board_tb(id), -- board_tb의 id를 참조하는 외래 키 constraint fk_reply_user -- 외래 키 제약 조건 설정 foreign key (user_id) references user_tb(id) -- user_tb의 id를 참조하는 외래 키 ) DEFAULT CHARSET=utf8mb4; -- UTF-8 문자 집합 사용
SQL
복사
의존성 추가