[AWS] AWS에 스프링부트 프로젝트 올리기 (centos, maven)
일단 서버에 접속을 한다.
그리고
sudo git clone 깃허브 프로젝트 URL
이렇게 입력하여 깃허브에 있는 프로젝트를 clone해 온다.
깃을 설치해준 적이 없다면 "bash : sudo : git command not found"라는 에러가 뜰 것이다.
따라서 깃을 설치해줘야 한다.
https://git-scm.com/book/ko/v2/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-Git-%EC%84%A4%EC%B9%98
여기 나와 있는대로
sudo dnf install git-all
이렇게 입력해서 git을 설치해준다.
그런데 dnf를 설치해주지 않았다면 "sudo: dnf command not found"라는 에러가 또 날 것이다.
그렇다면 아래 링크에서와 같이
https://www.rootusers.com/how-to-install-dnf-package-manager-in-centosrhel/
다음 명령어를 쳐서 dnf를 설치해주면 된다.
yum install epel-release -y
그 다음
yum install dnf -y
이 명령어를 입력하면 된다.
만약에 이 yum에서 "you need to be root to perform this command."라는 에러 메시지가 뜬다면
su -
를 입력해서 root 계정으로 변경해주면 된다.
그러면 Password: 라는 말이 뜨면서 비밀번호를 입력하라고 할 것이다.
그런데 나는 비밀번호를 설정한 적이 없어서 비밀번호를 모르니까 아무 비밀번호를 치면 "su: Authentication failure"라고 뜰 것이다.
그렇다면 비밀번호를 설정해주면 된다. 비밀번호 초기 설정하는 방법은
https://jhnyang.tistory.com/136
여기 나와있는대로
sudo passwd
를 입력한다.
그러면 "Enter new UNIX password:"라는 말이 뜰 것이다. 원하는 비밀번호를 치고 (리눅스에서 비밀번호는 쳐도 화면에 아무런 표시가 안 나타난다. ●●● 이런 동그라미도 안 뜨니까 주의하자)
"Retype new UNIX password:"에 똑같이 한 번 더 쳐주면 비밀번호 설정이 완료된다. (비밀번호는 최소 8자리여야 한다는 말이 나오는데 나는 무시하고 그냥 했다.)
그렇게 root 계정으로 접속을 하고 아래 두 명령어로 아까 root가 아니라서 하지 못했던 dnf 설치를 해주면 된다.
yum install epel-release -y
yum install dnf -y
그리고 나서 다시
sudo dnf install git-all
깃을 설치하고
sudo git clone [깃허브 프로젝트 URL]
(혹시나 하는 마음에 쓰는 것인데 대괄호는 입력하시면 안 됩니다! .git으로 끝나는 링크만 적어주세요)
이렇게 프로젝트를 다운받아 오면 된다.
그 다음에 아래 명령어로 자바8을 설치해준다.
yum install -y java-1.8.0-openjdk-devel.x86_64
이제 https://miniminis.github.io/2019/10/13/spring/springboot-deploy/
위 링크에서 처럼 하면 된다.
그 과정은 아래와 같다.
cd [프로젝트 디렉토리 이름]
명령어로 프로젝트 폴더(디렉토리) 안으로 들어간다.
그 다음에 ls 명령어를 입력하면 mvnw라는 파일이 있을 것이다.
이 파일이 위 사진처럼 초록색이라는 것은 실행 가능한 (실행 권한이 있는) 파일이라는 것이다.
초록색이 아니라면 실행 가능한 파일이 아니라는 뜻이므로
chmod +x mvnw
chmod 명령으로 x 권한(실행권한)을 부여한다.
그 다음
./mvnw
를 입력하여 mvnw를 실행시킨다. (리눅스에서는 실행파일을 실행할 때 앞에 ./를 붙여줘야 한다.)
이 과정은 빌드(컴파일+링크)하는 것인데 조금 시간이 걸릴 수도 있다.
시간이 지나고
--------------
BUILD SUCCESS
--------------
가 뜨면
cd target
으로 target 디렉토리로 이동한다.
target에서 ls를 해보면
이렇게 jar 파일이 생성되어 있을 것이다.
그러면 이제
java - jar [jar 파일 이름] &
위 명령어로 백그라운드로 실행시켜주면 된다. (뒤에 &를 붙이면 백그라운드에서 실행시키는 것이다.)
백그라운드로 실행시키는 이유는 이렇게 해줘야 PuTTY를 종료해도 서버 프로그램이 돌아간다.
그러면 이제 웹 브라우저를 띄우고 AWS에서 할당받은 IP주소:포트번호/페이지 주소
IP주소:포트번호/페이지 주소
를 입력해 접속해보자.
만약 접속이 되지 않는다면
이대로 하면 된다.
몇 시간 동안구글링해보면서 알아낸 것들인데 이 모든 것들이 한 번에 정리된 글은 없어서 이렇게 정리하게 되었다. 누군가에게 도움이 되면 좋겠다.
오늘은 정말 많은 것을 배운 하루였다.