Group - 기업명, 기업 도메인명 / Artifact - 빌드되면 나오는 결과물 = 프로젝트명
GENERATE > 압축 파일 풀기 > IntelliJ에서 파일 Open
프로젝트 실행 및 빌드
동작 확인
기본 메인 클래스 실행 - @SpringBootApplication: 스프링부트 애노테이션으로 톰캣이라는 웹서버를 내장하고 있어서 스트링부트 실행 - 스프링부트 스타터 사이트에서 프로젝트를 생성하면 @SpringBootApplication 이 작성된 상태로 프로젝트가 생성됨
실행 로그에서 Tomcat 실행 확인 가능
http://localhost:8080로 이동하여 에러페이지로 간단하게 동작 확인
✚ IntelliJ로 자바 직접 실행
Gradle을 통해 실행하는 것이 기본 설정인데 이렇게 하면 실행속도가 느리므로 변경해주기
preferences > gradle > Build and run using, Run tests using -> IntelliJ IDEA 로 설정
✚ 라이브러리 살펴보기
Gradle은 의존관계가 있는 라이브러리를 함께 다운로드
스프링부트 라이브러리
spring-boot-starter-web
spring-boot-starter-tomcat: 톰캣(웹서버)
spring-webmvc: 스프링 웹 MVC
spring-boot-starter-thymeleaf: 타임리프 템플릿 엔진(View)
spring-boot-starter(공통): 스프링 부트 + 스프링 코어 + 로깅
spring-boot
spring-core
spring-boot-starter-logging (로그로 출력해야 로그파일이 관리가 됨(심각한 에러 등))
그 동안은 H2를 사용했기 때문에, 서비스를 내렸다 올리면 모든 데이터가 초기화되었음 ➡️ 데이터를 클라우드에 저장하여 서비스를 껐다 켜도 데이터가 유지되도록 함
AWS EC2에 배포
누구나 서비스에 접속할 수 있게 하려면 원격으로 항상 작동하는 컴퓨터 필요
도메인 붙이고 카카오톡으로 공유하기
OG 태그: 카카오톡으로 링크를 공유할 때, 자동으로 이미지, 제목, 내용을 가져오게 함
AWS RDS 구매하고 MySQL 세팅하기
RDS 구매하기
AWS에 접속하여 RDS 검색
데이터베이스 생성 > 표준 생성 > MySQL > 프리 티어 선택
설정 입력 - DB 인스턴스 식별자: 원하는 이름 작성 / 마스터 사용자 이름, 암호: DB 접속용으로 만들고 싶은 계정의 아이디, 비밀번호
DB 인스턴스 크기, 스토리지 설정 그대로
연결 > 추가 연결 구성 탭 클릭 후 다음과 같이 설정 - 퍼블릭 액세스 기능: "예" (이 설저이 되어 있어야 MySQL 연결 가능) - VPC 보안 그룹: "새로 생성" - 새 VPC 보안 그룹 이름: sprinboot-db-security - 가용 영역: 옵션 중 아무거나
추가 구성 > 초기 데이터베이스 이름에 "myselectshop" 입력 후 데이터베이스 생성 클릭
RDS 포트 열어주기
생성한 데이터베이스 클릭 > 연결 & 보안 > 보안 > VPC 보안 그룹의 springboot-db-security > 보안 그룹 ID 클릭
인바인드 규칙 편집 > 소스 > 위치 무관 -> 0.0.0.0, :/0 생성 후 "규칙 저장" 클릭
IntelliJ에서 확인
RDS 앤드포인트 확인 후 드래그하여 복사
<나만의 셀렉샵> 프로젝트 열기 > 우측 Database 탭 > Data Source > MySQL - Name: 생성한 데이터베이스 이름 - Host: 앤드포인트 - User: Username - Password: 비밀번호 - Database: myselectshop
- 다른 컴퓨터에 접속할 때 사용하는 프로그램으로 다른 프로그램보다 보안이 상대적으로 뛰어남
- 접속할 컴퓨터의 22번 포트가 열려있어야 접속 가능
- AWS EC2의 경우 이미 22번 포트가 열려있음
리눅스 명령어
ls: 내 위치의 모든 파일을 보여줌
pwd: 내 위치(폴더의 경로)를 알려줌
mkdir: 내 위치 아래에 폴더 하나 생성
cd [이동할 곳]: [이동랗 곳] 폴더로 이동
cd ..: 상위 폴더로 이동
cp -r [복사할 것] [붙여넣기 할 것]: 복사 붙여넣기
rm -rf: 삭제
sudo [실행할 명령어]: 관리자 권한으로 명령어 실행
sudo su: 관리가 권한으로 들어감 (나올 땐 exit)