블로그 이미지
평범하게 살고 싶은 월급쟁이 기술적인 토론 환영합니다.같이 이야기 하고 싶으시면 부담 말고 연락주세요:이메일-bwcho75골뱅이지메일 닷컴. 조대협


Archive»


 

'클라우드 컴퓨팅 & NoSQL/Apache Httpd'에 해당되는 글 3

  1. 2009.04.27 Tomcat 6.0과 Apache 2.X 연동 (2)
  2. 2008.12.02 ESB 성능 테스트에서 Apache 설정 (1)
  3. 2007.07.24 아파치 캐슁 서버 설치법 (2)
 
server.xml에 AJP 프로토콜 설정하는 부분의 샘플이 빠져 있어서 삽질을 좀 했네.
아래와 같이 server.xml에서 AJP Port를 열어줘야함.

<Server port="8000" shutdown="SHUTDOWN" debug="0">
    <Service name="Tomcat-Standalone">
        <Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="8080" minProcessors="5"
                   maxProcessors="75"
                   enableLookups="false" redirectPort="8443" acceptCount="10" debug="0" connectionTimeout="20000"
                   useURIValidationHack="false" URIEncoding="UTF-8"/>
        <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"
                   minProcessors="50" maxProcessors="150"/>

        <Engine name="Standalone" defaultHost="localhost" debug="0">
        <!--
        <Listener className="org.apache.jk.config.ApacheConfig" modJk="/usr/local/apache2/modules/mod_jk.so" />
        -->


            <Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="false">

                <Context path="" docBase="../confluence" debug="0" reloadable="false">
                    <!-- Logger is deprecated in Tomcat 5.5. Logging configuration for Confluence is specified in confluence/WEB-INF/classes/log4j.properties -->
                    <Manager pathname="" />
                </Context>
            </Host>

        </Engine>

Apache에서는 mod_jk 설치한후

LoadModule jk_module modules/mod_jk.so
<IfModule jk_module>
 JkWorkersFile /usr/local/apache2/conf/workers.properties
 JkLogFile logs/mod_jk.log
 JkLogLevel info
</IfModule>

# First Virtual Host.
#
<VirtualHost 61.109.254.15:80>
DocumentRoot "/usr/local/confluence-2.10.3-std/conf"
ServerName wiki.javastudy.co.kr
JkMount /* confluence
</VirtualHost>

workers.propertis에 다음가 같이 기술
==
worker.list=confluence
worker.confluence.port=8009
worker.confluence.host=61.109.254.15
worker.confluence.type=ajp13

==


본인은 구글 클라우드의 직원이며, 이 블로그에 있는 모든 글은 회사와 관계 없는 개인의 의견임을 알립니다.

댓글을 달아 주세요

  1. 김홍회 2009.04.27 23:09  댓글주소  수정/삭제  댓글쓰기

    8009가 뭔가 했는데 server.xml... 오후 내내 이거 찾았는데 ㅡㅜ

  2. 우성진 2015.03.09 11:05  댓글주소  수정/삭제  댓글쓰기

    하나만 여쭐게요 답변 부탁드릴게요
    JkMount /* confluence <---이 부분 이렇게 하면 모든 요청을 아파치가 톰캣으로 던지겠다는 내용이 되지 않습니까?

ESB에 대한 부하테스트를 SOAP UI를 해보니..
400 Thread에서 Connection Refused가 계속 나왔다.
원인은 Apache에서 Connection Refuse를 보낸것이었고
Apache 용량 부족이었는데.
ServerLimit Parameter가 제대로 작동 하지 않았다.
버그인지.. 넣는 위치에 영향을 받네.
아래는 설정값
본인은 구글 클라우드의 직원이며, 이 블로그에 있는 모든 글은 회사와 관계 없는 개인의 의견임을 알립니다.

댓글을 달아 주세요

  1. 서성훈 2009.05.12 08:56  댓글주소  수정/삭제  댓글쓰기

    윽, 설정값이 없네요.. 나만 안보이는 건가


==
1. HTTPD 소스를 다운로드한다.
=> wget http://mirror.apache-kr.org/httpd/httpd-2.0.59.tar.gz

2. 압축을 푼다.
=> tar zxvf httpd-2.0.59.tar.gz
=> cd httpd-2.0.59

3. 다음과 같이 configuration을 설정하여 모듈을 빌드한다.
=> ./configure --prefix=/home1/jwkang/proxy --enable-module=so --enable-modules=all --enable-mods-shared=all --enable-deflate --with-zlib=/usr/lib/ --enable-proxy --enable-cache --enable-mem-cache --enable-file-cache --enable-disk-cache

4. 빌드를 한다.
=> make

5. 모듈이 만들어졌는지 확인한다.
./modules 디렉토리에 mod_cache.so, mod_file_cache.so, mod_mem_cache.so가 있는지 확인한다.

6. 설치를 한다.
=> make install

7. /env/apache2/cache 디렉토리를 생성한다.
=> mkdir /env/apache2/cache

8. 캐쉬 서버 설정을 한다. /env/apache2/conf/vhost-proxy.conf 파일에 다음을 추가한다.
LoadModule cache_module modules/mod_cache.so
<IfModule mod_cache.c>
  #LoadModule disk_cache_module modules/mod_disk_cache.so
  <IfModule mod_disk_cache.c>
    CacheRoot /env/pahache2/cache
    CacheSize 256
    CacheEnable disk /book
    CacheDirLevels 5
    CacheDirLength 3
  </IfModule>
  LoadModule mem_cache_module modules/mod_mem_cache.so
  <IfModule mod_mem_cache.c>
    CacheEnable mem /book
    MCacheSize 4096
    MCacheMaxObjectCount 100
    MCacheMinObjectSize 1
    MCacheMaxObjectSize 2048
  </IfModule>
</IfModule>

==
Proxy 서버와 함께 이용할때 유용하고, 특히 WebService등에서 변화 주기가 낮은 서비스에 대해서 이 Cache 기능을 사용하면 성능 향상에 도움이 될것 같다.

예를 들어 SOA시스템에서 서적 정보 조회,공지 사항 조회등과 같은 업데이트 주기가 긴 컨텐츠의 경우에는 막강 효과가 있지 않을까?

본인은 구글 클라우드의 직원이며, 이 블로그에 있는 모든 글은 회사와 관계 없는 개인의 의견임을 알립니다.

댓글을 달아 주세요

  1. 조대협 2007.07.24 16:24  댓글주소  수정/삭제  댓글쓰기

    아마. EP를 구축할때 서브 시스템에 대한 포틀릿 렌더링 타임이 많이 걸리는데.
    이걸 적용하는건 어떨까?
    포틀릿 자체에 캐슁 기능이 있어서 효용성이 떨어질까?
    코드 변경 없이 시스템 설정만으로 가능하다는것은 메리트가 있는데...
    왠지 EP와 Apache Proxy+Cache는 어느정도 효과가 있을듯.

  2. 조대협 2007.07.26 14:11  댓글주소  수정/삭제  댓글쓰기

    disk cache 사용시 cache directory를 만들어주고 httpd process user 가 write할 수 있는 권한을 줘야한다.