우선 준비물은 war 파일이다.
나는 개인적으로 진행하는 프로젝트가 있기에 파일을 미리 만들어두었다
FIleZilla를 실행하여 war파일을 옮겨준다.
https://winter-love13.tistory.com/21
[AWS] EC2 리눅스 인스턴스에 파일 옮기기
파일 질라를 통해서 리눅스에 파일을 옮겨볼 것이다.아래 사이트에서 다운로드를 진행한다.https://filezilla-project.org/download.php?platform=win64 파일질라 실행 후에 상단의 연결 버튼을 클릭새 사이트
winter-love13.tistory.com
전에 인스턴스에 사용할 포트 번호의 방화벽을 오픈했는지 확인!
나는 80 포트를 사용한다.
인스턴스-보안
SSH를 통해서 접근해 준다.
충돌 방지를 위해 현재 사용 중인 포트 확인하기
postgrSQL이 잘 돌고 있다.
netstat -an |grep LISTEN
이건 윈도우에서도 cmd로 java 실행하는 방법과 동일한데, 아래 명령어를 통해 실행시킬 수 있다.
java -jar myProject.war
하지만 아마존 리눅스에서는 권한 문제가 있어서 1024 아래 포트들은 다른 명령어를 사용해야 한다!
1024 아래 포트번호를 갖고 있다면 아래 코드로 실행시켜 준다.
sudo java -jar myProject.war
다시 인스턴스 화면으로 돌아와서 지난 PostgrSQL에서도 사용했었던 주소를 사용한다.
고정 IP 주소를 사용해야 인스턴스를 재시작해도 변경되지 않는다.
위 사이트 주소 입력 후 포트를 붙여서 링크 이동하면 끝이다.
하지만 이 방법으로 진행 시에는 Powershell을 종료하면 함께 종료된다.
아래 명령어를 사용하자.
nohup 명령어를 사용해야 터미널을 종료해도 애플리케이션이 계속 구동된다.
nohup java -jar myProject.war
1024 포트 아래라면
sudo nohup java -jar TEST.war > nohup_output.log 2>&1 &
sudo: 루트 권한으로 명령을 실행
nohup: 터미널 종료 후에도 프로세스가 계속 실행
java -jar TEST.war: Java 애플리케이션을 실행
> output.log: 표준 출력을 output.log 파일로 리다이렉트
2>&1: 표준 오류를 표준 출력으로 리다이렉트
&: 명령을 백그라운드에서 실행
+ Java 프로세스 종료
ps aux | grep java
sudo kill <PID>
'AWS' 카테고리의 다른 글
AWS 지식 퀴즈 (0) | 2024.07.29 |
---|---|
[AWS] AWS, 아마존 리눅스에 대해서 (0) | 2024.07.29 |
[AWS] EC2 리눅스 인스턴스에 직접 postgeSQL 설치 (0) | 2024.07.23 |
[AWS] EC2 리눅스 인스턴스에 파일 옮기기 (0) | 2024.07.23 |
[AWS] 리눅스 인스턴스 Java21 설치 (0) | 2024.07.22 |