반응형

httpd.conf 수정

 

<Location /server-status>

    SetHandler server-status

    Order deny,allow

    Deny from all

    Allow from 192.168.123.33 #33 IP 사용자만 허용

</Location>

 

 

<Location /server-status>

    SetHandler server-status

    Order deny,allow

    Deny from all

    Allow from 192.168.123.0/24 #0~255 IP 사용자만 허용

</Location>

 

 

http://192.168.123.95/server-status?refresh=1

1초 간격으로 상태 모니터링

 

1 requests currently being processed, 7 idle workers

- 현재까지 서비스 건수, idle 수

 

- : 대기중

S: 구동된 프로세스

R: 클라이언트의 요청읽음

W: 클라이언트에 응답중

K: 클라이언트와 연결중

D: DNS 룩업

L: 로그기록중

G: 응답완료

. : 할당된 프로세스 없음

 

반응형

' > WEB' 카테고리의 다른 글

아파치 로그 로테이션  (0) 2019.12.01
리다이렉트( redirect)  (0) 2019.11.29
Apache MPM worker  (0) 2019.11.29
아파치 윈도우 에러  (0) 2019.11.29
아파치 보안  (0) 2019.11.29
반응형

StartServers         8

MaxClients             4096

MinSpareThreads        1024

MaxSpareThreads        2048

ThreadsPerChild        128

MaxRequestsPerchild    0

 

StartServers        시작시에 초기화되는 서버 프로세스 갯수

MaxClients            동시 연결가능한 클라이언트의 최대 개수

MinSpareThreads        대기하고 있는 최소 스레드 갯수

MaxSpareThreads        대기하고 있는 최대 스레드 갯수

ThreadsPerChild        각각의 자식프로세스가 지속적으로 가질수 있는 스레드의 갯수

MaxRequestsPerChild    자식 프로세스가 서비스할 수 있는 최대 요청 갯수

반응형

' > WEB' 카테고리의 다른 글

리다이렉트( redirect)  (0) 2019.11.29
Apache server-status  (0) 2019.11.29
아파치 윈도우 에러  (0) 2019.11.29
아파치 보안  (0) 2019.11.29
worker 워커 설정  (0) 2019.11.29
반응형

- 에러로그 발생: (OS 64)지정된 네트워크 이름을 더 이상 사용할 수 없습니다. AH00341: winnt_accept: Asynchronous AcceptEx failed

- 조치 내용(httpd.conf 수정)

AcceptFilter http none

EnableMMAP off

EnableSendfile off

 

반응형

' > WEB' 카테고리의 다른 글

Apache server-status  (0) 2019.11.29
Apache MPM worker  (0) 2019.11.29
아파치 보안  (0) 2019.11.29
worker 워커 설정  (0) 2019.11.29
Apache 2.2.23 설치  (0) 2019.11.29
반응형

 

 

TraceEnable Off

ServerSignature Off

ServerTokens Prod

<Directory />

    <LimitExcept GET POST>

    Order deny,allow

    Deny from all

    </LimitExcept>

</Directory>

 

 

 

<Location />

    <LimitExcept GET POST>

       order deny,allow

       deny from all

       allow from 127.0.0

   </LimitExcept>

</Location>

 

<Location />

   <Limit OPTIONS>

      order allow,deny

      allow from 127.0.0

  </Limit>

</Location>

<Location />

 

<IfModule mod_rewrite.c>

    RewriteEngine On

    RewriteCond %{REQUEST_METHOD} !^(GET|POST)

    RewriteRule .* - [R=405,L]

</IfModule>

</Location>

 

반응형

' > WEB' 카테고리의 다른 글

Apache MPM worker  (0) 2019.11.29
아파치 윈도우 에러  (0) 2019.11.29
worker 워커 설정  (0) 2019.11.29
Apache 2.2.23 설치  (0) 2019.11.29
점검 안내 페이지  (0) 2019.11.29
반응형

<IfModule mpm_worker_module>

  ServerLimit 16 => 구성가능한 child 프로세스의 재한 수

  StartServers 16 => 시작시에 초기화되는 서버 프로세스의 개수 (default : 3) / prefork default:5, mpmt_os2 default 2

  MaxClients 150 => 동시에 접속할 수 있는 Client의 상한, 즉 Precess 수 x Thread 수

  MinSpareThreads 25 => 새로운 방문자를 바로 처리하기 위하여 대기하고 있는 최소 쓰레드 개수

  MaxSpareThreads 75 => 새로운 방문자를 바로 처리하기 위하여 대기하고 있는 최대 쓰레드 개수(보통 ThreadsPerChild 값이랑 같게 설정)

  ThreadsPerChild 25 => 프로세스당 쓰레드 수(ThreadLimit와 거의 같은 의미)

  MaxRequestsPerChild 0 => 자식프로세스가 서비스할 수 있는 최대 요청 개수(0은 무한대),

  오래된 프로세스들을 죽이고 새로운 프로세스를 시작하는 것에 의해 프로세스 리사이클 주기를 얼마나 할지 설정

</IfModule>

 

 

* 프로세스 개수

- Active Child Process의 최대 개수는 MaxClients 값과 ThreadsPerChild 값의 의해서 계산된다.

- 만약, MaxClients를 4096으로 하고, ThreadPerChild를 128로 하면

  MaxClients(4096) / ThreadPerChild(128) = 32

  따라서 32개의 프로세스가 생성된다.

- 이 수치를 변경할 경우 Apache를 완전히 재시작 해야 함.

 

 

ServerLimit (default : 16)

- 구성 가능한 child 프로세스의 제한 수.

- 이 ServerLimit 값이 필요 이상 높게 설정 된다면, 쓸데 없이 미사용 공유 메모리가 할당 되므로 적절하게 설정 필요.

- MaxClient 와 ThreadPerChild 에서 요구한 프로세스 수보다 높게 설정하지 말 것.

 

StartServers (default : 3)

- Apache기동시에 띄울 프로세스 개수

- 자식 프로세스의 수는 부하에 따라 동적으로 변경되기 때문에 이 설정은 큰 의미가 없다.

 

MaxClient (default : ServerLimit x ThreadsPerChild)

- 동시에 처리될 최대 커넥션(request)의 수

- MaxClients 수치를 초과한 후 온 요청들은 ListenBackLog에 의해 큐잉됨

- ThreadsPerChild 옵션과 매우 긴밀하게 작용함

- 동접자가 많을 경우, 이 MaxClient값을 증가시켜야 함.

- OS의 FD(File Descriptor)값을 증가 시켜 MaxClient 의 상한값을 증가시키도록 할 것.

 

MinSpareThreads (default : 75)

- Request spike를 처리할 최소 idle 쓰레드 수

- 만약 서버에 idle 쓰레드가 충분하지 않다면 child 프로세스는 idle 쓰레드가 MinSpareThreads 보다 커질때까지 생성된다.

 

MaxSpareThreads (default : 250)

- Idle 쓰레드의 최대 수

- 만약 서버에 너무 많은 idle 쓰레드가 존재하면 child 프로세스는 idle 쓰레드가 MaxSpareThreads 수보다 작아질 때까지 죽는다.

 

ThreadsPerChild (default : 64)

- 각 child 프로세스가 생성한 쓰레드 수

- Child 프로세스는 기동시 ThreadsPerChild 개수만큼 쓰레드를 생성하고 결코 더 이상 생성하지 않는다.

- 만약 worker 방식의 MPM을 사용중이라면, 전체 쓰레드 수는 평상시 부하를 처리할 만큼 충분히 많아야만 한다.

 

MaxRequestsPerChild

- 각 각의 child 프로세스가 처리할 request의 수를 제한.

- MaxRequestsPerChild 개수를 처리한 후, child 프로세스는 종료(die)된다.

- 0으로 설정하면 무한대

- MaxRequestsPerChild 를 0 이외의 값으로 설정하는 것은 프로세스가 (혹시나) 메모리 누수로 사용할 수 있는 메모리 양을 제한한다.

 

ThreadLimit (default : 64)

- child 프로세스의 라이프주기 동안 ThreadsPerChild 의 최대 설정값을 설정한다.

- 이 지시자를 사용할 때는 특별한 주의가 필요하다.

- ThreadLimit 가 ThreadsPerChild 보다 훨씬 높게 설정된다면, 여분의 미사용 공유 메모리가 할당될 것이다.

- ThreadLimit 과 ThreadsPerChild 모두 시스템이 다룰 수 있는 것 보다 높게 설정한다면, 아파치가 기동되지 않거나 시스템이 불안정하게 될 수 있다.

 

반응형

' > WEB' 카테고리의 다른 글

아파치 윈도우 에러  (0) 2019.11.29
아파치 보안  (0) 2019.11.29
Apache 2.2.23 설치  (0) 2019.11.29
점검 안내 페이지  (0) 2019.11.29
아파치에서 modcluster mod_cluster 컴파일하기  (0) 2019.11.29
반응형

# 패키지 설치 - 설치 안되어 있을 경우

] yum -y install gcc

 

>error: mod_deflate has been requested but can not be built due to prerequisite failures

] yum -y install zlib-devel

 

 

 

#소스컴파일, 설치

] ./configure --prefix=/jboss/apache --with-mpm=worker --enable-mods-shared=all --enable-so --enable-rewrite --enable-proxy --enable-ssl

] make

] make install

 

#사용자계정 80port 사용

] su - root

] cd /jboss/apache/bin

] chown root:jboss httpd

] chmod 4775 httpd

 

#mod_jk 생성

] cd $tomcat-connectors/native

] ./buildconf.sh

] ./configure --with-apxs=/jboss/apache/bin/apxs

] make

] make install

 

] cd $apache_home/modules

] ls

> mod_jk.so 파일생성 확인

 

] cd $apache_home/conf

] vi httpd.conf

> include conf/mod_jk.conf

 

]cd $apache_home/conf

] vi mod_jk.conf

 

LoadModule jk_module modules/mod_jk.so

 

# Where to find workers.properties

JkWorkersFile conf/workers.properties

 

# Where to put jk logs

JkLogFile logs/mod_jk.log

JkShmFile logs/jk.shm

 

# Select the log format

JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

 

# JkRequestLogFormat

JkRequestLogFormat "%w %V %T"

 

# Send everything for context /example to worker named worker1 (ajp13)

JkMount /*.jsp lb

JkMount /*.do  lb

JkMount /*.mvc lb

JkMount /jkstatus* jkstatus

 

# Add jkstatus for managing runtime data

<Location /jkstatus>

JkMount jkstatus

Order Deny,Allow

Allow from 127.0.0.1

Allow from 192

Allow from all

</Location>

 

]cd $apache_home/conf

] vi workers.properties

 

worker.list=lb,jkstatus

 

worker.template.type=ajp13

worker.template.maintain=60

worker.template.lbfactor=1

worker.template.ping_mode=A

worker.template.ping_timeout=2000

worker.template.prepost_timeout=2000

worker.template.socket_timeout=60

worker.template.socket_connect_timeout=2000

worker.template.socket_keepalive=true

worker.template.connection_pool_timeout=60

worker.template.connect_timeout=10000

worker.template.recovery_options=7

 

worker.server11.reference=worker.template

worker.server11.host=192.168.123.25

worker.server11.port=8009

 

 

worker.lb.type=lb

worker.lb.balance_workers=server11

worker.lb.method=Session

 

worker.jkstatus.type=status

 

 

 

[root@cwecontweb1 native]# ./buildconf.sh

buildconf: checking installation...

buildconf: autoconf not found.

           You need autoconf version 2.59 or newer installed

           to build mod_jk from SVN.

[root@cwecontweb1 native]# yum -y install autoconf

 

 

 

[root@cwecontweb1 native]# ./buildconf.sh

buildconf: checking installation...

buildconf: autoconf version 2.69 (ok)

buildconf: libtool not found.

           You need libtool version 1.4 or newer installed

           to build mod_jk from SVN.

[root@cwecontweb1 native]# yum -y install libtool

Loaded plugins: fastestmirror

No such command: libtool. Please use /usr/bin/yum --help

[root@cwecontweb1 native]# yum -y install libtool

 

반응형

' > WEB' 카테고리의 다른 글

아파치 보안  (0) 2019.11.29
worker 워커 설정  (0) 2019.11.29
점검 안내 페이지  (0) 2019.11.29
아파치에서 modcluster mod_cluster 컴파일하기  (0) 2019.11.29
아파치 proxypass 연동  (0) 2019.11.29
반응형

LoadModule rewrite_module modules/mod_rewrite.so

 

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !=/index.html

RewriteRule (.*) /index.html [R]

 

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !=/index.html

RewriteRule (.*) https://www.test.com/index.html [R]

 

반응형

' > WEB' 카테고리의 다른 글

worker 워커 설정  (0) 2019.11.29
Apache 2.2.23 설치  (0) 2019.11.29
아파치에서 modcluster mod_cluster 컴파일하기  (0) 2019.11.29
아파치 proxypass 연동  (0) 2019.11.29
아파치 윈도우 서비스 등록  (0) 2019.11.29
반응형
  • 설치전 필요사항

    • cmake install : yum -y install cmake

    • apache install

    • mod_proxy_cluster 소스파일 다운로드

https://github.com/modcluster/mod_cluster/releases

 

  • 컴파일

  • ] cd mod_proxy_cluster

  • ] mkdir build; cd build

  • ] cmake ../native -DAPACHE_INCLUDE_DIR=/path/to/your/httpd/include

  • ] make

  • ] cp ./modules/mod_* /path/to/your/httpd/modules

 

  • mod_cluster_manager 설정

    • httpd.conf 수정(모듈 로딩)

      • LoadModule proxy_module modules/mod_proxy.so                                                                           

      • LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

      • LoadModule cluster_slotmem_module modules/mod_cluster_slotmem.so

      • LoadModule manager_module modules/mod_manager.so

      • LoadModule proxy_cluster_module modules/mod_proxy_cluster.so

      • LoadModule advertise_module modules/mod_advertise.so

 

    • httpd.conf 수정(mod_cluster_manager 설정)

      • <IfModule manager_module>                                                                                               

      •     Listen 127.0.0.1:6666                                                                                               

      •     <VirtualHost 127.0.0.1:6666>                                                                                        

      •         <Location />                                                                                                    

      •             Require ip 127.0.0                                                                                          

      •         </Location>

      •         AdvertiseGroup 230.0.105.33:23364                                                                               

      •         EnableMCPMReceive                                                                        

      •         <Location /mcm>                                                                                                 

      •             SetHandler mod_cluster-manager                                                                              

      •             Require ip 127.0.0                                                                                          

      •         </Location>

      •     </VirtualHost>                                                                                                      

      • </IfModule>     

 

 

반응형

' > WEB' 카테고리의 다른 글

Apache 2.2.23 설치  (0) 2019.11.29
점검 안내 페이지  (0) 2019.11.29
아파치 proxypass 연동  (0) 2019.11.29
아파치 윈도우 서비스 등록  (0) 2019.11.29
Apache 2.4 설치  (0) 2019.11.29
반응형

<Proxy "balancer://appbl">

    BalancerMember http://192.168.123.101:8009/ route=node11

    BalancerMember http://192.168.123.102:8009/ route=node21

</Proxy>

 

# 디렉터리

ProxyPass /images !

ProxyPass /js !

ProxyPass /css !

 

# 확장자

ProxyPassMatch ^(/.*\.xml)$ !

ProxyPassMatch ^(/.*\.swf)$ !

 

ProxyPass / balancer://appbl/ stickysession=JSESSIONID

ProxyPassReverse / balancer://appbl/

 

반응형

' > WEB' 카테고리의 다른 글

점검 안내 페이지  (0) 2019.11.29
아파치에서 modcluster mod_cluster 컴파일하기  (0) 2019.11.29
아파치 윈도우 서비스 등록  (0) 2019.11.29
Apache 2.4 설치  (0) 2019.11.29
web - weblogic 연동 요청처리  (0) 2019.11.29
반응형

httpd.exe -k install -n "Apache2.4"

반응형

' > WEB' 카테고리의 다른 글

아파치에서 modcluster mod_cluster 컴파일하기  (0) 2019.11.29
아파치 proxypass 연동  (0) 2019.11.29
Apache 2.4 설치  (0) 2019.11.29
web - weblogic 연동 요청처리  (0) 2019.11.29
아파치, 웹로직 연동  (0) 2019.11.29

+ Recent posts