출처) https://itmemo.tistory.com/238

        https://ganzi-tilong.tistory.com/7

        https://joont.tistory.com/55

 

mod_jk를 알기전에 AJP를 먼저 알아야 할듯 함

 

■ AJP 란?

AJP는 웹서버(Apache) 뒤에 있는 어플리케이션 서버로부터 웹서버로 들어오늘 요청을 위임할 수 있는 바이너리 프로토콜이다.

 

어플리케이션 서버로 핑을 할 수 있는 웹서버의 모니터링 기능을 지원한다.

 

웹 개발자들은 대체로 AJP를 여러 웹서버로 부터 여러개 어플리케이션 서버로의 로드 밸런스 구현에 이용한다. 세션들의 각각의 어플리케이션 서버 인스턴스의 이름을 갖는 라우팅 메카니즘을 사용하는 현재 어플리케이션 서버로 리다이렉트된다. 이 경우 어플리케이션 서버를 위한 리버스 프록시로 웹서버는 동작한다.

 

■ mod_jk 란?

아파치, 톰캣 연동을 위해 mod_jk라는 모듈을 사용하는데, 이는 AJP프로토콜을 사용하여 톰캣과 연동하기 위해 만들어진 모듈이다. mod_jk는 톰캣의 일부로 배포되지만, 아파치 웹서버에 설치하여야 한다.

 

동작방식

1. 아파치 웹서버의 httpd.conf에 톰캣 연동을 위한 설정을 추가하고 톰캣에서 처리할 요청을 지정한다.

2. 사용자의 브라우저는 아파치 웹서버(보통 포트80)에 접속해 요청한다.

3. 아파치 웹서버는 사용자의 요청이 톰캣에서 처리하도록 지정된 요청인지 확인 후, 톰캣에서 처리해야 하는 경우 아파치 웹서버는 톰캣의 AJP포트(보통 8009포트)에 접속해 요청을 전달한다.

4. 톰캣은 아파치 웹서버로부터 요청을 받아 처리한 후, 처리 결과를 아파치 웹서버에 되돌려 준다.

5. 아파치 웹서버는 톰캣으로부터 받은 처리 결과를 사용자에게 전송한다.

 

■ Apache와 Tomcat을 연동해야 하는 이유

Tomcat은 WAS 서버이지만 Web 서버의 기능도 갖추고 있는 WAS 서버입니다.

그러나 톰캣의 Web 서버 기능은 아파치보다 느린 속도처리를 보였고, 이로 인해 정적인 페이지는 Apache가 처리하고, 동적인 페이지를 Tomcat이 처리함으로써 부하를 분산하는 이유에서 Apache와 Tomcat을 연동하였습니다.

 

그러나 이는 옛날 얘기이고.. 지금은 Tomcat이 많이 발전해 Tomcat 내의 Web 서버가 아파치에 절대 뒤쳐지지

않을만큼의 역할을 수행합니다.

그럼에도 불구하고 아직도 Apache와 Tomcat을 연동하여 사용하는 이유는, 아파치 내에서만 설정할 수 있는 부분이라던가 아파치에서 제공하는 유용한 모듈들을 톰캣에서 사용할 수 없기 때문입니다.

 

'IT 용어 정리' 카테고리의 다른 글

NoSQL 이란?  (0) 2019.09.17
node.js 란 무엇인가  (0) 2019.09.14
spring MVC 와 DispatcherServlet 의 정의  (0) 2019.09.14
front end와 back end의 정의  (0) 2019.09.13
JDBC (Java Database Connectivity) 란?  (0) 2019.09.13

리눅스 환경 세팅 - 6. CentOS에 Apache 웹서버 구축하기 (https://noobnim.tistory.com/23) 에 이어서 진행합니다.

 

출처) https://suwoni-codelab.com/linux/2017/05/28/Linux-CentOS-Tomcat/

 

08. 리눅스(CentOS) 개발 놀이터 만들기 - Tomcat 설치

리눅스 CentOS에 Tomcat을 설치해봅니다.

suwoni-codelab.com

 

1. Tomcat 설치여부 확인

$ yum list installed | grep tomcat

위의 명령으로 톰캣 설치여부를 확인합니다.

 

위와같이 보이면 톰캣이 설치되어 있다는 뜻입니다.

저는 설치되어있지 않으므로 설치를 진행하도록 합니다.

 

 

2. Tomcat 설치하기

$ yum install -y tomcat*

위의 명령으로 Tomcat 의 서비스들을 설치합니다.

설치과정중에 저는 tomcat-native뭐시기의 오류로인해 설치가 중단되더군요

 

$ yum install -y tomcat* --skep-broken

yum의 가이드대로 오류항목을 제외한 나머지의 설치를 위해 위의 명렁으로 설치합니다.

1번의 설치여부확인 명령을 다시 입력해보면 tomcatjss.noarch 대신 tomcat-navice.x86_64가 설치되어있는것이 확인됩니다.

여러 내용들은 보면 사용하는데 지장은 없어보입니다.

컨플릭트 오류로 봐서는 tomcat-navice.x86_64 가 tomcatjss.noarch 를 대체하는 듯합니다. (뇌피셜)

 

$ cd /usr/share/tomcat

위의 경로로 이동하면 톰캣이 잘 설치된것을 확인할 수 있습니다.

 

 

3. Java 설치하기

Tomcat을 사용하기 위해서는 Java가 설치되어 있어야 합니다.

 

우선 리눅스가 아닌 다른 OS에서 톰캣 다운로드 페이지로 이동합니다. https://www.oracle.com/technetwork/java/javase/downloads/index.html

 

Java SE - Downloads | Oracle Technology Network | Oracle

Which Java package do I need? Software Developers: JDK (Java SE Development Kit). For Java Developers. Includes a complete JRE plus tools for developing, debugging, and monitoring Java applications. Administrators running applications on a server:  Server

www.oracle.com

 

위의 링크에서 Java SE의 Oracle JDK 다운로드 버튼을 클릭합니다.

Accept를 클릭해주고 Linux환경의 rpm 링크를 우클릭 > 링크주소복사 하여

복사된 주소를 메모장에 붙여넣고 복사된 주소를

 

$ wget --no-check-certificate --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/12.0.2+10/e482c34c86 bd4bf8b56c0 b35558996b9/jdk-12.0.2_linux-x64_bin.rpm

wget --no-check-certificate --header "Cookie: oraclelicense=accept-securebackup-cookie" 뒤에 타이핑하여 다운로드 받습니다.

꼭 위의 방법대로 해야 온전한 파일이 다운받아집니다.

 

$ mkdir /usr/local/java
$ mv jdk-12.0.2_linux-X64_bin.rpm /usr/local/java

저같은 경우는 다운로드 받은 파일을 새로운 디렉토리를 만들어 이동시켜주었습니다.

 

$ rpm -ivh jdk-12.0.2_linux-X64_bin.rpm

위의 명령으로 java 설치를 진행합니다.

 

$ java -version

위의 명령을 사용하여 java version "12.0.2" 가 확인되면 자바설치는 마무리가 됩니다.

 

 

4. 방화벽 해제 및 Tomcat 실행하기

$ firewall-cmd --permanent --add-port=8080/tcp 
$ firewall-cmd --reload

톰캣의 포트인 8080 포트를 방화벽 해제 해준 후 방화벽을 재실행 합니다.

 

$ systemctl enable tomcat
$ systemctl start tomcat

서비스를 등록해준 후 재시작 합니다.

 

 

다른 PC 에서 http://자신의 서버ip/8080 을 입력합니다.

 

아파치 설치가 완료되고 정상 작동시 볼수있는 화면입니다.

 

Tomcat 설정을 마무리합니다.

+ Recent posts