반응형

Apache에서는 "mod_info"모듈 "server-info"라고 핸들러가 제공된다.

"server-info" 핸들러를 호출하여 Apache 구성 정보을 확인할 수 있다. 그럼 브라우저에서 "server-info" 핸들러를 호출하여 동작 상황을 볼 수 있도록 해보자.

mod_info 모듈 로드

먼저 "mod_info"모듈을 이용할 수 있도록 "LoadModule"에서 모듈을 로드한다. "httpd.conf" 파일에서 "mod_info"로 검색하면, 다음과 같은 내용을 찾을 수 있을 것이다.

#LoadModule info_module modules/mod_info.so

"LoadModule" 앞부분에 "#"이 있다면 "#"을 제거한다.

LoadModule info_module modules/mod_info.so

다음은 "server-info"핸들러를 호출 설정을 한다. "Include"을 사용하여 "httpd-info.conf"파일을 로드한다. "httpd.conf"파일에서 "httpd-info.conf"로 검색하면, 다음과 같은 내용을 찾을 수 있을 것이다.

# Real-time info on requests and configuration
#Include conf/extra/httpd-info.conf

"Include" 앞부분에 "#"이 있다면 "#"을 제거한다.

# Real-time info on requests and configuration
Include conf/extra/httpd-info.conf

httpd-info.conf 파일 확인

다음은 "httpd-info.conf" 파일에서 "/server-info"로 검색하면, 다음과 같은 내용을 찾을 수 있을 것이다.

<Location /server-info>
    SetHandler server-info
    Require host .example.com
    Require ip 127
</Location>

"Location"을 사용하여 URL 경로를 "/server-info"로 설정되었고, "/ server-info" 라고 URL 경로로 호출 하면 "server-info" 핸들러를 호출되어 실행되도록 "SetHandler" 설정이 되어 있다.

이와 같이 작성되면 브라우저에서 "http://localhost/server-info"라고 요청하게 되면 "server-info" 핸들러를 실행하고 결과를 돌려준다. 또한 서버의 작동 상황은 누구에게나 공개하는 것은 아니기에 로컬 호스트에서만 액세스를 허용된다.

실행 확인

로컬에서 브라우저로 "http://127.0.0.1/server-info"에 액세스한다.


정상적으로 액세스가 되었다면, 위와 같이 Apache의 각종 설정 정보에 대한 링크가 화면에 표시된다. 각 링크를 클릭하시면 자세한 정보가 표시된다.



반응형
반응형

"server-status" 핸들러를 실행할 때 "ExtendedStatus"에 "On"을 설정하면, 현재 처리하고 있는 URL 및 자원에 대한 정보도 함께 확인할 수 있다.

"httpd-info.conf" 파일에서 "ExtendedStatus"로 검색하면, 다음과 같은 내용을 찾을 수 있을 것이다.

#
# ExtendedStatus controls whether Apache will generate "full" status
# information (ExtendedStatus On) or just basic information (ExtendedStatus
# Off) when the "server-status" handler is called. The default is Off.
#
#ExtendedStatus On

기본으로 Off라고 설명이 되어 있다. "ExtendedStatus On"의 "#"을 제거하여 확장 상태를 "On"으로 설정하면 상세 접보를 확인 할 수 있게 된다.

그럼 "On"으로 설정하겨 "http://localhost/server-status"에 액세스한다.

화면의 맨 마지막보다 자세한 정보가 표시된 것을 볼 수 있다.

반응형
반응형

Apache에서는 "mod_status" 모듈에 "server-status"라는 핸들러를 제공한다. (핸들러는 있는 동작을 시키는 함수 같은 것이다. 프로그램의 모임이라고 생각하면 된다.)

"server-status" 핸들러를 호출하여 Apache의 동작 상황을 확인할 수 있다. 그럼 브라우저에서 "server-status" 핸들러를 호출하여 동작 상황을 볼 수 있도록 해보자.

mod_status 모듈 로드

먼저 "mod_status"모듈을 이용할 수 있도록 "LoadModule"에서 모듈을 로드한다. "httpd.conf" 파일에서 "mod_status"로 검색하면, 다음과 같은 내용을 찾을 수 있을 것이다.

#LoadModule status_module modules/mod_status.so

"LoadModule" 앞부분에 "#"이 있다면 "#"을 제거한다.

LoadModule status_module modules/mod_status.so

다음은 "server-status" 핸들러를 호출하는 설정을 한다. "Include"을 사용하여 "httpd-info.conf" 파일을 로드한다. "httpd.conf" 파일에서 "httpd-info.conf"로 검색하면, 다음과 같은 내용을 찾을 수 있을 것이다.

# Real-time info on requests and configuration
#Include conf/extra/httpd-info.conf

"Include" 앞부분에 "#"이 있다면 "#"을 제거한다.

# Real-time info on requests and configuration
Include conf/extra/httpd-info.conf

httpd-info.conf 파일 확인

다음은 "httpd-info.conf" 파일에서 "/server-status"로 검색하면, 다음과 같은 내용을 찾을 수 있을 것이다.

<Location /server-status>
    SetHandler server-status
    Require host .example.com
    Require ip 127
</Location>

"Location"을 사용하여 URL 경로를 "/server-status"으로 설정되었고, "/ server-status" 라고 URL 경로로 호출 할때 "server-status" 핸들러를 호출하여 실행 설정을 "SetHandler"가 지정되어 있다.

이와 같이 작성되면 브라우저에서 "http://localhost/server-status"라고 요청하게 되면 "server-status" 핸들러를 실행하고 결과를 돌려준다. 또한 서버의 작동 상황은 누구에게나 공개하는 것은 아니다. 그래서 로컬 호스트에서만 액세스를 허용한다.

실행 확인

로컬에서 "http://127.0.0.1/server-status"에 액세스하십시오.

이 처럼 URL에 접근할 수 있다면 위와 같이 Apache의 작동 상태를 모니터링 할 수 있다.

지정된 시간에 자동 업데이트

로컬 호스트에서 접속할 때 URL에 페라미터로 "?refresh=초"와 같이 넣으면, 지정한 초마다 최신 정보를 다시 받아오게 된다.

그럼 5초 단위로 자동 업데이트하도록 "http://127.0.0.1/server-status?refresh=5"라고 URL 입력한다.

위와 같이 5초 단위로 자동으로 최신의 정보를 얻을 다시 받아와 표시하는 것을 확인할 수 있다.

반응형
반응형

이제 Apache 설정만 하면 된다. 연동을 하기 위해서는 "mod_proxy_ajp"을 사용하므로 먼저 'mod_proxy'과 'mod_proxy_ajp "모듈을 로드하도록 변경합니다.

"httpd.conf"파일에서 "mod_proxy_ajp"로 검색하면, 다음과 같은 내용을 찾을 수 있을 것이다.

#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

주석 처리가 되어 있다면 앞에 "#"를 제거합한다.

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

이로써 'mod_proxy'과 'mod_proxy_ajp "모듈이 로드되도록 변경되었다.

다음 톰켓에 대한 요청이 있을 경우 설정한다. "http://localhost/hello/"로 시작하는 URL으로 액세스가 되면 Tomcat의 파일을 호출하도록 할 것이다. 그러기 위해 먼저 섹션 컨테이너로 "Location"을 사용하여 다음과 같이 작성한다.

<Location /hello/>

</Location>

※ 섹션 컨테이너에 대해서는 "접근 허용 범위 설정 (섹션 컨테이너)"를 참조한다.

Tomcat에 액세스를 하도록 하는 설정을 <Location> 안에 작성한다. Tomcat는 AJP/1.3 프로토콜으로 8009 포트를 사용하여 연결을 하기에 다음과 같이 작성한다.

<Location /hello/>
    ProxyPass ajp://localhost:8009/hello/
</Location>

이것으로 "httpd.conf" 파일에 작성하면 완료되었다.

위와 같이 표시되면 Apache 통한 Tomcat 호출을 성공하였다.

반응형
반응형

Apache를 통해 액세스로 변경하기 위해 현재 8080 포트에서 실행하고 있는 Tomcat에 직접 연결을 못하게 한다.

설정을 위해 "{Tomcat 설치 디렉토리}/conf"에 있는 "server.xml"를 텍스트 편집기로 연다. 그리고 "8080" 로 검색하면, 다음과 같은 내용을 찾을 수 있을 것이다.

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

이 부분 전체를 주석 처리하도록 한다.

<!--
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
-->

이제 8080 포트에서 Tomcat에 연결하려고 하면 연결할 수 없게 되었다.

설정이 완료되면 Tomcat을 다시 시작하여 "http:// localhost:8080/hello/helloworld"브라우저에서 액세스 해본다.


그러고"server.xml"파일에 다음과 같은 내용이 있는지 검색한다. "AJP"로 검색하면 나올 것이다.

    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

Apache에서 Tomcat에 연결을 "AJP/1.3"라고 프로토콜을 사용하여 8009 포트로 접속하게 될 것이다.

반응형

+ Recent posts