블로그 이미지
OSSW(Open Source System SoftWare

calendar

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

Notice

Name-Based VirtualHosts and SSL

하나의 Apache 웹서버에 동일한 포트로 다양한 SSL을 사용하는 서비스를 하기 위해서는 다음과 같은 방법을 사용하면 됩니다.

1. 가상호스 사용
    - ServerName을 달리 설정한다. 
    - 각 가상호스트마다 SSL 인증서를 설정한다.

2. NameVirtualHost 지시어 사용

설정 예제 참고하십시오.
Listen 192.168.1.1:443

LoadModule ssl_module   modules/mod_ssl.so

SSLPassPhraseDialog     builtin
AcceptMutex             flock
SSLSessionCache         shmcb:/var/cache/httpd/mod_ssl/ssl_scache(512000)
SSLSessionCacheTimeout  300
SSLMutex                default
SSLRandomSeed           startup /dev/urandom  256
SSLRandomSeed           connect builtin

NameVirtualHost 192.168.1.1:443

<VirtualHost 192.168.1.1:443>
        SSLEngine on
        SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP

        SSLCertificateFile      /etc/ssl/star.example.com.crt
        SSLCertificateKeyFile   /etc/ssl/star.example.com.key

        ServerName      "one.example.com"
        DocumentRoot    "/var/www/html/one"

        CustomLog       "/var/log/httpd/one-access.log" combined
        ErrorLog        "/var/log/httpd/one-error.log"

        <Directory /var/www/html>
                AllowOverride none

                Order Allow,Deny
                Allow from all
        </Directory>
</VirtualHost>

<VirtualHost 192.168.1.1:443>
        SSLEngine on
        SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP

        SSLCertificateFile      /etc/ssl/star.example.com.crt
        SSLCertificateKeyFile   /etc/ssl/star.example.com.key

        ServerName      "two.example.com"
        DocumentRoot    "/var/www/html/two"

        CustomLog       "/var/log/httpd/two-access.log" combined
        ErrorLog        "/var/log/httpd/two-error.log"

        <Directory /var/www/html>
                AllowOverride none

                Order Allow,Deny
                Allow from all
        </Directory>
</VirtualHost>

by hyeons 1월

'1. 미들웨어이야기 > 02. Apache' 카테고리의 다른 글

Apache Name-Based VirtualHosts and SSL  (0) 2015.01.06
apache redirectmatch  (0) 2014.12.03
Apache 로그 파일 관리  (0) 2014.12.03
Apache 설치  (0) 2014.12.03
알아두면 유용한 apache httpd실행 옵션  (0) 2014.12.03
apache graceful restart  (0) 2014.12.03
posted by lovelywas

아파치에서 설정한 도메인으로 접속한 모든 사용자에 대해 

모두 특정 url로 보내고 싶을때(서비스 잠시 문닫아 서비스 안내공지 페이지로 보낸다던가...)

RedirectMatch 옵션을 사용할 수 있습니다.


RedirectMatch (.*) http://aaa.com/pp.html




이와는 약간 다르게...뒤에 주소를 그대로 가지고 가면서 도메인만 변경되는 경우

도메인이 변경되어 뒤에 주소는 동일하나 도메인만 변경된 주소로 변경하여 Redirect 시킬 경우


Redirect http://aaa.com


'1. 미들웨어이야기 > 02. Apache' 카테고리의 다른 글

Apache Name-Based VirtualHosts and SSL  (0) 2015.01.06
apache redirectmatch  (0) 2014.12.03
Apache 로그 파일 관리  (0) 2014.12.03
Apache 설치  (0) 2014.12.03
알아두면 유용한 apache httpd실행 옵션  (0) 2014.12.03
apache graceful restart  (0) 2014.12.03
posted by LE07

 

*  Apache 로그 파일 관리

 

1. 로그 rotation 적용

 - 설명 : 아파치 rotatelogs를 이용하여 일자별 로그 생성

 - 설정방법 :  CustomLog "/usr/sbin/rotatelogs logs/access_%Y%m%d.log 86400" common


2. 로그 포맷 변경

- 설명 : 아파치 로그 출력을 아래의 항목으로 변경

- 설정방법 : LogFormat "%h - %t \"%r\" %s>s %b" common

항목

설명 

%A (지역화된) 완전한 요일 이름
%a (지역화된) 3-문자 요일 이름
%B (지역화된) 완전한 달 이름
%b (지역화된) 3-문자 달 이름
%c (지역화된) 날짜와 시간
%d 2-자리 일
%H 2-자리 시간 (24 시간 시계)
%I 2-자리 시간 (12 시간 시계)
%j 3-자리 날짜수
%M 2-자리 분
%m 2-자리 달
%p (지역화된) 12 시간 시계의 am/pm
%S 2-자리 초
%U 2-자리 주일수 (주의 첫번재 날은 일요일)
%W 2-자리 주일수 (주의 첫번재 날은 월요일)
%w 1-자리 요일수 (주의 첫번째 날은 일요일)
%X (지역화된) 시간
%x (지역화된) 날짜
%Y 4-자리 연도
%y 2-자리 연도
%Z 시간대 이름
%% 문자그대로 `%'

 

 

by. 현주희 (11월)

 

'1. 미들웨어이야기 > 02. Apache' 카테고리의 다른 글

Apache Name-Based VirtualHosts and SSL  (0) 2015.01.06
apache redirectmatch  (0) 2014.12.03
Apache 로그 파일 관리  (0) 2014.12.03
Apache 설치  (0) 2014.12.03
알아두면 유용한 apache httpd실행 옵션  (0) 2014.12.03
apache graceful restart  (0) 2014.12.03
posted by DB,MW,OS OSSW(Open Source System SoftWare

 


* Apache 설치

 

설치 및 운영을 위한 계정(apache) 구성

apache@a-virtual-machine:~$ id

uid=1003(apache) gid=1003(apache) 그룹들=1003(apache)

 

apache@a-virtual-machine:~$ pwd

/apache

 

apache@a-virtual-machine:~$ vi .profile

# ~/.profile: executed by the command interpreter for login shells.

# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login

# exists.

# see /usr/share/doc/bash/examples/startup-files for examples.

# the files are located in the bash-doc package.

 

# the default umask is set in /etc/profile; for setting the umask

# for ssh logins, install and configure the libpam-umask package.

#umask 022

 

# if running bash

if [ -n "$BASH_VERSION" ]; then

    # include .bashrc if it exists

    if [ -f "$HOME/.bashrc" ]; then

             . "$HOME/.bashrc"

    fi

fi

 

# set PATH so it includes user's private bin if it exists

if [ -d "$HOME/bin" ] ; then

    PATH="$HOME/bin:$PATH"

fi

 

#### Edit ENV ####

set -o vi

stty erase ^H

alias ll='ls -l'

 

 

### Apache alias ###

alias webstart='/apache/apache-2.2.21/bin/apachectl start'

alias webstop='/apache/apache-2.2.21/bin/apachectl stop'

alias alog='cd /ap_log'

alias acfg='cd /apache/apache-2.2.21/conf'

 

export TMOUT=0

 


 

 

apache 2.2.21 설치

1. apache 2.2.21 설치를 위해 httpd-2.2.21.tar.gz의 압축을 풀어 설치 준비

 

 

2. apache 설치 (prefix) - config

apache@a-virtual-machine:/install/apache/httpd-2.2.21$ ./configure --

prefix=/apache/apache-2.2.21

Configuring Apache Portable Runtime library ...

Configuring APR library

Checking for libraries...

Checking for Threads...

APR will use threads

Checking for Shared Memory Support...

Checking for DSO...

Checking for Processes...

Checking for Locking...

Checking for File Info Support...

Checking for OS UUID Support...

Checking for Time Support...

Checking for Networking support...

Checking for IPv6 Networking support...

Restore user-defined environment settings...

Configuring Apache Portable Runtime Utility library...

Configuring Apache httpd ...

Applying OS-specific hints for httpd ...

Restore user-defined environment settings...

Construct makefiles and header files...

 

3. apache 설치 (prefix) - compile

apache@a-virtual-machine:/install/apache/httpd-2.2.21$ make

 

4. apache 설치 (prefix) - install

apache@a-virtual-machine:/install/apache/httpd-2.2.21$ make install

 

 

 

 

apache 설치 확인

apache@a-virtual-machine:~/apache-2.2.21$ ls -al

합계 68

drwxr-xr-x 15 apache apache  4096 2013-03-19 13:20 .

drwxr-xr-x  4 apache apache  4096 2013-03-19 13:19 ..

drwxr-xr-x  2 apache apache  4096 2013-03-19 13:19 bin

drwxr-xr-x  2 apache apache  4096 2013-03-19 13:20 build

drwxr-xr-x  2 apache apache  4096 2013-03-19 13:19 cgi-bin

drwxr-xr-x  4 apache apache  4096 2013-03-19 13:19 conf

drwxr-xr-x  3 apache apache  4096 2013-03-19 13:19 error

drwxr-xr-x  2 apache apache  4096 2011-09-09 23:25 htdocs

drwxr-xr-x  3 apache apache  4096 2013-03-19 13:19 icons

drwxr-xr-x  2 apache apache  4096 2013-03-19 13:19 include

drwxr-xr-x  3 apache apache  4096 2013-03-19 13:19 lib

drwxr-xr-x  2 apache apache  4096 2013-03-19 13:19 logs

drwxr-xr-x  4 apache apache  4096 2013-03-19 13:20 man

drwxr-xr-x 14 apache apache 12288 2011-09-09 23:29 manual

drwxr-xr-x  2 apache apache  4096 2013-03-19 13:19 modules

 

 

 

by. 현주희(11월)


 

'1. 미들웨어이야기 > 02. Apache' 카테고리의 다른 글

apache redirectmatch  (0) 2014.12.03
Apache 로그 파일 관리  (0) 2014.12.03
Apache 설치  (0) 2014.12.03
알아두면 유용한 apache httpd실행 옵션  (0) 2014.12.03
apache graceful restart  (0) 2014.12.03
httpd 실행 옵션  (0) 2014.12.03
posted by DB,MW,OS OSSW(Open Source System SoftWare

httpd는 아파치의 데몬 실행파일 입니다.

옵션을 통해 유용한 정보를 얻어 봅시다.


[아파치 conf파일 바꿔 기동하기]

./httpd -f /usr/local/apache/conf/httpd.conf

./httpd -f /usr/local/apache/conf/httpd_abc.conf

보통 기본 위치에 존재하는 httpd.conf를 이용하여 아파치를 실행하나,

두개 이상의 설정 파일을 두고 서비스마다 따로 띄운다거나 등에 사용할 때 유용합니다.

./httpd -f /usr/local/apache/conf/httpd.conf

root     32170     1  0 21:35 ?        00:00:00 ./httpd -f /usr/local/apache/conf/httpd.conf

nobody   32171 32170  0 21:35 ?        00:00:00 ./httpd -f /usr/local/apache/conf/httpd.conf

nobody   32172 32170  0 21:35 ?        00:00:00 ./httpd -f /usr/local/apache/conf/httpd.conf

nobody   32173 32170  0 21:35 ?        00:00:00 ./httpd -f /usr/local/apache/conf/httpd.conf

./httpd -f /usr/local/apache/conf/httpd_abc.conf

root     32170     1  0 21:35 ?        00:00:00 ./httpd -f /usr/local/apache/conf/httpd_abc.conf

nobody   32171 32170  0 21:35 ?        00:00:00 ./httpd -f /usr/local/apache/conf/httpd_abc.conf

nobody   32172 32170  0 21:35 ?        00:00:00 ./httpd -f /usr/local/apache/conf/httpd_abc.conf

nobody   32173 32170  0 21:35 ?        00:00:00 ./httpd -f /usr/local/apache/conf/httpd_abc.conf



[아파치 버전정보 확인]

[apache@abc:/apache/apache/bin]# ./httpd -V

Server version: Apache/2.2.24 (Unix)

Server built:   Jul  5 2013 15:26:13

Server's Module Magic Number: 20051115:31

Server loaded:  APR 1.2.7, APR-Util 1.2.7

Compiled using: APR 1.2.7, APR-Util 1.2.7

Architecture:   64-bit

Server MPM:     Prefork



[아파치 사용가능 모듈 확인]

[apache@abc:/apache/apache/bin]# ./httpd -l

Compiled in modules:

  core.c

  mod_authn_file.c

  mod_authn_default.c

  mod_authz_host.c

  mod_authz_groupfile.c

  mod_authz_user.c

  mod_authz_default.c

  mod_auth_basic.c

  mod_include.c

  mod_filter.c

  mod_log_config.c

  mod_env.c

  mod_setenvif.c


[설정된 가상호스트 확인]

[apache@abc:/apache/apache/bin]# ./httpd -S

VirtualHost configuration:

wildcard NameVirtualHosts and _default_ servers:

*:443                  is a NameVirtualHost

         default server aa.bbb..com (/apache/apache/conf/extra/httpd-ssl.conf:16)

         port 443 namevhost aa.bbb..com (/apache/apache/conf/extra/httpd-ssl.conf:16)

         port 443 namevhost bbb.ccc.com (/apache/apache/conf/extra/httpd-ssl.conf:39)

*:80                   is a NameVirtualHost

         default server aa.bbb..com (/apache/apache/conf/extra/httpd-vhosts.conf:3)

         port 80 namevhost aa.bbb..com (/apache/apache/conf/extra/httpd-vhosts.conf:3)

         port 80 namevhost bbb.ccc.com (/apache/apache/conf/extra/httpd-vhosts.conf:18)

Syntax OK


[conf파일 syntax 체크]

[apache@abc:/apache/apache/bin]# ./httpd -t

Syntax OK


[apache help옵션 확인]

[apache@abc:/apache/apache/bin]# ./httpd -h

Usage: ./httpd [-D name] [-d directory] [-f file]

               [-C "directive"] [-c "directive"]

               [-k start|restart|graceful|graceful-stop|stop]

               [-v] [-V] [-h] [-l] [-L] [-t] [-T] [-S]

Options:

  -D name            : define a name for use in <IfDefine name> directives

  -d directory       : specify an alternate initial ServerRoot

  -f file            : specify an alternate ServerConfigFile

  -C "directive"     : process directive before reading config files

  -c "directive"     : process directive after reading config files

  -e level           : show startup errors of level (see LogLevel)

  -E file            : log startup errors to file

  -v                 : show version number

  -V                 : show compile settings

  -h                 : list available command line options (this page)

  -l                 : list compiled in modules

  -L                 : list available configuration directives

  -t -D DUMP_VHOSTS  : show parsed settings (currently only vhost settings)

  -S                 : a synonym for -t -D DUMP_VHOSTS

  -t -D DUMP_MODULES : show all loaded modules 

  -M                 : a synonym for -t -D DUMP_MODULES

  -t                 : run syntax check for config files

  -T                 : start without DocumentRoot(s) check


'1. 미들웨어이야기 > 02. Apache' 카테고리의 다른 글

Apache 로그 파일 관리  (0) 2014.12.03
Apache 설치  (0) 2014.12.03
알아두면 유용한 apache httpd실행 옵션  (0) 2014.12.03
apache graceful restart  (0) 2014.12.03
httpd 실행 옵션  (0) 2014.12.03
apache ab를 이용한 부하테스트  (0) 2014.12.03
posted by LE07

운영중인 서비스의 httpd.conf등의 conf파일을 수정하고,

해당 conf파일을 읽어서 apache가 새로 시작시킬 수 있는 방법이다.


현재 접속된 커넥션은 그대로 유지하고 그외 http 모든 프로세스를 종료시키고 재시작 시그널을 보낸다

서비스의 세션 및 연결 종료없이 conf설정 파일 불러서 재실행

단, 모듈 추가 등의 apache 내에 삽입되어야 하는 작업들은 반드시 restart를 해주셔야 합니다.



<아래 글 출처 : http://httpd.apache.org>

점잖은 재시작

        시그널: USR1

     apachectl -k graceful

USR1이나 graceful 시그널을 부모에게 보내면 부모 프로세스는 자식들에게 현재 요청을 처리한후 종료하라고 (혹은 현재 아무것도 처리하지 않다면 즉시 종료하라고조언한다. 부모는 설정파일을 다시읽고 로그파일도 다시 연다. 자식이 죽을때마다 부모는 죽은 자식대신 새로운 설정 세대 기초한 자식을 실행하여 즉시 요청을 처리하게 한다.

점잖은 재시작(graceful restart)으로 USR1 사용할 없는 플래폼에서는 대신 (WINCH 같은) 다른 시그널을 사용할 있다apachectl graceful 플래폼에 알맞은 시그널을 보낸다.

점잖은 재시작은 항상 MPM 프로세스 조절 지시어 설정을 고려하여, 재시작동안 클라이언트를 서비스하는 프로세스나 쓰레드가 적당한 수를 유지하도록 설계되었다. 게다가 StartServers, 일초 최소한 StartServers만큼 새로운 자식이 안만들어지면 자식이 StartServers 개가 되도록 새로 만든다. , 프로그램은 서버의 현재 부하에 알맞은 자식의 개수를 유지하며StartServers 파라미터로 지정한 당신의 기대를 존중한다.

mod_status 사용자는 USR1 받을때 서버 통계가 0 되지 않음을 봤을 것이다. 서버는 새로운 요청을 (운영체제는 이들을 큐에 담아서 어떤 경우에도 잃어버리지 않는다) 처리하지 못하는 시간을 최소화하고 당신의 튜닝 파라미터를 존중하도록 만들어졌다. 이를 위해 세대간 모든 자식을 기록하는 scoreboard 유지한다.

status 모듈은 또한 점잖은 재시작 전에 시작하여 아직도 요청을 처리하고 있는 자식을 G 알려준다.

현재로는 USR1 사용하는 로그순환 스크립트가 재시작전에 모든 자식이 로그작성을 마쳤는지 있는 방법이 없다. 우리는 USR1 시그널을 보내고 적당한 시간이 지난후 이전 로그를 다루도록 제안한다. 예를 들어 낮은 대역폭 사용자의 경우 접속 대부분이 마치는데 10분이 안걸린다면, 이전 로그를 다루기전에 15 기다린다.

설정파일에 오류가 있다면 재시작시 부모는 재시작하지 않고 오류를 내며 종료한다. , 점잖은 재시작의 경우 종료할때 자식이 실행되도록 놔둔다. (자식들은 자신의 마지막 요청을 처리하고 "점잖게 종료한다".) 이는 서버를 재시작할때 문제가 된다. 서버는 자신이 기다릴 포트에 연결하지 못한다. 재시작전에 -t 명령행 옵션(httpd 참고)으로 설정파일 문법을 검사할 있다. 그러나 이런 검사도 서버가 올바로 재시작할지를 보장하지 못한다. 설정파일의 문법이 아닌 의미를 검사하려면 root 아닌 사용자로 httpd 시작해볼 있다. root 아니기때문에 (아니면 현재 포트를 사용하는 httpd 실행되기때문에) 오류가 없다면 소켓과 로그파일을 열려고 시도하는 과정에서 실패할 것이다. 다른 이유때문에 실패한다면 아마도 설정파일에 오류가 있을 것이다. 점잖은 재시작을 하기전에 오류를 고쳐야한다.

USR1이나 graceful 시그널을 부모에게 보내면 부모 프로세스는 자식들에게 현재 요청을 처리한후 종료하라고 (혹은 현재 아무것도 처리하지 않다면 즉시 종료하라고조언한다. 부모는 설정파일을 다시읽고 로그파일도 다시 연다. 자식이 죽을때마다 부모는 죽은 자식대신 새로운 설정 세대 기초한 자식을 실행하여 즉시 요청을 처리하게 한다.

점잖은 재시작(graceful restart)으로 USR1 사용할 없는 플래폼에서는 대신 (WINCH 같은) 다른 시그널을 사용할 있다apachectl graceful 플래폼에 알맞은 시그널을 보낸다.

점잖은 재시작은 항상 MPM 프로세스 조절 지시어 설정을 고려하여, 재시작동안 클라이언트를 서비스하는 프로세스나 쓰레드가 적당한 수를 유지하도록 설계되었다. 게다가 StartServers, 일초 최소한 StartServers만큼 새로운 자식이 안만들어지면 자식이 StartServers 개가 되도록 새로 만든다. , 프로그램은 서버의 현재 부하에 알맞은 자식의 개수를 유지하며StartServers 파라미터로 지정한 당신의 기대를 존중한다.

mod_status 사용자는 USR1 받을때 서버 통계가 0 되지 않음을 봤을 것이다. 서버는 새로운 요청을 (운영체제는 이들을 큐에 담아서 어떤 경우에도 잃어버리지 않는다) 처리하지 못하는 시간을 최소화하고 당신의 튜닝 파라미터를 존중하도록 만들어졌다. 이를 위해 세대간 모든 자식을 기록하는 scoreboard 유지한다.

status 모듈은 또한 점잖은 재시작 전에 시작하여 아직도 요청을 처리하고 있는 자식을 G 알려준다.

현재로는 USR1 사용하는 로그순환 스크립트가 재시작전에 모든 자식이 로그작성을 마쳤는지 있는 방법이 없다. 우리는 USR1 시그널을 보내고 적당한 시간이 지난후 이전 로그를 다루도록 제안한다. 예를 들어 낮은 대역폭 사용자의 경우 접속 대부분이 마치는데 10분이 안걸린다면, 이전 로그를 다루기전에 15 기다린다.

설정파일에 오류가 있다면 재시작시 부모는 재시작하지 않고 오류를 내며 종료한다. , 점잖은 재시작의 경우 종료할때 자식이 실행되도록 놔둔다. (자식들은 자신의 마지막 요청을 처리하고 "점잖게 종료한다".) 이는 서버를 재시작할때 문제가 된다. 서버는 자신이 기다릴 포트에 연결하지 못한다. 재시작전에 -t 명령행 옵션(httpd 참고)으로 설정파일 문법을 검사할 있다. 그러나 이런 검사도 서버가 올바로 재시작할지를 보장하지 못한다. 설정파일의 문법이 아닌 의미를 검사하려면 root 아닌 사용자로 httpd 시작해볼 있다. root 아니기때문에 (아니면 현재 포트를 사용하는 httpd 실행되기때문에) 오류가 없다면 소켓과 로그파일을 열려고 시도하는 과정에서 실패할 것이다. 다른 이유때문에 실패한다면 아마도 설정파일에 오류가 있을 것이다. 점잖은 재시작을 하기전에 오류를 고쳐야한다.




'1. 미들웨어이야기 > 02. Apache' 카테고리의 다른 글

Apache 설치  (0) 2014.12.03
알아두면 유용한 apache httpd실행 옵션  (0) 2014.12.03
apache graceful restart  (0) 2014.12.03
httpd 실행 옵션  (0) 2014.12.03
apache ab를 이용한 부하테스트  (0) 2014.12.03
Apache 상태 확인 페이지 설정  (0) 2014.12.02
posted by LE07

JBoss에서 디렉토리 검색 기능을 제거

EAP버전: ${JBOSS)HOME}/deployers/jbossweb.deployer/web.xml

커뮤니티버전: /jboss/jboss-6.1.0.Final/server/default/deploy/jbossweb.sar/web.xml

 

<servlet>

<servlet-name>default</sevlet-name>

<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>

 

<init-param>

<param-name>debug</param-name>

<param-value>0</param-value>

</init-param>

<init-param>

<param-name>listings</param-name>

<param-value>false</param-value>

</init-param>

<load-on-startup>1</load-on-startup>

</servlet>

 

by. 강수현(9월)

'1. 미들웨어이야기 > 03. JBoss' 카테고리의 다른 글

JBoss 디렉토리 검색기능제거  (0) 2014.12.03
JBoss Session 튜닝-2  (0) 2014.12.03
JBoss Session 튜닝  (0) 2014.12.03
jboss connection pool  (0) 2014.12.03
Jboss EAP 6 튜닝의포인트  (0) 2014.12.02
JBoss EAP5.X 에서 JSP 변경시 재컴파일 방법‏  (0) 2014.12.02
posted by lovelywas
httpd 실행 옵션

httpd -h로 확인가능

-d serverroot
ServerRoot 지시어의 기본값을 serverroot로 설정한다. 설정파일에서 ServerRoot지시어를 사용하여 이 값을 수정할 수 있다. 기본값은/usr/local/apache2이다.
-f config
시작할때 config 파일에 있는 지시어를 사용한다.config가 /로 시작하지 않으면 ServerRoot에 상대경로이다. 기본값은conf/httpd.conf이다.
-k start|restart|graceful|stop
httpd를 시작, 재시작, 중단한다. 더 자세한 정보는아파치 중단하기를 참고하라.
-C directive
설정파일을 읽기전에 directive 지시어를 처리한다.
-c directive
설정파일을 읽기전에 directive 지시어를 처리한다.
-D parameter
서버 시작 혹은 재시작시 선택적으로 명령어를 처리하기위해 설정파일의 <IfDefine>섹션에 사용할 parameter를 설정한다.
-e level
서버가 시작하는동안 LogLevellevel로 설정한다. 이는 시작중 문제를 찾기위해 잠시 더 자세한 오류문을 얻을때 유용하다.
-E file
서버가 시작하는동안 file로 오류문을 보낸다.
-R directory
서버를 SHARED_CORE 규칙을 사용하여 컴파일한 경우 공유오브젝트파일 directory를 지정한다.
-h
사용할 수 있는 명령행 옵션들의 짧은 요약을 출력한다.
-l
서버에 같이 컴파일한 모듈 목록을 출력한다. LoadModule 지시어를 사용하여 동적으로 읽어들이는 모듈은 출력하지 않는다.
-L
지시어 목록을 지시어가 받는 아규먼트와 지시어 사용장소와 같이 출력한다.
-M
읽어들인 정적 모듈과 공유 모듈 목록을 출력한다.
-S
설정파일에서 읽어들인 설정을 보여준다 (현재는 가상호스트 설정만을 보여준다).
-t
설정파일의 문법검사만 한다. 프로그램은 문법을 검사한후(문법이 올바른 경우) 0이나 (문법에 문제가 있는 경우) 0이 아닌 종료코드로 즉시 종료한다. -D DUMP_VHOSTS을 사용하면 가상호스트 설정을 자세히 출력한다. -DDUMP_MODULES를 사용하면 읽어들인 모듈 목록을 출력한다.
-v
httpd의 버전을 출력하고 종료한다.
-V
httpd의 버전과 컴파일 파라미터를 출력하고 종료한다.
-X
디버그 상태로 웹서버를 실행한다. 오직 한 프로세스나 쓰레드로만 서비스하고, 서버는 콘솔에서 떨어지지 않는다.

다음 아규먼트는 Windows플래폼에서만 사용할 수 있다:

-k install|config|uninstall
아파치를 Windows NT 서비스로 설치한다; 아파치 서비스의 시작 옵션을 수정한다; 아파치 서비스 설치를 지운다.
-n name
아파치 서비스의 name.
-w
오류가 발생하면 콘솔창을 열어서 오류문을 보여준다.

출처: http://httpd.apache.org/docs/2.4/ko/programs/httpd.html

by. 강수현(9월)

'1. 미들웨어이야기 > 02. Apache' 카테고리의 다른 글

알아두면 유용한 apache httpd실행 옵션  (0) 2014.12.03
apache graceful restart  (0) 2014.12.03
httpd 실행 옵션  (0) 2014.12.03
apache ab를 이용한 부하테스트  (0) 2014.12.03
Apache 상태 확인 페이지 설정  (0) 2014.12.02
L4의 부하 분산 방법  (0) 2014.12.02
posted by lovelywas

Session 튜닝

파일명: application/WEB-INF/jboss-web.xml

<replication-trigger> : JBoss 에서 지원하는 세션 변경 여부 판단 기준.

 SET

 setAttribute() 시 세션이 변경된 것으로 간주

 SET_AND_NON_PRIMITIVE_GET

 setAttribute() 뿐만 아니라 변경 가능한 object에 대한 getAttribute() 시 세션이 변경된 것으로 간주. 디폴트 설정

 SET_AND_GET

 setAttribute() 뿐만 아니라 getAttribute() 시에도 세션이 변경된 것으로 간주

 ACCESS

 HTTP 요청이 있을 때마다 session이 변경된 것으로 간주

 

<replication-granularity>: JBoss에서 3가지 복제 단위를 지원합니다.  

SESSION 

 세션을 통째로 복제

 ATTRIBUTE

 세션에서 변경된 attribute만을 복제

 FIELD

 Attribute object의 변경된 필드만을 복제

SESSION-->ATTRIBUTE-->FIELD 순으로 복제단위는 더 세분화 됩니다.

허나, 복제 단위를 세분화 하는데 따르는 오버헤드가 있기 때문에 단순히 세분화할수록 좋은 것은 아니니 시스템 환경에 맞게 설정하시면 됩니다.

by. 강수현(11월)

 

'1. 미들웨어이야기 > 03. JBoss' 카테고리의 다른 글

JBoss 디렉토리 검색기능제거  (0) 2014.12.03
JBoss Session 튜닝-2  (0) 2014.12.03
JBoss Session 튜닝  (0) 2014.12.03
jboss connection pool  (0) 2014.12.03
Jboss EAP 6 튜닝의포인트  (0) 2014.12.02
JBoss EAP5.X 에서 JSP 변경시 재컴파일 방법‏  (0) 2014.12.02
posted by lovelywas
  • Session time-out

JBoss의 기본 세션시간은 30분으로 측정되어 있습니다.

벼경을 원하실 경우 아래 web.xml 을 참고로 수정하시면 됩니다. ( restart는 필수)

파일명: web.xml

파일 경로: /jboss/jboss-6.1.0.Final/server/default/deploy/jbossweb.sar

 

 

<!-- ======================Default Session Configuration ================ -->

<!-- You can set the default session timeout ( in minutes) for all newly -->

<!-- created sessions by modifying the value below -->

<sessoin-config>

<session-timeout>30</session-timeout>

</session-config>

 

 

  • 세션 변경 여부 기준

JBoss Clustering 세션관리자는 HTTP 요청 처리 후 변경된 세션을 클러스터를 구성하는 각 노드로 복제합니다.

파일명: application/WEB-INF/jboss-web.xml

 

 <jboss-web>

<replication-config>

<replication-trigger>SET</replication-trigger>

<replication-granularity>SESSION</replication-granularity>

</replication-config>

</jboss-web>

-by 강수현(11월)

 

'1. 미들웨어이야기 > 03. JBoss' 카테고리의 다른 글

JBoss 디렉토리 검색기능제거  (0) 2014.12.03
JBoss Session 튜닝-2  (0) 2014.12.03
JBoss Session 튜닝  (0) 2014.12.03
jboss connection pool  (0) 2014.12.03
Jboss EAP 6 튜닝의포인트  (0) 2014.12.02
JBoss EAP5.X 에서 JSP 변경시 재컴파일 방법‏  (0) 2014.12.02
posted by lovelywas

apache에서 제공하는 ab를 이용하여 웹서버 응답속도 측정해보는 간단한 방법입니다.

ab는 apache설치 시 bin밑에 자동 설치되어 있습니다.


[ab 옵션]

c :동접 client 수

n : 페이지요청 수

t : test 허용시간

ip : 테스트 할 서버


[aaa@abc:/apache/apache-2.4.10_W/bin]# ab -c 1000 -n 1000 -t 20 http://10.10.10.10/

This is ApacheBench, Version 2.3 <$Revision: 655654 $>

Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/

Licensed to The Apache Software Foundation, http://www.apache.org/

 

Benchmarking 10.10.10.10 (be patient)

Finished 2106 requests

 

 

Server Software:        Apache/2.4.10

Server Hostname:        10.10.10.10

Server Port:            80

 

Document Path:          /

Document Length:        7662 bytes

 

Concurrency Level:      1000

Time taken for tests:   20.002 seconds   응답시간 

Complete requests:      2106

Failed requests:        0

Write errors:           0

Total transferred:      16692156 bytes

HTML transferred:       16136172 bytes

Requests per second:    105.29 [#/sec] (mean)    초당 request(micro seceond)

Time per request:       9497.686 [ms] (mean)

Time per request:       9.498 [ms] (mean, across all concurrent requests)

Transfer rate:          814.96 [Kbytes/sec] received

 

Connection Times (ms)

              min  mean[+/-sd] median   max

Connect:        0  189 703.1      0    3004

Processing:   131 1611 1339.7    949    8012

Waiting:      122 1593 1328.2    940    8002

Total:        145 1800 1721.6    953   11015

 

Percentage of the requests served within a certain time (ms)

  50%    953

  66%   1468

  75%   2201

  80%   2792

  90%   4117

  95%   5506

  98%   6910

  99%   8334

 100%  11015 (longest request)

'1. 미들웨어이야기 > 02. Apache' 카테고리의 다른 글

apache graceful restart  (0) 2014.12.03
httpd 실행 옵션  (0) 2014.12.03
apache ab를 이용한 부하테스트  (0) 2014.12.03
Apache 상태 확인 페이지 설정  (0) 2014.12.02
L4의 부하 분산 방법  (0) 2014.12.02
apache에서 file cache  (0) 2014.12.02
posted by LE07

JBoss connction pool 설정


<jndi-name>abc_DS</jndi-name>

        <connection-url>jdbc:mysql://10.10.10.10:1111/aaa</connection-url>

        <driver-class>com.mysql.jdbc.Driver</driver-class>

 

        <user-name>aaa1</user-name>

        <password>abc12</password>

 

        <min-pool-size>1</min-pool-size>

        <max-pool-size>10</max-pool-size>

        <prefill>true</prefill>


위와 같이 커넥션 풀을 설정 할 수 있으나,

weblogic과 달리 was instance가 기동하면서 기본적으로 min-pool-size만큼의

커넥션을 맺지 않고,

요청이 오면 추가로 pool이 생성되는 방식이다.


그러므로 was가 기동될 때부터 connection pool을 min값만큼 생성하려면

<prefill>true</prefill>

옵션을 추가하면 된다.

되도록이면 min, max값은 동일한 것이 서비스 급증 시 커넥션을 추가로 맺게되는 db부하를 줄일 수 있다.

'1. 미들웨어이야기 > 03. JBoss' 카테고리의 다른 글

JBoss Session 튜닝-2  (0) 2014.12.03
JBoss Session 튜닝  (0) 2014.12.03
jboss connection pool  (0) 2014.12.03
Jboss EAP 6 튜닝의포인트  (0) 2014.12.02
JBoss EAP5.X 에서 JSP 변경시 재컴파일 방법‏  (0) 2014.12.02
JBoss Log Level 변경  (0) 2014.12.02
posted by LE07