본문 바로가기

JAVA

[JAVA] AWS EC2 서버에서 JAR 파일 실행하기 / 윈도우에서 AWS EC2 자바소켓서버 보내기 / 전송하기 / 실행하기 (2)

https://superhardcoding.tistory.com/16

 

[JAVA] AWS EC2 서버에 JAR 파일 전송 하기 / 윈도우에서 AWS EC2 자바소켓서버 보내기 / 전송하기 (1)

이번에는 인텔리제이에서 만든 JAR 파일을 서버로 전송하겠습니다. 저는 윈도우 유저입니다. 맥에서는 안될수도있습니다. 전송할파일 : 자바서버소켓.jar 이제 로컬PC에서 터미널을 켜줍니다 

superhardcoding.tistory.com

 

먼저 JAR 파일이 없다면 링크를 눌러서 보내시길 바랍니다.

 

AWS EC2 우분투에 JAR 자바 서버소켓 파일을 보냈습니다.

실행하기 위해서 우분투에 자바언어가 설치가 되어야 합니다.

설치할건 오라클의 JDK 22버전입니다.

이유는 제 버전이 22이기 때문입니다.

 

설치 방식은

1. 로컬PC에서 JDK22를 설치받고 (자신이 어떤 버전인지 확인하셔야합니다!)

2. JDK22파일을 AWS Ec2 서버에 보낸후

3. 전송된 JDK22파일을 설치할 예정

(apt 로 해당 링크를 하려고했으나 지원하지 않았습니다.. 가능하신분들은 먼저 apt로 해보세요)

 

<JDK22 설치경로>

https://download.oracle.com/java/22/latest/jdk-22_linux-x64_bin.deb

 

먼저 파일을 로컬 PC에 다운받습니다.

저는 로컬PC C드라이브 다운로드폴더에 다운받았습니다.

 

다음은 터미널을 켜서 아래의 코드를 입력합니다.  (개인설정에 따라 다릅니다)


1. 자신의 ec2 인스턴스 키페어 경로! -> 확인해주세요

2. 보낼 파일의 경로 -> 확인해주세요

3. 자신의 EC2 인스턴스의 사용자 이름과 퍼블릭 IPv4 DNS 주소 -> 확인해주세요

 

<터미널을 사용해서 파일보내기>

scp -i  "C:\Users\HY\.ssh\hy-web-2.pem" "C:\Users\HY\Downloads\jdk-22_linux-x64_bin.deb" ubuntu@your-ec2-public-ip:/tmp/

  • "C:\Users\HY\.ssh\hy-web-2.pem"   : EC2 인스턴스에 접속하는 데 사용되는 키페어 파일 경로
  • C:\Users\HY\Downloads\jdk-22_linux-x64_bin.deb"   : 보낼 파일 경로\ 보낼 파일
  • ubuntu@your-ec2-public-ip:/tmp/   : EC2 인스턴스의 사용자 이름과 퍼블릭 IPv4 DNS 주소/ EC2 우분투 폴더

여기서는 your-ec2-public-ip 이부분을 본인인의 AWS 인스턴스에서 아이피를 확인하여 복붙해주세요

보내는 방법을 잘 모르시면 처음에 소개되었던 JAR 파일전송하기를 보고오시면 더 좋습니다.

 

해당 그림을 클릭해서 참고해주시면 좋습니다

 

위와같이 전송이 완료가 됬을 경우 서버에서 잘 들어왔는지 확인해보겠습니다.

(우분투 명령어)

cd /tmp
ls -i

보시면 잘들어온것을 확인 할 수있습니다.

 

1. deb 파일을 설치합니다

sudo dpkg -i /tmp/jdk-22_linux-x64_bin.deb

 

2. 해당 명령어를 입력합니다

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-22-oracle-x64/bin/java 1

sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk-22-oracle-x64/bin/javac 1

sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk-22-oracle-x64/bin/jar 1

 

(오류가 났을때 기존에 설치한 심볼릭링크를 제거합니다)

sudo update-alternatives --remove-all java

sudo update-alternatives --remove-all javac

sudo update-alternatives --remove-all jar

그 후 2번 다시 진행

 

3. 설치 확인

java -version

javac -version

jar --version

버전을 확인한 모습입니다.

 

그 다음 자바 파일 JAR을 실행해 보겠습니다.

 

EC2 인스턴스에서 Jar 파일 실행

java -jar /tmp/chatTest.jar

 

다른JAR 파일이면 모르겠는데 서버가 실행이 안되는 경우는 

 1. 인스턴스에서 보안에서 포트번호를 열어줍니다

 2. 클라이언트 소켓에서 포트번호와 아이피번호를 AWS EC2 로 맞춰줘야합니다.

 

실행중인 자바소켓서버 종료하는 방법

새로운 터미널 열고 ps aux | grep java 입력하기

 

실행중인 자바소켓번호 657733 확인 되면

kill 657733 입력하기

ps aux | grep java 입력하여 종료됬는지 확인하기

종료가 된것을 확인 할 수 있습니다.

 

 

다음에뵙겠습니다.