AWS 서버도 생성했고 작업할 수 있는 준비가 완료됐으니, 이제 서버에 SBB를 설치하여 모든 사람이 접근할 수 있도록 해보자.
서버 환경 설정하기
먼저 MobaXterm을 이용하여 서버에 접속해보자. 서버를 더블클릭하면 터미널 창으로 접속된다.
호스트 이름 변경하기
서버에 접속하게 되면 맨 하단에 아래와 같은 프롬프트가 보인다.
ubuntu@ip-172-26-2-4:~$
여기서 'ip-172-26-2-4'가 호스트 이름이다. 만약 의미 있는 호스트 명으로 변경하고자 한다면 다음순서대로 명령해보자.
1. 'jumpto'로 호스트이름 변경
172-26-2-4:~$ sudo hostnamectl set-hostname jumpto
sudo는 관리자 권한으로 명령을 실행한다는 의미이다.
2. 호스트명을 변경하고 나면 서버를 재시작해야 한다.
172-26-2-4:~$ sudo reboot
그럼 네트워크가 끊기므로 30초~1분 후에 다시 접속해보자.
3. 다시 접속해보면 다음과 같이 변경된 프롬프트를 확인할 수 잇다.
ubuntu@jumpto:~$
4. hostname 명령을 수행하면 아래와 같이 변경된 호스트명이 출력된다.
ubuntu@jumpto:~$ hostname
jumpto
서버 시간 설정하기
1. 먼저 date명령을 실행해보자. 그럼 우리나라 시간이 아닌 UTC 시간이 출력된다.
ubuntu@jumpto:~$ date
Tue May 28 00:58:17 UTC 2024
2. 한국 시간으로 맞추기 위해 다음 명령을 입력해보자.
ubuntu@jumpto:~$ sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
3. 다시 date명령을 입력하면 우리나라 시간으로 출력된 것을 확인할 수 있다.
ubuntu@jumpto:~$ date
Tue May 28 09:59:49 KST 2024
서버에 자바 설치하기
스프링 부트를 사용하려면 반드시 자바가 설치되어 있어야 한다.
1. 서버에 자바 설치 유무를 확인하기 위해 java 명령을 입력해보자.
ubuntu@jumpto:~$ java
Command 'java' not found, but can be installed with:
sudo apt install openjdk-11-jre-headless # version 11.0.20.1+1-0ubuntu1~22.04, or
sudo apt install default-jre # version 2:1.11-72build2
sudo apt install openjdk-17-jre-headless # version 17.0.8.1+1~us1-0ubuntu1~22.04
sudo apt install openjdk-18-jre-headless # version 18.0.2+9-2~22.04
sudo apt install openjdk-19-jre-headless # version 19.0.2+7-0ubuntu3~22.04
sudo apt install openjdk-8-jre-headless # version 8u382-ga-1~22.04.1
자바가 설치되어 있지 않아 위와 같은 메시지가 출력된다.
2. 자바를 설치하기 전에 먼저 sudo apt update 명령을 수행해 우분투 패키지를 최신으로 업데이트해야한다.
ubuntu@jumpto:~$ sudo apt update
Hit:1 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB]
Get:3 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu jammy-backports InRelease [109 kB]
Get:4 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB] Fetched 338 kB in 1s (275 kB/s)
...
3. 이어서 자바를 설치해보자.
ubuntu@jumpto:~$ sudo apt install openjdk-19-jdk
설치 중간에 'Do you swant to continue?' 라는 문구가 나오면 y를 입력하면 된다.
4. 설치를 완료했다면 java -version을 실행해보자.
ubuntu@jumpto:~$ java -version
openjdk version "19.0.2" 2023-01-17
OpenJDK Runtime Environment (build 19.0.2+7-Ubuntu-0ubuntu322.04)
OpenJDK 64-Bit Server VM (build 19.0.2+7-Ubuntu-0ubuntu322.04, mixed mode, sharing)
19버전이 정상적으로 설치되었다.
프로젝트 디렉터리 생성하기
서버에 SBB 서비스를 적용하기 위해 홈 디렉터리 아래에 sbb디렉터리를 생성하자.
ubuntu@jumpto:~$ mkdir sbb //sbb 디렉터리 생성
ubuntu@jumpto:~$ ls //현재 디렉터리 내 확인
sbb
STS에서 SBB 배포 파일 생성하기
이제 서버에 올릴 SBB 배포 파일을 만들어보자. 배포 파일은 단 하나의 jar 파일로, 서버에서 이 파일을 구동시킨다.
1. jar 파일은 Gradle을 사용하여 생성한다. 그 전에 Gradle에 JDK 설정을 먼저 해야 한다. 그러기 위해 [Widow -> Preference -> Gradle] 클릭하고 'Advanced Options'의 'Java home'항목에 JDK의 디렉터리를 입력한다.
2.AWS 서버에는 JDK 19버전을 설치했으므로 build.gradle java항목을 아래와 같이 수정하자.
...
java {
sourceCompatibility = '19'
}
...
3. 서버에 적용할 SBB 배포파일인 jar파일을 만들기 위해 [Run -> Run Configurations]선택 후 'Gradle Task'를 선택하고 마우스 우클릭 후 [New Configuration]을 클릭하자.
4. 그럼 다음과 같은 화면이 나타나면 순서대로 각 항목을 입력해보자. 그리고 Apply 클릭 후 Run을 클릭하자.
5. 완성되면 하단에 Gradle Executions 창이 나타나고 진행결과나 나온다.
6. 오류가 없다면 프로젝트 워크스페이스 하단에 build 디렉터리가 생성되고 배포파일이 생성된 것을 확인할 수 있다.
SFTP로 SBB 배포 파일 전송하기
생성된 .jar파일을 파일질라를 이용하여 서버에 전송해보자.
1. 다음과 같이 sbb-0.0.1-SNAPSHOT.jar 파일을 찾아 서버의 /home/ubuntu/sbb 디렉터리로 드래그 앤 드롭해보자.
2.MobaXterm을 사용하여 다시 서버에 접속 후 아래와 같이 입력하여 배포 파일을 실행하자. 실행된 서비스를 종료하려면 Ctrl+C를 누른다.
ubuntu@jumpto:~$ cd sbb
ubuntu@jumpto:~/sbb$ ls
sbb-0.0.1-SNAPSHOT.jar
ubuntu@jumpto:~/sbb$ java -jar sbb-0.0.1-SNAPSHOT.jar
3. 웹 브라우저를 실행하고 앞서 설정한 고정IP:8080을 입력하여 접속해보자.
http://15.164.187.123:8080 과 같이 입력하면 아래와 같은 화면을 볼 수 있다.
그런데 이전의 데이터들이 다 사라졌다. 왜냐하면 서버에서도 H2 DB의 데이터 파일인 local.mv.db 파일이 새로 만들어지기 때문이다.
'IT > Spring Boot' 카테고리의 다른 글
[Spring Boot] 43. 서버 환경으로 분리(개발 환경 / 서버 환경) (0) | 2024.05.28 |
---|---|
[Spring Boot] 42. 서버 스크립트 생성(서버 시작 및 중지 분리) (0) | 2024.05.28 |
[Spring Boot] 40. 서버 배포 - (2)서버 접속 설정 (0) | 2024.05.27 |
[Spring Boot] 39. 서버 배포 - (1) AWS 라이트세일 알아보기 (0) | 2024.05.27 |
[Spring Boot] 37. 게시판 검색 기능 구현하기 (0) | 2024.05.22 |