프론트단에서 개발한 것과 지금까지 개발한 것을 연결시켜보고 싶어서 개발서버를 열고 많이 한다는 얘기를 많이 들어서 개발 서버를 열기로 했다. 우리는 배포를 AWS에서 할 것이기 때문에 AWS에서 인스턴스를 실행했다. 그리고 우분투로 접속을 해서 Spring에서 빌드한 jar파일을 실행시켜야 한다.
[ jar 파일 빌드 ]
1. 오른쪽 상단의 Gradle 탭을 클릭한다
2. Tasks의 build를 클릭하여 빌드한다.
3. build/libs의 .jar파일을 cmd로 실행해본다.
4. 실행하면 성공 !
[ 서버에 jar파일 넣고 실행하기 ]
파일 관리를 위해서 File Zila를 다운해준다.
https://filezilla-project.org/
좌측 상단의 File을 누르고 사이트 관리자를 눌러준다
1. 새 사이트 클릭
2. AWS에서 실행하기 때문에 SFTP로 바꿔준다
3. 호스트명 입력 - 탄력적 IP 입력
4. 로그온 유형을 키파일로 변경
5. 사용자명 입력 - 보통 ubuntu / 키파일 디렉토리 지정
6. 연결 클릭
서버에 디렉토리를 하나 생성한 후, 아까 빌드해뒀던 build/libs의 .jar 파일을 드래그 앤 드랍한다.
그 후에 우분투에 접속하여 jar파일을 실행한다.
nohup java -jar [ 실행 파일 ] &
명령어를 사용하면 백그라운드에서 실행될 수 있다.
종료하기
sudo kill -9 [ pid ]
PID 찾기
ps -ef | grep [ 실행한 파일명 ]
[ Access denied 오류 해결 ]
.jar 파일을 실행 시켰는데 Spring 실행까지는 되는데 Access denied 오류가 떴다. ( 까먹고 사진을 못 찍음 .. )
근데 이게 무슨 문제인가 했는데 mysql 연결 문제였다. mysql을 설치하고 거기서 연결을 시키는데 알고보니 내가 아는 연결 흐름은 우분투에서 windows의 mysql을 연결하는 줄 알았는데 Linux에서 실행을 시키는 구조였다. 그래서 mysql 연결이 안되는 이유는 비밀번호가 달랐기 때문이다. 정확히는 빌드파일에서 접속할 때 사용하는 비번이 Linux 환경의 mysql에서 맞지 않기 때문이다. 하지만 빌드과정에서 mysql과 연결이 안되면 빌드가 실패한다. 그래서 나는 일종의 꼼수지만 Windows환경의 mysql 비번과 Linux환경의 mysql 비번을 똑같이 하여 실행했다.
'개발일지_development diary > YSit' 카테고리의 다른 글
YSit [17] - ID값을 숫자가 아닌 UUID로 바꿔주기 (0) | 2023.01.12 |
---|---|
YSit [16] - Controller에서 Json 데이터 전송 & MockMvc 이용하여 Controller Test (0) | 2023.01.12 |
YSit [14] - 관리자 페이지 구현 & 권한 구현하기 (0) | 2022.12.31 |
YSit [13] - 댓글 기능 구현하기 (2) | 2022.12.30 |
YSit [12] - URL에 변수 넣어서 게시물 수정 기능 구현 (0) | 2022.12.29 |