본문으로 바로가기







STS에서 개발한 프로젝트를 우분투 서버로 배포를 해볼 것이다. 



1. 톰캣 관리자 화면 활성화하기



우분투 서버에 배포할 때도 윈도우에서 배포할 경우와 마찬가지로 관리자 화면을 활성 해야 한다. 윈도우의 경우는 추가 설치 없이 톰캣 xml 파일을 수정했는데 우분투의 경우 별도로 패키지를 설치해야 한다.





http://서버 IP주소:8080 으로 들어가면 나오는 화면을 보면 tomcat8-admin 이라는 패키지에 대한 설명이 있다. 이 패키지가 설치되어야 관리자 화면으로 접근할 수 있다.



 # tomcat8-admin 설치
 sudo apt-get install tomcat8-admin






설치를 끝났으면 톰캣의 설정 파일을 수정해야 한다.





/etc/tomcat8 로 이동해서 파일목록을 보면 tomcat-user.xml 파일이 있다. 



 # tomcat-user.xml 파일 열기
 sudo nano tomcat-user.xml




명령어를 실행하여 파일을 연다.





</tomcat-users> 위에 설정 내용을 입력한다.


 <role rolename="manager-script"/>
 <role rolename="manager-gui"/>
 <role rolename="manager-jmx"/>
 <role rolename="manager-status"/>
 <user username="관리자 계정명" password="비밀번호" roles="manager-gui,manager-script,manager-status,manager-jmx"/>



 # tomcat8 시작 
 sudo service tomcat8 start



그리고 톰캣 서비스를 구동한다.





브라우저를 켜서 http://서버 IP주소:8080/manager 로 접속한다. 아이디와 비빌번호 입력창이 나오는데, 설정한 관리자 계정과 비밀번호를 입력한다.





그러면 관리자 화면이 나타난다.




2. 메이븐을 이용해 톰캣에 배포하기





STS에서 배포할 프로젝트에 pom.xml 파일을 연다. <plugins></plugins> 사이에 아래 내용을 입력한다. 여기서는 <path></path> 사이에 /프로젝트명(SpringBoard)로 입력을 하였다. 이렇게 해서 배포를 하고 나중에 http://서버 IP주소:8080 으로 접속할 수 있도록 설정할 것이다.



<!-- 메이븐을 통한 서버 배포 -->    
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.4</version>
        <configuration>
            <warsourcedirectory>src/main/webapp</warsourcedirectory>
            <webxml>src/main/webapp/WEB-INF/web.xml</webxml>
        </configuration>
    </plugin>
 
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>tomcat-maven-plugin</artifactId>
        <version>1.1</version>
        <configuration>
            <url>http://서버 IP주소:톰캣 포트번호/manager/text</url>
            <path>/프로젝트명</path>
            <username>관리자 계정</username>
            <password>비밀번호</password>
        </configuration>
    </plugin>
 
   <!-- 로컬에 있는 톰캣에 배포할 경우 서버 IP주소 대신 localhost 입력 -->
   <!-- 톰캣의 기본 포트번호는 8080 이다. -->
   <url>http://localhost:8080/manager/text</url>




http://서버 IP주소:8080 (이 URL을 루트라고 한다.) 로 접근하려면 몇 가지 배포 방법이 있는데 그에 관해서는 아래 링크를 참고하면 된다.







다음으로 배포할 프로젝트를 선택하고 마우스 우클릭 한다. 그리고 [Run As] - [Run Configurations] 를 선택한다.





Run Configurations 창에서 왼쪽에 Maven Build를 클릭한다. 그리고 마우스 우클릭을 하여 New를 선택한다.





그리고 Workspace 버튼을 누른다.





여기서 배포할 프로젝트를 선택한다.





다음으로 Name에 빌드명을 입력하고 Goals에 tomcat:deploy를 입력한다. 입력 후 Run을 누르면 배포가 시작된다.





/SpringBoard 로 지정했으므로 배포를 하면 http://서버 IP주소:8080/SpringBoard 이렇게 접근을 하게된다.



■ 배포 시 인코딩 오류가 발생할 경우



 # webapps 폴더로 이동
 cd /var/lib/tomcat8/webapps
 
 # 폴더 및 파일 목록 확인
 ls




배포 결과를 확인해 보기위해 우분투 서버에서 명령어를 실행한다.





webapps 폴더 아래 배포한 SpringBoard.war 파일과 SpringBoard 폴더가 생긴 것을 확인할 수 있다. 


배포된것을 확인했으니 URL 설정을 해야한다. 그래야만 http://서버 IP주소:8080/ 로 접근할 경우 배포한 프로젝트 화면이 나오게 된다.



 # tomcat8 폴더로 이동
 cd /etc/tomcat8




명령어를 실행하여 tomcat8 폴더로 이동한다.





ls를 입력하여 목록을 보면 server.xml이 있다. 여기에다가 URL 설정을 추가할 것이다. 명령어를 실행하여 server.xml 파일을 연다.



 # server.xml 파일 열기
 sudo nano server.xml






server.xml을 보면 <Host>...</Host> 태그가 있다. 이 사이에 아래 설정을 입력한다. 그리고 Ctrl+X  → Y 입력 → 엔터를 눌러 저장한다.



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



  • docBase : appBase(webapps 폴더) 하위 경로

  • path : http://서버 IP:8080/ 뒤에 정의 되는 부분 ( ex: path=”/SpringBoard” 일때 URL은 http://서버 IP:8080/SpringBoard )

  • reloadable : class 파일 수정 시 redeploy 여부



 # tomcat8 정지, 시작
 sudo service tomcat8 stop
 sudo service tomcat8 start




명령어를  실행하여 톰캣을 재시작한다.





브라우저에서 주소창에 http://서버 IP주소:8080/ 를 입력하면 프로젝트 실행 화면이 나타난다.





프로젝트를 재배포 할 때 Goals 부분에 tomcat:undeploy tomcat:deploy 로 입력해야 한다. tomcat:undeploy를 추가한 것은 배포할 때 기존에 배포된 것을 삭제하고 배포하기 위해서이다. 같은 배포 파일이 있으면 오류가 나기 때문에 Goals 부분을 변경해야 한다.






RSS구독 링크추가 트위터 이메일 구독