티스토리 뷰

728x90
반응형

 포스팅은 Apache에서 다중프로세스를 기동하여 사용하는 가이드입니다. 


기존 설치되어있는 Apache에서 다중프로세스를 기동할수있도록 설정하도록 하겠습니다.

한대의 Apache 설치만으로 다중 Apache 프로세스를 띄우고자 할때는 아래와 같은 설정이 필요합니다.

A. 각 프로세스의 Port 설정
B. 각 프로세스의 pid 파일이 생성되는 디렉토리 설정 
C. 각 프로세스가 참조하는 설정파일 필요
-httpd.conf ( +내부에서 참조되는 설정 파일 또는 로그경로는 모두 프로세스별로 달라야합니다.)
      

그럼 진행하도록 하겠습니다. 

* 시나리오
-Apache 버전 : httpd-2.4.34
-프로세스별 구성은 아래와 같습니다. 

프로세스명

 Port

 PidFile

 설정파일명

 httpd1

 80

 run/httpd1.pid

$APACHE_HOME/conf/httpd1/httpd.conf

 httpd2

 90

 run/httpd2.pid

$APACHE_HOME/conf/httpd2/httpd.conf



1. httpd.conf 설정 

1-1) Listen : 프로세스별 포트정보는 달라야합니다. 
-httpd1

Listen IP:80 


-httpd2

Listen IP:90 


1-2) PidFile : 프로세스별 Pid 는 달라야합니다. 
따라서 $APACHE_HOME/run 디렉토리를 생성해서 pid file이 생성되도록 설정합니다. 
-httpd1

PidFile run/httpd1.pid


-httpd2

PidFile run/httpd2.pid


1-3) 이외에도 프로세스별로 참조하고자 하는 파일 / 로그 경로가 달라야하므로, 설정해주어야합니다. 

2. 기동/종료 명령어는 아래와 같습니다. 

httpd [옵션] [기동에 참조하고자 하는 httpd.conf 의 절대경로위치] -k start/stop

-httpd1 기동/종료

httpd -f /home/apache/apache/conf/httpd1/httpd.conf -k start


httpd -f /home/apache/apache/conf/httpd1/httpd.conf -k stop


-httpd2 기동/종료

httpd -f /home/apache/apache/conf/httpd2/httpd.conf -k start


httpd -f /home/apache/apache/conf/httpd1/httpd.conf -k stop


*옵션
-f : file. 특정 설정파일 경로를 지정
-k : start/stop 

3.기동 후 프로세스 확인

[apache@k8s-worker~$]ps -ef | grep httpd

[apache@k8s-worker~/apache/conf/httpd2$]ps -ef | grep httpd

root     30227     1  0 14:21 ?        00:00:00 httpd -f /home/apache/apache/conf/httpd1/httpd.conf -k start

apache   30228 30227  0 14:21 ?        00:00:00 httpd -f /home/apache/apache/conf/httpd1/httpd.conf -k start

apache   30229 30227  0 14:21 ?        00:00:00 httpd -f /home/apache/apache/conf/httpd1/httpd.conf -k start

apache   30230 30227  0 14:21 ?        00:00:00 httpd -f /home/apache/apache/conf/httpd1/httpd.conf -k start


root     30314     1  0 14:21 ?        00:00:00 httpd -f /home/apache/apache/conf/httpd2/httpd.conf -k start

apache   30315 30314  0 14:21 ?        00:00:00 httpd -f /home/apache/apache/conf/httpd2/httpd.conf -k start

apache   30316 30314  0 14:21 ?        00:00:00 httpd -f /home/apache/apache/conf/httpd2/httpd.conf -k start

apache   30317 30314  0 14:21 ?        00:00:00 httpd -f /home/apache/apache/conf/httpd2/httpd.conf -k start

apache   30434 22290  0 14:21 pts/0    00:00:00 grep --color=auto httpd


4.기동 후 프로세스별로 pid file이 생성된것을 확인 할 수 있습니다.  

[apache@k8s-worker~$]cd apache/run/

[apache@k8s-worker~/apache/run$]ls -al

total 8

drwxrwxr-x.  2 apache apache  42 Dec 17 14:21 .

drwxr-xr-x. 16 apache apache 186 Dec 11 10:38 ..

-rw-r--r--.  1 root   apache   6 Dec 17 14:21 httpd1.pid

-rw-r--r--.  1 root   apache   6 Dec 17 14:21 httpd2.pid



Apache 한대의 설치만으로, 기동 파일을 분리하여 여러개의 httpd 프로세스를 기동/관리할 수 있습니다.


고맙습니다.


728x90
반응형