https://aws.amazon.com/ko/ec2/?nc2=h_ql_prod_fs_ec2
들어가기 앞서 현 프로젝트는 jsp가 아닌 thymeleaf
, maven이 아닌 gradle
빌드툴을 사용하고 있으니 참고하시길.
이전 포스팅에서 생성한 EC2 ubuntu 서버에 접속하기 위해 git bash
를 사용할 것이다. 다운 받아주자.
https://git-scm.com/downloads
EC2에 인스턴스를 생성할 때 다운받은 .pem
파일이 필요하다.
파일이 있는 디렉토리로 이동해 마우스 우클릭 > Git Bash Here
를 클릭한다. 창이 뜨면 아래와 같이 입력한다.
$ ssh -i {키 페어 이름}.pem ubuntu@{탄력적 IP}
접속이 거부된다면 보안 그룹의 인바운드 규칙을 다시 살펴보도록 하자. 종종 내 IP가 변경되는 경우가 있다.
위와 같이 뜨면 접속에 성공한 거다!
$ sudo apt update
$ sudo apt install openjdk-{원하는 java 버전}-jdk
$ java -version
마지막 명령으로 설치된 버전을 확인하고 넘어간다.
$ sudo git clone {Repository url}.git
$ ls
마지막 명령으로 레포가 잘 클론됐는지 확인한다. ls
명령어는 해당 디렉토리 경로에 있는 파일 내역을 보여준다.
진행에 앞서 application.properties
파일로 설정정보를 관리하고 있는지 확인해야한다. .yml
파일을 사용할 수도 있고, 내 프로젝트와 구성이 다를 수도 있다. 아래를 참고.
내 github에는 application.properties
파일만 올라가 있다. 나머지 설정파일들은 public repo에 올리면 안되는 민감정보가 들어가 있어 .gitignore
처리해줬다.
< application.properties >
#IMPORT
#다른 설정파일 임포트
spring.profiles.include=file, aws
#FILE-UPLOAD
spring.servlet.multipart.maxFileSize=10MB
spring.servlet.multipart.maxRequestSize=10MB
#JPA
spring.jpa.properties.hibernate.show_sql=true
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.use_sql_comments=true
logging.level.org.hibernate.type.descriptor.sql=trace
< .gitignore >
HELP.md
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/
### STS ###
...
### IntelliJ IDEA ###
application-aws.properties
application-file.properties
.idea
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/
### NetBeans ###
...
### VS Code ###
...
당연하게도 public repo를 클론한 EC2 인스턴스에는 application-aws.properties
, application-file.properties
파일이 들어있지 않은 상태이다. 이대로 빌드를 하고 실행해도 제대로 실행되지 않을 것이다. 이제 두 파일을 수동으로 추가해줘야한다.
cd
명령어로 해당 디렉토리로 이동해준다.
$ cd {repository 이름}/{project 이름}/src/main/resources
$ vim {properties 파일 이름}.properties
vim
명령어로 파일을 처음 생성하면 아무 내용이 없는 파일이 열릴 것이다. esc
를 눌러 편집에서 빠져나온 다음, :wq
(저장, 종료)를 입력하고 enter
를 누르면 끝!위 과정을 필요한 만큼 반복해준다. 모두 끝났다면 ls
명령어로 해당 디렉토리에 파일이 잘 들어가 있는지 확인한다.
일반적으로 {repository 이름}/{project 이름}/
경로에 grdalew
파일이 있을 것이다. 해당 디렉토리로 이동한다.
이전 단계에서 바로 진행중이라면 위 이미지를 참고해 경로를 옮긴다.
// Build
$ sudo chmod +x gradlew
$ ./gradlew clean build -x test
// Run
$ find ./* -name "*jar"
$ nohup java -jar {jar 파일 이름} &
// Check
$ curl http://localhost:8080
Run 단계에서 find ./* -name "*jar"
를 실행하면 아래와 같이 뜬다. 이중 실행 jar 파일은 plain
이 붙지 않은 파일이다.
무사히 실행됐다면 curl
명령어로 프로젝트 창을 켜보자.
위처럼 작성한 화면 HTML이 출력되면 끝이다! git bash 를 종료시키고 웹에서 http://{탄력적 ip}:8080
로 이동해보자.