IT, 프로그래밍/AWS

AWS EC2에 스프링 프로젝트 배포하기 (FileZilla 사용)

큐리덕 2018. 8. 22. 19:51

이번 포스팅은 아마존 웹 서비스 중 EC2를 사용하여 스프링 프로젝트를 배포하는 방법에 관한 내용입니다.


운영 환경 : 우분투 16.04, tomcat8

원격 접속  : putty 

FTP 파일 전송 : FileZilla


기본적으로 위에 있는 환경이 구축되어 있다고 가정하고 시작하겠습니다.




먼저 이클립스를 통해 war 파일을 export 해 줍니다.








이제 파일질라를 EC2 인스턴스에 연결하고, /var/lib/tomcat8/webapps 폴더 밑에 war 파일을 전송시킵니다.




만약 파일전송이 안되시는 분들은, 권한 문제일 가능성이 높습니다.

webapps 폴더의 소유자를 tomcat8로, 모든 작업이 가능하도록 권한을 설정 해 줍니다.


1
2
3
4
~$ sudo su
# chmod -R 777 /var/lib/tomcat8/webapps
# chown -R tomcat8:tomcat8 /var/lib/tomcat8/webapps
 
cs

  


그리고 모든 설정이 완료 되었으면 톰캣을 재시작 해 줍니다.


1
 sudo service tomcat8 restart
cs



그리고 파일이 정상적으로 넘어 왔다면, 톰캣에서 자동으로 폴더를 생성하여 접근이 가능하도록 합니다.



(여기서 오류가 생기시는 분들은 /var/lib/tomcat8/logs 여기에서 로그 파일을 확인 해 봅시다. 어떤 에러가 발생하는지 자세하게 나옵니다)


기본적으로 http://IP주소:8080 으로 접근 하였을 시, ROOT에 있는 디폴트 페이지를 불러오는데요.


It work~~ 어쩌고 저쩌고 하는 인덱스 페이지 입니다.


우리가 올린 프로젝트를 실행 시키려면 http://IP주소:8080/프로젝트명 으로 접근해 보면 됩니다.



+ 만약에 http://IP주소:8080/ 으로 접근 하였을 시에 ROOT 프로젝트 말고 우리가 올린 프로젝트를 실행하게 하고 싶으면, server.xml 파일에 따로 설정을 해 주어야 합니다.


우선 문서 편집기로 /var/lib/tomcat8/conf 경로 안에 있는 server.xml을 실행 시킵니다.


그리고 Host 설정 부분에 context 설정을 따로 추가합니다.


1
  <Context path="" docBase="프로젝트명" reloadable="true"/>
cs


이 부분을 따로 Host 설정 안에 넣어 주시면 됩니다. 


1
2
3
4
5
6
7
8
9
10
11
 <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
 
        <Context path="" docBase="프로젝트명" reloadable="true"/>
 
 
        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
 
cs



그리고 톰캣을 다시 실행시켜 주시고 루트 경로로 접근해 보면 됩니다.