remagine

아파치 톰캣으로 프로젝트 관리하기 1 본문

UNIX,LINUX

아파치 톰캣으로 프로젝트 관리하기 1

remagine 2017. 8. 4. 16:01

아파치 톰캣으로 프로젝트 관리하기 1




1. 새로운 운영 업무에서는 주로 Centos Unix에서 아파치-톰캣을 다룬다고 합니다.


2. 사용하게 될 환경은 다소 올드합니다. 오래전에 개발되서 유지되어온 시스템이라서 그렇습니다.


3. 먼저 아파치-톰캣에 대해서 어느정도 이해하고 넘어가려고 합니다.





이해가 잘못된 부분이 있다면 지적 부탁드립니다




Apache-Tomcat


 유명한 웹서버이자 Was인 Apache-Tomcat. Apache는 Web Server이름이자 재단 이름이기도 합니다. Tomcat은 Apahce에서 만든 Was입니다. 웹서버와 Was에 대한 설명은 나중에 이어 가려고 합니다.


 Apache와 Tomcat이 분리된 이유는 효율성 때문입니다.


 웹서비스들이 규모가 커지고, 접속자가 많아짐에 따라


 모든 Request에 대한 response를 효율적으로 처리하고자 하는 요구가 늘어났습니다


 또한 대부분의 부하는 정적인 Data ( Image나 Html파일)이 아니라


 동적인 Data (Servlet, Jsp, Asp, rdb....)에서 발생했습니다.


 웹서버와 WAS를 분리시키면


 정적인 Data를 빠르게 처리해줄 수 있고(웹서버)


 여러대의 WAS를 적용해서 로드밸런싱을 구현할 수 있고 (웹서버)

 

 동적인 DATA를 효율적으로 처리할 수 있습니다 (WAS)


 Apache-Tomcat은


 Java로 만들어진 구현체로


 Java위에 동작하여 Web application을 관리해 주는 sever입니다. 




 1. 이클립스에서 SVN 동기화 하기


이클립스에서 SVN을 통해 운영할 프로젝트들을 받으려고 합니다. help - Eclipse Marketplace에서 svn으로 검색해서 나오는 첫번째 플러그인을 설치하시면 됩니다.


 단순히 SVN을 연결하는 것도 이래저래 버그도 많고 난항이 있을 수 있습니다. 제가 그랬거든요.


 저는 SVN Connector가 자동으로 설치가 안되는 버그가 있어서 난항에 걸렸습니다.


 구글신의 도움으로 해결하실 수 있습니다.


 설치를 하고 Checkout을 통해 소스코드를 받았습니다.


 


 


2. Maven으로 War파일 만들기


 Maven은 빌드관리시스템입니다. 그동안 Gradle을 사용해 왔지만, 이번에는 Maven을 쓰게 되었습니다. 


 프로그래머의 코드를 서버에 올리고, 배포하고, 관리하는 것은 굉장히 귀찮고 자주 반복되는 일입니다.


 수천개의 클래스들 중 일부가 변경될 때 마다, 프로그래머가 일일이 변경을 해줘야 한다면


 실수도 반드시 나오게 되고, 시간도 낭비하게 될 것 입니다. 


 우리가 보통 서버에 배포할 때 WAR라는 확장자의 파일을 알맞은 해당 서버 디렉토리에 배치하곤 합니다.


 WAR파일은 일종의 zip과 같은 압축파일입니다.


 또 동시에 Maven의 디렉토리 구조의 meta정보를 가지는 파일입니다. 


 그러므로 maven을 통해 war파일을 생성하게 되면 


 프로그래머가 일일이 디렉토리 구조를 만들거나 변경하지 않고


 정해진 규칙에 따라 프로젝트를 서버에 재생성해줍니다.




MAVEN PACKAGE 명령어의 구조


CODE -> JAVAC -> CLASS -> JAR,WAR



MAVEN PACKAGE란 명령어를 원하는 프로젝트 ROOT폴더에서 실행합니다. 


 



이제 프로젝트는 *.war파일에 meta정보와 함께 담겨져 있습니다. 


이제 이 war파일을 서버에 올려보도록 하겠습니다. 

Comments