학사 나부랭이
아파치, 톰캣, PuTTY 본문
1. Web Server - 아파치 HTTP 웹 서버
웹 서버는 정적인 자료를 처리해요. 클라이언트가 서버에 페이지를 요청하면 해당하는 화면을 클라이언트에게 HTML 파일로 뿌려주는데 여기서 화면을 구성하는 정적인 자료를 처리해요. 정적인 파일 모두를 저장하고 클라이언트에서 요청이 발생할 때마다 저장된 파일을 보내주기에 서버 자원에 한계가 있고 리소스를 많이 차지하죠.
정적인 자료: 이미지, CSS, HTML
2. Web Application Server - 아파치 톰캣: 보편적으로 사용되는 WAS(톰캣 ⊃ 아파치 기능(웹 서비스 데몬, Httpd, ...))
WAS는 동적인 자료를 처리해요. WEB 서버의 단점을 보완해 웹 컨테이너가 추가되었는데, 클라이언트에서 요청하면 컨테이너가 요청정보를 파악해 실시간으로 페이지에 필요한 파일을 생성하여 보여주므로 리소스 제한의 압박을 줄일 수 있어요.
동적인 자료: DB 연동, 비즈니스 로직
클라이언트에서 요청하는 페이지에는 크게 정적인 정보와 동적인 정보로 나뉘는데 이들이 요청정보에 맞게 역할을 분배, 처리해요. 하지만 톰캣 5.5부터 Httpd의 native 모듈을 사용해 정적인 자료를 처리하는 기능을 제공해요. 즉, Httpd와 톰캣이 같은 모듈을 사용하므로 성능 차이가 나지 않아요. 그러니 특별한 목적 없이 단순히 정적 자료 처리 성능만을 위해서는 톰캣 앞에 아파치 Httpd를 두는 것은 불필요하죠.
아파치는 기본적으로 80포트(HTTP)로 연결되며 Apache_HOME/bin/httpd.bat과 같은 배치파일을 실행하거나 서비스로 실행시키면 돼요.
톰캣은 기본적으로 8080포트(HTTP)로 연결되며 서버를 띄우려면 Tomcat_HOME/bin/start.bat과 같은 배치파일을 실행시키면 돼요.
3. Secure SHell
윈도우에는 RDP(원격 데스크톱 연결)이 있는데 리눅스에서는 이 RDP 프로토콜을 지원하지 않으며, 굳이 CLI 원격으로만 처리할 수 있는 일이라 GUI 원격이 필요 없을 때, SSH 프로토콜을 사용해 접속해요. (Telnet 프로토콜도 마찬가지로 터미널 원격 접속이지만 일반 문자열이 암호화되지 않는다는 보안적으로 결함이 있음)
터미널 에뮬레이터 클라이언트로 PuTTY가 있는데, 말 그대로 실존하는 터미널이 아니죠.