[리눅스] 웹서버 하나에서 아파치 2개 띄우기
웹서버 하나에서 아파치(Apache)를 여러 개 돌릴 수 있다면, 아파치 엔진이 프록시 기능을 통하여 서로 다른 일을 맡게 할 수 있다. 맡는 일에 맞추어 아파치 엔진들의 설정값을 조절함으로써 메모리나 CPU 자원을 아끼거나 더욱 많이 쓰도록 엮을 수 있다.주1
이미 아파치(apache)가 웹서버에 깔려 있고 /usr/sbin에 httpd 파일이 있고 /etc/httpd/conf에 httpd.conf가 있고 /etc/init.d에 httpd 스크립트가 있다고 가정한다.주2
apachectl과 httpd.conf를 각각 다른 이름으로 복사하여 새 아파치 서버에서 쓸 파일을 만들어 둔다.
# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd2.conf
httpd2.conf의 포트 번호(Listen 항목)를 비롯한 설정값들은 새로 돌릴 아파치 서버에 맞게 고친다.
apachectl2 파일에서는 HTTPD의 경로값을 아래처럼 고친다.
httpd2.conf 파일에서 PidFile을 고쳐서 두 아파치가 서로 다른 PID(프로세스 식별자)로 작동할 수 있게 한다.
이렇게 하고 나서 다음 명령으로 둘째 아파치를 띄울 수 있다.주3
chiconfig로 등록해 두면 운영체제가 시작할 때에 둘째 아파치가 뜨게 할 수 있다. 먼저 apachectl2 파일을 /etc/init.d에 httpd2 따위로 적당히 이름을 바꾸어 복사한다.
httpd2 파일 안의 맨 첫줄 #!/bin/sh 아래에 다음 내용을 끼워넣는다.
# chkconfig: - 85 15
# description: The Apache HTTP Server
이렇게 하면 httpd2을 chkconfig로 리눅스가 시작할 때 띄우는 풀그림(서비스) 목록에 올려 실을 수 있다. (chkconfig로 등록한 풀그림은 ntsysv 명령으로 통하여 목록을 확인하고 실행할지를 정할 수 있다.)
# chkconfig --level 2345 httpd on ☞ 리눅스가 시작할 때에 띄우게 함
# chkconfig --del httpd2 ☞ 리눅스가 시작할 때에 띄울 서비스 목록에서 뺌
덧글을 달아 주세요