반응형

 

 

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
반응형

 

 

yum -y install gcc

yum -y install gcc-c++

yum -y install openssl-devel

yum -y update openssl

 

Apache HTTPD 압축해제

] tar -xvf httpd-2.4.12.tar.gz

 

ARP(Apache Portable Runtime) 소스 폴더 복사

] tar -xvf apr-1.5.2.tar.gz

] tar -xvf apr-util-1.5.4.tar.gz

] mv apr-1.5.2 httpd-2.4.12/srclib/apr

] mv apr-util-1.5.4 httpd-2.4.12/srclib/apr-util

 

PCRE 설치

] tar -xvf pcre-8.37.tar.gz

] cd pcre-8.37

] ./configure --enable-unicode-properties=yes

] make && make install

 

HTTPD 설치

] cd httpd-2.4.12

] ./configure --prefix=/usr/local/apache24 --enable-so --enable-rewrite --enable-proxy --enable-ssl --enable-mods-shared=all --enable-modules=shared --enable-mpms-shared=all --with-included-apr --with-included-apr-util

] make && make install

 

mod_jk 설치

] tar -xvf tomcat-connectors-1.2.40-src.tar.gz

] cd tomcat-connectors-1.2.40-src/native

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

] make && make install

 

AH00557: httpd: apr_sockaddr_info_get() failed for WEB1

AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message

vi /data/apache2.4/conf/httpd.conf (209 line)

hostname 또는 서비스명 지정

 

 

반응형

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

아파치에서 modcluster mod_cluster 컴파일하기  (0) 2019.11.29
아파치 proxypass 연동  (0) 2019.11.29
아파치 윈도우 서비스 등록  (0) 2019.11.29
web - weblogic 연동 요청처리  (0) 2019.11.29
아파치, 웹로직 연동  (0) 2019.11.29
반응형

USER=weblogic

IAM='whoami`

 

if [ $USER != $IAM ]

then

 echo "User Invalid, Script owner is $USER"

 exit

fi

...

...

nohup ~

 

반응형

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

리눅스 포트로 프로세스 확인  (0) 2019.11.27
찾은 파일에서 문자열 검색  (0) 2019.11.27
umask 설정  (0) 2019.11.27
tar로 묶을때 특정 디렉터리 제외하는 방법  (0) 2019.11.27
window 부팅 USB 만들기 포맷  (0) 2019.11.27
반응형

<!-- 웹로직에서 /app 처리하겠다 -->

<Location /app>

SetHandler weblogic-handler

</Location>

 

<!-- 웹로직에서 *.html 처리하지 않겠다 -->

WLExcludePathOrMimeType *.html

 

<!-- 웹로직에서 *.jsp 처리하겠다 -->

MatchExpression *.jsp

 

<!-- 웹로직에서 /app안의 *.html을 제외하고 다른것들 처리하겠다 -->

<Location /app>

WLExcludePathOrMimeType *.html

SetHandler weblogic-handler

</Location>

 

<!-- 여러개의 document 사용하기 -->

DocumentRoot "/webserver/htdocs"

<!-- uri가 /test로 들어오면 /webserver/upload를 바라본다. -->

Alias /test /webserver/upload

 

#WLExcludePathOrMimeType 제대로 인식하지 못할경우

WLExcludePathOrMimeType *.jpg, *.html, *.js

#타입을 한개씩 지정한다.

WLExcludePathOrMimeType *.jpg

WLExcludePathOrMimeType *.html

WLExcludePathOrMimeType *.js

 

반응형

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

아파치에서 modcluster mod_cluster 컴파일하기  (0) 2019.11.29
아파치 proxypass 연동  (0) 2019.11.29
아파치 윈도우 서비스 등록  (0) 2019.11.29
Apache 2.4 설치  (0) 2019.11.29
아파치, 웹로직 연동  (0) 2019.11.29

+ Recent posts