강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

아파치 실행,종료,재시작등 기본관리를 위한 apachectl 실무

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

아파치 실행,종료,재시작등 기본관리를 위한 apachectl 실무

 

 

 

 

apachectl은 아파치의 시작/종료/재시작등을 할 수 있는 아파치관리명령어이다.

 

 

 

여러분들이 알고있는 바와같이 아파치는 RPM으로 설치할 수도 있고 소스를 직접 가져와서 컴파일하여 설치할 수도 있다.

 

 

 

여기서 설명하는 apachectl /usr/local/apache/bin/디렉토리에 위치하고있는 스크립트파일이다.  

 

 

 

 

[root@sulinux apache]#ls -l /usr/local/apache/bin/apachectl

-rwxr-xr-x 1 root root 3425  4 15 01:15 /usr/local/apache/bin/apachectl

[root@sulinux apache]#

 

 

 

 

사용형식은 다음과 같다.

 

사용형식 : apachectl (start|stop|restart|fullstatus|status|graceful|configtest|help)

 

 

 

start       - 아파치를 시작한다.

stop        - 아파치실행을 종료한다.

restart     - 아파치를 재시작한다.

fullstatus  - 아파치 실행상태를 자세하게보여준다.
              (lynx
mod_status가 설치되어야 한다.)

status      - 아파치 실행상태를 간단하게 보여 준다.
              (lynx
mod_status가 설치되어야 한다.)

graceful    - 아파치를 graceful모드로 재시작한다.

configtest  - 아파치 설정파일(httpd.conf)의 문법(syntax)을 검사한다.)

 

help        - 도움말을 보여준다.

 

 

 

 

이제부터 apachectl명령어의 사용예들을 보도록하겠다.

 

 

 

 

 

 

 

아파치웹서버 실행하기

 

 

 

 

 

apachectl유틸리티로 아파치를 시작할 때에는 start옵션을 사용한다.

 

 

일반적으로 아파치를 시작할 때에 많이 사용하는 방법이다.

 

 

 

다음은 /usr/local/apache/bin에서 apachectl명령어로 아파치웹서버를 실행한 것이다.

 

 

 

[root@sulinux apache]#/usr/local/apache/bin/apachectl start

[root@sulinux apache]#

[root@sulinux apache]#ps -ef | grep httpd

root      3045     1  8 23:23 ?        00:00:00 /usr/local/apache/bin/httpd -k start

daemon    3046  3045  0 23:23 ?        00:00:00 /usr/local/apache/bin/httpd -k start

daemon    3047  3045  0 23:23 ?        00:00:00 /usr/local/apache/bin/httpd -k start

daemon    3048  3045  0 23:23 ?        00:00:00 /usr/local/apache/bin/httpd -k start

daemon    3049  3045  0 23:23 ?        00:00:00 /usr/local/apache/bin/httpd -k start

daemon    3050  3045  0 23:23 ?        00:00:00 /usr/local/apache/bin/httpd -k start

root      3052  2375  0 23:23 pts/0    00:00:00 grep --colour=auto httpd

[root@sulinux apache]#

 

 

 

 

 

아파치웹서버 종료하기

 

 

 

 

apachectl유틸리티로 아파치를 종료할 때에는 stop옵션을 사용한다.

 

 

실행하고있는 아파치를 종료할 때에 사용하는 일반적인 방법이다.

 

 

 

[root@sulinux apache]#/usr/local/apache/bin/apachectl stop

[root@sulinux apache]#

[root@sulinux apache]#ps -ef | grep http

root      3057  2375  0 23:24 pts/0    00:00:00 grep --colour=auto http

[root@sulinux apache]#

 

 

 

"apachectl stop"이라고 하면 현재 실행되어 있는 아파치가 종료된다.

 

 

 

그리고 종료된 아파치를 확인하기 위하여 ps httpd프로세스를 확인한 것이다.

 

 

 

 

아파치웹서버 재시작하기

 

apachectl유틸리티로 실행중인 아파치를 재시작할 때에는 restart옵션을 사용하면 된다.

 

 

아파치의 설정변경등으로 인하여 재시작해야 할 필요성이 있을 때 주로 사용하는 옵션이다.

 

 

 

아파치가 실행중이라면 아파치를 중지하고 시작한다.  아파치가 실행중이 아니라면 시작을 한다.

 

 

 

 

[root@sulinux apache]#/usr/local/apache/bin/apachectl restart

[root@sulinux apache]#

[root@sulinux apache]#ps -ef | grep http

root      3061     1  3 23:24 ?      00:00:00 /usr/local/apache/bin/httpd -k restart

daemon    3070  3061  0 23:24 ?      00:00:00 /usr/local/apache/bin/httpd -k restart

daemon    3071  3061  0 23:24 ?      00:00:00 /usr/local/apache/bin/httpd -k restart

daemon    3072  3061  0 23:24 ?      00:00:00 /usr/local/apache/bin/httpd -k restart

daemon    3073  3061  0 23:24 ?      00:00:00 /usr/local/apache/bin/httpd -k restart

daemon    3074  3061  0 23:24 ?      00:00:00 /usr/local/apache/bin/httpd -k restart

root      3076  2375  0 23:24 pts/0  00:00:00 grep --colour=auto http

[root@sulinux apache]#

 

 

 

 

즉 위의 예에서는 현재 실행 중이던 아파치웹서버를 종료하고 다시 시작한 예이다.

 

 

아파치웹서버의 설정파일 httpd.conf 검사하기

 

 

 

 

apachectl명령어에 configtest라는 옵션으로 실행하면 아파치 설정파일 httpd.conf의 문법을 검사한다.

 

 

웹서버가 정상적으로 시작되지 않을 경우에 가장 먼저 확인해보아야 할 부분이 httpd.conf파일의 설정내용이다.

 

 

httpd.conf파일의 문법이 틀렸거나 설정이 잘못되었을 경우에는 아파치가 실행되지 않는다.

 

 

 

만약, httpd.conf파일에 문제가 있을 경우에는 몇번째 행이 잘못되었다는 것까지 알려준다.

 

 

 


httpd.conf
파일의 설정에 이상이 없을 경우에는 다음과 같이 "Syntax OK"라는 메시지를 뿌려준다.

 

 

 

[root@sulinux apache]#/usr/local/apache/bin/apachectl configtest

Syntax OK

[root@sulinux apache]#

 

 

 

 

하지만 httpd.conf파일에 문제가 있는 경우에는 다음과 같이 문제가 되는 부분을 알려주기도 한다.

 

[root@sulinux apache]#/usr/local/apache/bin/apachectl configtest

Syntax error on line 351 of /usr/local/apache/conf/httpd.conf:

Invalid command 'Error', perhaps misspelled or defined by a module not included in the server configuration

[root@sulinux apache]#

 

 

 

 

 

위의 예는 httpd.conf파일의 351행의 설정에서 잘못된 부분이 있음을 알려주고 있다.

 

 

그리고 무엇이 잘못된 것인가를 나름대로 확인하여 알려주고있다.

 

 

 

351행의 설정내용 가운데 Error로 시작하는 문자열이 오타일 가능성을 알려주고있다.

 

 

 

이와 같이 아파치가 정상적인 방법으로 실행되지 않을 때 apachectl유틸리티를 이용하여 이와같이 원인파악을 할 수도 있다.

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,034 명
  • 현재 강좌수 :  35,791 개
  • 현재 접속자 :  84 명