본문 바로가기

tomcat/apache

아파치를 사용하는 이유

1. 아파치는 왜 설치하는 걸까??

아파치는 웹서버(WS), 톰켓은 웹 어플리케이션 서버(WAS)이다. 

출처 : https://gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html

 

흔히 대부분의 개발자는 웹서버는 정적인 자원을 관리하며 WAS는 동적인 자원을 관리한다고 알고 있다.

하지만 톰켓만 쓰더라도 웹서버에서 관리하는 정적인 자원과 동적인 자원을 모두 사용을 할 수가 있다.

어차피 톰켓도 아파치에서 만드는 기능이니 하나로 합치는게 사용이 더 편했을 것이다.

이것을 믿는 사람이 있다면 아주 옛날 사람이다.(tomcat4 이전에 공부했던분 혹은 옛날옛적 얘기를 전해 들은분)

 

그럼에도 불구하고 웹서버를 별도로 구성을 하는 경우가 있다.

 

1. IP와 port를 은닉할 수가 있다.

톰켓의 경우에는 서버를 띄우고 접속을 하기 위해서는 localhost:8080 으로 접속을 한다.

(물론 포트는 변경이 가능하다.)

 

하지만 웹서버의 경우에는 localhost 혹은 localhost:80으로 접속이 가능하다.

(네이버에 접속할때 www.naver.com으로  로 접속하지 www.naver.com:8080  이렇게 접속하지 않는다. )

 

사용자가 url을 입력하여 호출을 하게 되면 자동으로 80 포트를 호출을 하게 되는데 

 

그렇게 되면 아파치를 호출을 하게 된다. 

 

아파치에서는 설정에 들어가 있는 IP와 PORT를 활용하여 톰켓을 호출한다.

 

즉 실제 운영되는 서버의 IP와 PORT를 사용자에게 노출하지 않고 운영을 할수가 있는 것이다.

(이는 보안상 유리한 이점을 가질수가 있을것이다.)

 

또한 포트를 사용자가 입력할 필요가 없어지게 된다.

 

2. 서버에 대한 이중화 설정이 가능하다.

아파치 하나에 was를 여러개 연결을 하여 사용이 가능하다.

사용자가 많을 경우에 was를 여러개 만들어서 서버에 대한 부하를 줄일수가 있다.

이미지 출처 : https://junshock5.tistory.com/91

 

3. 가상호스트 운영이 가능하다.

Web Server에는 기본적으로 존재하는 Host가 있으며, 이를 Main Host라고 합니다.

하나의 Web Server에는 Main Host 외에 별도의 디렉토리르 가진 여러개의 Host를 설정하여, virtualhost를 설정을 통해 1개의 서버에서 여러개의 웹사이트를 운영할수 있습니다.