Apache와 Tomcat을 제대로 이해하려면?

yosikky의 이미지

안녕하세요
초보 서버개발자 라도 되고 싶은 어설픈 개발자 입니다.

최근 신입으로 회사에서 이런저런 일들을 맡아서 하다보니..
제가 프로그래밍 조금 할 줄 알아서 일은 하고 있지만 정말 서버개발자라는 포지션으로써 적합한가 생각해보면..
딱히 그런것 같지도 않더군요..

서버 설정 하나 할려고 하면 남들이 올려놓은 설정파일 보면서 무슨 내용인지 제대로 파악도 하지 못한채 따라하기 식으로 하고..

실제로 제가 만든 서블릿들이 어떻게 동작되고 있는건지도 모르고..
static 페이지 dynamic 페이지들은 아파치, 톰캣이 따로 관리하는게 효율적이라는데 과연 그렇게 하려면 어떻게 설정해야 하는지도 모르고..

그렇다고 이런 저런 질문들을 하나하나 찾아가며 공부하자니.. 검색하는데 시간이 더 걸리는 바람에.. 당장 눈앞에 있는 일만 해결해야 겠다는 생각이 더 들어서요..

따라서..

좋은 책을 보면서 기초부터 잘 쌓고 싶은 마음이 큽니다.
Apache와 Tomcat등 컨테이너 서버들의 원리를 잘 이해할 수 있는 책들은 어떤 것들이 있을까요?

많은 선배님들의 추천도서가 있다면 이제 이 바닥을 기어기어 시작하는 아이에게 큰 도움이 될 듯합니다..

ps. 여기에 이런 질문 올리는건 적합치 않을까요? ;;;

zepinos의 이미지

아무래도 검색을 통해서 배우시라는 답들이 많겠죠.

apache 는 그나마 설정할 것이 많지만

tomcat 은 그리 건드릴 것도 많지 않습니다.

기껏해야 mod_jk 을 이용한 로드밸런싱 정도?

아니면 실행시 힙이나 new 메모리 설정해주는 정도?

그냥 열심히 설정파일을 읽다보면 답이 나올 것 같습니다.

그리고 둘 다 아주 역사 깊고 잘 만든 프로그램이라서 기본 옵션으로 돌려도 어지간한 부하는 견딘답니다. -_-;;;

yosikky의 이미지

역시 검색인가요 ㅎㅎ;;

뭐 검색을 하지 않겠다는건 아니구요.. 필요할 때 검색은 매우 효과적이니깐요..

단지 검색 자체도 효율적으로 수행하기 위해서는 기본적인 개념이 잡혀있어야 더욱 깊이있는 검색을 할 수 있다는 생각에..

좋은 레퍼런스 하나 추천해주십사..하는 것이죠^^;;;;

전 아직도 mod_jk 랑 mod_proxy_ajp 로 아파치, 톰캣을 연동했을 때 어떤부분이 다르고 어떤부분이 비슷하게 수행되는지 전혀 이해가 안가거든요...

아.. 앞길이 너무나도 멀군요 흑흑흑

오호호호호호호홋!!!!

zepinos의 이미지

그냥 mod_jk 만 보시면 될 듯 합니다. ^^;;;

연동 모듈이 몇 개가 있으나 상당수는 사라지거나 없어지고 mod_jk 로 대동단결하는 추세죠. ㅡ,.ㅡ

게다가...mod_jk 는 apache jakarta tomcat 에서 같이 만들고 있습니다. ^^;;;

기본적인 개념...은...글쎄요...제가 적었듯이...httpd.con 와 server.xml 을 찬찬히 읽어보는 것이겠죠.

apache 도 대부분은 모듈 단위로 기능을 추가하기 때문에 필요한 모듈을 나중에 사용하기 위해서 뭐가 있다는 것 정도 알고...

max 나 min 혹은 숫자로 설정하는 설정값이 보통 설정값을 변경하는 것이니까 그 부분이 무엇에 대한 값을 주는 건지 확인하고...

tomcat 은...진짜 그다지 변경할 것이 없어서요...-_-;;;

M.W.Park의 이미지

제 경우에는 부분적으로라도 실제 소스를 보는 것이 큰 도움이 되었습니다.
시간만 허락하면 전체적인 리뷰를 해보고싶은 프로젝트들도 몇개 있는데 다들 덩치가 큰놈이라 지금은 엄두를 못내고 있습니다.

또한, 아무리 작은 문제라도 패치를 한번 만들어보면, 엄청난 성취감이 몰려옵니다. ^^;

-----
오늘 의 취미는 끝없는, 끝없는 인내다. 1973 法頂

-----
오늘 의 취미는 끝없는, 끝없는 인내다. 1973 法頂

cleol의 이미지

만들어보는게 최고지요.

물론 아파치를, 톰캣을 그대로 재현할 필요는 없고, 비스무레한 작은 녀석을 만들어보면 되지요.

http://www.aladdin.co.kr/shop/wproduct.aspx?isbn=8980544138

저는 예전에 이 책에서 많은 도움을 얻었습니다.
자바를 사용해서 웹서버, 채팅 등등을 "여러가지 방식"으로 만들어 보는 책입니다.

지금은 좀 오래되서 추가해야할 내용들이 많이 있습니다.
자바의 쓰레드 라이브러리가 많이 보강되어 편리해졌고,
당시에는 지원되지 않던 비동기 입출력도 가능해졌으니까요.
그리고 지금 생각해보면 쓰레드 관련 내용 중에는 좀 잘못된(또는 논란의 여지가 있는) 것들도 있지 않나 싶기는 하네요.

이런 내용이 보충되서 새 판이 나왔으면 좋겠지만, 무소식이네요.

그래도 일단은 기본이 되는 내용들을 다루고 있으니까,
한 번 이 책을 죽 공부해보시고 최신 내용들은 따로 공부를 하시는 것도 좋을 것 같습니다.

아님 굳이 이 책을 공부하지 않더라도 어떤 식으로든
간단한 서블릿 컨테이너 비스무레한 것을 만들어보시면 배우는게 많을 겁니다.
실제로 서블릿 스펙을 구현할 필요는 전혀 없구요,
서블릿 비슷한 기능을 직접 간단하게 디자인해서 구현하시면 될겁니다.

그리고 설정 방법 같은 것은 굳이 빠삭하게 알려고 하지 마십시오.
필요할 때 문서 찾아서, 예제 찾아서, 물어봐서 하면 됩니다.
그런 건 개발자가 할 일이라기 보다는 전문적인 관리자가 따로 있어야하는 일입니다.
물론 성능이 아주 크리티컬하지 않는 이상 개발자들이 대충 알아서 하는 게 보통이지만 말입니다...