테스트 코드 contextLoads() FAILED 오류 해결하기 를 통해서 로컬 자바 애플리케이션에서는 오류가 발생하지 않았지만, 서버에 배포된 애플리케이션에서는 오류가 발생할 수 있다는 점을 깨달았다.
EC2 인스턴스에 올라간 애플리케이션의 실행 로그를 확인하는 방법이 중요하다는 생각이 들어서
EC2에서 애플리케이션 로그를 확인하는 과정을 정리해 보았다. 😁
EC2에서 애플리케이션 빌드 및 실행 과정
1. 애플리케이션 빌드
./gradlew build
먼저 애플리케이션을 빌드한다.
이 명령어는 Gradle을 사용하여 프로젝트를 빌드한다. build 태스크는 소스 코드를 컴파일하고, 테스트를 실행하며, 최종적으로 배포 가능한 JAR 파일을 생성한다.
2. 빌드된 JAR 파일이 위치한 디렉토리로 이동
cd build/libs
빌드가 완료되면, 생성된 JAR 파일이 있는 build/libs 디렉토리로 이동한다.
이 디렉토리에는 zzanmoa-0.0.1-SNAPSHOT.jar 파일이 있다. 이 파일이 실제로 실행할 애플리케이션이다.
3. JAR 파일 실행
nohup java -jar zzanmoa-0.0.1-SNAPSHOT.jar &
백그라운드에서 JAR 파일을 실행하고, 로그 출력을 nohup.out 파일에 저장한다.
- nohup: 터미널을 닫아도 프로세스가 계속 실행되도록 한다.
- java -jar zzanmoa-0.0.1-SNAPSHOT.jar: JAR 파일을 실행한다.
- &: 명령어를 백그라운드에서 실행한다.
4. 로그 확인
cat nohup.out
nohup.out 파일은 애플리케이션 실행 로그를 저장하는 파일이다.
이 파일을 확인하여 애플리케이션이 정상적으로 실행되었는지, 에러가 발생했는지 등을 확인할 수 있다.
5. 실행 중인 Java 프로세스 확인
ps -ef | grep java
이 명령어는 모든 프로세스 중에서 java라는 단어가 포함된 프로세스를 검색하여 출력한다. 여기서 필요한 정보는 실행 중인 애플리케이션의 프로세스 ID (PID)이다.
6. 프로세스 종료
필요할 경우, 특정 프로세스를 종료할 수 있다.
kill -9 [pid번호]
- kill -9: 강제로 프로세스를 종료한다. -9 옵션은 강제 종료 신호(SIGKILL)를 보낸다.
- [pid번호]: 종료할 프로세스의 ID이다. 이전 단계에서 확인한 PID를 사용한다.
'프로젝트 > 짠모아' 카테고리의 다른 글
[AWS 오류 해결] EC2 환경변수 설정하기 (0) | 2024.10.13 |
---|---|
[AWS 오류 해결] 테스트 코드 contextLoads() FAILED 오류 해결하기 (0) | 2024.10.08 |
[AWS 오류 해결] swap 파일로 메모리 할당하기 (1) | 2024.10.08 |
[AWS 오류 해결] CodeDeploy 로그 확인하기 (0) | 2024.10.08 |
[서울시 공공데이터 경진대회] 최우수상 수상 프로젝트 - 짠모아 (4) | 2024.10.03 |