무조건 학습자료 pt 참고
해당 글은 참고용으로만
jar 파일 로컬에서 배포, 실행 서비스
aws => 우분투 설치 20.04
원격 터미널 (내컴퓨터에서 서버컴퓨터로 명령어 전달) putty
원격 파일전송(ftp) winscp
ubuntu설치 및 환경설정
oracle xe docker 이용 설치 / 포트 개방 => 원격 dbms 서비스
sqldeveloper => 원격 dbms에 접속 scott계정 사용
jdk11설치
JAR AWS 배포 서비스
ngix 이용 80포트 서비스 설정
tomcat 9.0 설치
war tomcat 배포 서비스
배포할 프로젝트 임포트하여
com.example.config 와 같은 패키지에
WebConfig 생성 - cross origin 기능을 일괄적용하기 위한 설정
package com.example.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class WebConfig implements WebMvcConfigurer{
@Override
public void addCorsMappings(CorsRegistry registry) {
//1.
registry.addMapping("/**")
.allowedOrigins("*")
.allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
.allowedHeaders("*")
.maxAge(3600);
}
}
pom.xml plugins 아랫부분에 추가
<!--mapper 누락 방지-->
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
application.properties - 나중에 서버ip로 변경해야함 포트는 11521
#spring.datasource.url=jdbc:oracle:thin:@원격지ip:11521:xe
@CrossOrigin을 달아야하는 경우와 이유 ?
이전 설정이 다름
배포는 프로젝트 실행 테스트 한번 후
run as - maven build - 추가설정 똑같음
그리고 배포하는 곳도 다름 jar는 단독 배포 가능하지만 war는 톰켓 버전 맞는거 설치해서 거기 depoly path인 webapp에 넣어줘서 실행시켜야함. 관련 설정도 해야함 정확한건 이전 포스트 참조 (server.xml 포트, context 어쩌고 수정)
비교적 복잡 이전 AC글 참고
매퍼 누락방지 코드, package태그 추가 등 위치 중요
메인에도 추가
만약 추가정보 검색시 키워드 : aws +운영체제 +버전 +(명령어)
운영체제와 버전을 포함시켜서 검색
aws 사이트 ->콘솔로 로그인 -ec2
ec2 대시보드에서 보안그룹 1 제외 다른게 올라가면 과금요소가 됨
다 쓰고 초기화 및 제거를 반드시 해야함
오하이오->서울로 변경
인스턴스 시작 : virtual machine 하나 돌리는 개념
ec2 클릭
인스턴스 시작
이름 : 2teamPetproject 로 지정
ubuntu
20.04 ssd volume type
새 키패어 생성 - 2teamPetproject
RSA, PPK 선택
30기가로 설정 - 무료 최대치
성공 : 인스턴스를 시작했습니다! <-이거는 완수가 아님 조심
왼쪽 메뉴-인스턴스-상태검사에서
초기화중X
2/2 검사 통과가 떠야 배포 준비가 완료된 것이다
여기까지하면 윈도우 설치까지 끝난 수준임
끝날때 정지시켜놔야함 안그러면 과금됨
종료가 아니라 정지시켜놔야함
종료는 삭제임
인스턴스 우클릭 : 정지/시작만 사용해야함 반드시
정지해도 EC2나 탄력적IP(고정IP)에 대해서는 요금이 계속 청구된다.
종료를 눌러도 종료 안되게끔 종료방지설정: 선택-작업-인스턴스설정-종료방지기능변경-활성화-저장
인스턴스 ID 클릭-연결 클릭 -SSH클라이언트 -예 쪽에 UBUNTU부터 끝까지 복사해서 저장해두기
ubuntu@ec2-15-164-164-136.ap-northeast-2.compute.amazonaws.com
SSH가 무엇인가? PT 참고 (요약: 보통 SSH는 터미널을 통해 원격지 서버에 접속하는데 사용, 암호화 인증 보안성 높임, ... ,,...)
꼭 읽어보기
연결 클릭 - 이걸 이제 터미널에서 할 것임
pwd로 현재 위치 알 수 있다
< 원격 터미널 사용 >
putty 설치 및 실행
아까 복사했던 ssh의 우분투부터의 주소를 복사 붙여넣기 (host name 쪽에 붙여넣기)
그리고 왼쪽 메뉴에서 SSH-auth-credential -privatekey file for auth..에 아까 받은 ppk파일을 선택해서 넣기
다시 session-saved session에 가서 팀 프로젝트 이름 입력해넣고 저장 -시작
pwd 명령어로 테스트
아마존 웹 서비스에 접속한 것
터미널 꺼도 putty 다시 실행해서 인스턴스 선택-load 시작 누르면 됨
< ftp 프로그램 사용 >
WinSCP 설치 및 실행해서 프로젝트 선택
주의점: 사용자 이름 UNUNTU가 있으므로 호스트 이름에는 UBUNTU를 뺀 주소를 입력해야한다.
======================================== 여기까지가 전체순서 기준 2번임