WAR 파일을 톰캣에 배포하려는 과정 중에 수많은 에러를 맞닥뜨렸다.
사실 아는 사람이 보기엔 엄청 간단해보일진 몰라도 내겐 아직 리눅스 환경은 매우 버겁기 때문에 한참 걸렸다.
톰캣 설치경로도 한참을 못 찾아서 허우적대고 그나마 찾은 디렉터리에서는 WAR 파일이 자동으로 압축 해제되지 않아서 손수 하려고 하니 권한 문제부터 시작해서 온갖 에러가 꼬리에 꼬리를 물었다.
결국 그렇게 파일질라를 이용하게 되었고,
리눅스 환경에서 보다 편하게 파일 관리를 하기 위해 이리저리 알아본 내용들을 정리해보겠다.
OS는 Window, 터미널은 PuTTY를 이용 중이다.
파일질라 다운로드
파일질라 설명과 다운로드 방법은 여기에 나와있다.
https://youngdev57.tistory.com/11
파일질라 초기 세팅
먼저 파일질라를 실행한 후에 편집, 설정에 들어가서 키 인증을 받아줘야 한다.
SFTP 메뉴를 들어가서 EC2에 접속할 때 가지고 있던 .ppk .pem 키 파일을 등록해준다. (PuTTY는 .ppk, 파워쉘은 .pem)
키파일을 등록하고 나서는 확인 버튼을 눌러준다.
다음은 파일(F) 바로 밑에 있는 아이콘을 눌러 사이트 관리자를 열어준다.
즐겨찾기 개념으로 보면 되는데 일일이 호스트/암호/포트를 입력하지 않고 쉽게 접속할 수 있다.
New Site를 먼저 누르자.
프로토콜은 SFTP로 선택한다. 차례로 호스트, 포트를 입력해준다.
로그온 유형은 원하는 아무거나로 설정해주면 된다.
'호스트' 에는 AWS 퍼블릭 DNS를 적어주자. AWS EC2 - 인스턴스에 들어가면 인스턴스 설명에서 확인할 수 있다.
'포트' 는 기본 22이므로 비워두면 그대로고 다른 포트가 있을 경우에는 적어주면 된다.
'사용자' 는 EC2 유저라면 기본적으로 ec2-user로 되어 있다.
기억이 나지 않는 경우에는 아래 명령어로 확인해보자.
$ whoami
마지막으로 연결 버튼을 눌러준다.
암호를 맞게 입력하면 연결에 성공한다.
비밀번호는 내가 아는 모든 비밀번호를 총동원해도 안되길래 그냥 루트 계정 암호를 설정해줬는데 비밀번호가 애초에 없었다..
암호는 아래 명령어로 설정해줄 수 있다.
$ sudo passwd root
톰캣이 설치된 폴더의 webapps에 war파일 업로드하기
webapps에 war 파일을 업로드하면 톰캣이 알아서 자동으로 압축을 해제하고, 서버에 배포까지 해준다.
End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes one disk of a multi-part archive. In the latter case the central directory and zipfile comment will be found on the last disk(s) of this archive.
나는 원래 war 파일을 가지고 있는 github 주소를 wgen 명령어를 이용하여 리눅스에 받았었는데, 그렇게 하니 파일이 손상된건지 에러가 자꾸 발생했다. 권한도 줘보고 이리 저리 해봤지만 결국에는 실패.
파일 권한 주는 방법은 아래를 참고하자.
sudo -s // root 권한
chmod -R 777 file_name // <- 파일 이름을 써준다.
참고로 777은 모든 권한(읽기, 쓰기, 실행)을 부여 하는 것이다.
나는 이렇게 해도 기분 나쁜 에러만 뜨길래 파일질라를 쓰기로 결심했다.
$ cd /usr/share/tomcat7
나는 여기서 webapps 폴더를 찾았다. 위의 경로를 그대로 파일질라에 붙여 준다.
위의 리모트 사이트에 그대로 입력해주면 알아서 찾아 들어간다.
먼저 webapps 폴더에 우클릭 한 다음 파일 속성을 눌러준다.
안해주면 에러가 날 수 있다. 위에 적어준 명령으로 직접 디렉터리나 파일에 권한을 줘도 되고
이렇게 파일질라를 이용해서 편리하게 줘도 된다.
파일업로드
이클립스의 프로젝트 이름에 우클릭한다음 Export - WAR File을 눌러주면 매우 쉽게 내보낼 수 있다.
나는 그냥 저장해놓은 WAR 파일을 끌어 넣어줬다.
*** 자동 압축 해제가 안되는 경우는 직접 server.xml 파일에 접근해서 AutoDeploy인가 설정을 확인해봐야 한다.
구글에 검색하면 잘 나옴
모두 했으면 이제 접속해보자.
주소를 맞게 입력하면 잘 작동되는 것을 볼 수 있다.
프로젝트 내의 기능도 잘 작동하니 다행 ㅜㅜ
이걸 한다고 몇 시간을 썼는지 모르겠지만 하고 나니 너무 뿌듯,, 조금만 더 힘내자
프로젝트를 하면서 느낀점: 구글링은 신의 한수다 정말
'개발 지식 > tool' 카테고리의 다른 글
IntelliJ 자동 빌드 후 포커싱 문제 (1) | 2024.11.19 |
---|---|
[Eclipse] 이클립스 테마, 폰트, 색상 변경 (0) | 2020.07.20 |
Source Tree 소스트리 개발환경 구축과 협업 준비하기 (1) (0) | 2020.04.12 |
윈도우 ReactJS 개발환경 구축하기 create-react-app (0) | 2020.02.12 |
닷홈 무료호스팅 시작하기 + FileZilla FTP 파일 업로드 (0) | 2020.02.05 |