[AWS] EC2를 이용한 서버 구축 4 (FileZilla로 프로젝트 올리기)

이번에는 파일질라를 사용해서 프로젝트를 올려보겠습니다!

파일질라 다운로드

https://filezilla-project.org/


가장 왼쪽 Download를 클릭해줍시다. (무료)


 

 

 

위 사진을 따라서 설치를 완료해주세요!!

 


아래 화면처럼 FileZilla가 실행 되었다면 서버와 연결을 해봅시다!

 

 


Ctrl + S 를 눌러서 사이트관리자를 열어줍니다. 



그 다음 아래 사진처럼 정보들을 채워 넣어 줍시다

  • 프로토콜은 SFTP로 변경
  • 호스트는 자신의 탄력적 ip 주소 입력
  • 포트는 비워둡시다
  • 로그온 유형에는 키파일
    서버 만들때 생성한 키파일을 넣어주면됩니당 (.PEM 파일 선택)
  • 사용자에는 AWS EC2 인스턴스 연결할때 설정한 사용자 이름을 넣어줍시다 따로 만지지 않았다면 ubuntu 입력

아래 새사이트를 클릭


자 여기까지 왔으면 이제 올리고싶은 프로젝트를 빌드하여 jar 파일을 리모트 사이트 /var/lib/tomcat10/webapps안에 넣어주시면 됩니다!

 

저 같은 경우에 테스트 코드에 문제가 생겨서 빌드시에 test를 제외하고 빌드하였습니다.

 

이곳에 build -x test를 적어주시고 빌드를 하면 

 

 

왼쪽에 build package가 생기고 libs안에 보시면 jar파일이 생길 겁니다!

이 jar파일을 파일질라 리모트 사이트에 넣어주시면 됩니다.

 

※ 이때 오류가 생기시면

톰켓 접근 권한 설정
sudo su
 입력 후
chmod -R 777 /var/lib/tomcat10/webapps

 

이렇게 해주시면 파일이 올라갈 겁니다.

 


포트 포워딩

추가로 포트 포워딩에 대해서 말씀드리겠습니다.

탄력적ip:8080 -> 탄력적ip

이렇게 포트번호를 명시해 줘야만 접속이 가능한데 이 포트 번호를 생략하는 법을 말씀드리겠습니다.

먼저 ip a를 git bash에 입력합니다

여기 나온 enX0는 제가 사용중인 EC2의 네트워크 인터페이스 입니다!

포트포워딩 = 포트이름 숨기기
sudo iptables -A PREROUTING -t nat -i enX0 -p tcp --dport 80 -j REDIRECT --to-port 8080

 

밑줄 친 부분에 네트워크 인터페이스를 넣어주시면 됩니다.

 

톰켓 환경변수 설정

프로젝트 이름 숨기는 방법입니다.
sudo su
vi /var/lib/tomcat10/conf/server.xml

들어가시면 <Host> </Host> 안에
<Context docBase="프로젝트명" path="/" reloadable="true"/>
를 입력해줍니다.
※ 나올때는 :wq! 를 치고 나오시면 됩니다.

여기까지 완료한다면 도메인 구매했을때 주소창에 도메인을 입력하시면 접속까지 완료될겁니다.

서버 실행해보기!

java -jar 프로젝트파일이름.jar

 

실제 spring 화면과 같은 화면이 나옴

 

컴퓨터가 꺼져도 계속 돌아가는 사이트를 배포하고 싶다면

nohup java -jar 프로젝트이름.jar &

 

이 백그라운드에 돌아가는 프로세스를 종료하고싶다면 

ps -ef | grep java

kill -9 [pid]

 

2번째 인자가 pid(프로세스 아이디 입니다)

 

 

다음 포스팅에는 깃허브로 배포하는 법을 배워봅시다!