CentOS7에 Apache 서비스 등록
아파치가 서버가 시작될때 자동으로 httpd 서비스가 실행되게 하기 위해서 사용한다.
먼저 아파치가 설치 되어 있어야 한다.
예제를 위해서 설치된 아피치 경로는 다음과 같다
설치경로
/app/web/apache24
1. 심볼릭 링크 설정
먼저 아파치 설치 경로 /app/web/apache24/bin/ 폴더에는 httpd 서버를 실행시키기 위한 apachectl 명령어가 존재한다.
이 명령어를 /etc/rc.d/init.d/ 폴더로 링크를 걸어준다.
이렇게 하는 이유는 서비스를 등록하기 위해서는 해당 폴더에 쉘 정보가 존재해야지 서비스 등록이 가능하기 때문이다.
ln -s /app/web/apache24/bin/apachectl /etc/rc.d/init.d/httpd
2. apachectl 명령어 편집
vi 편집기를 이용하여 apachectl 명령어에 다음 강조된 문구를 추가해준다.
해당 문구 추가해주는 이유는 해당 부분이 존재하지 않을 경우 service 등록이 되지 않기 때문이다.
#!/bin/sh
#
# chkconfig: 345 85 15
# description: init file for Apache2 server daemon
#
# Licensed to the Apache Software Foundation (ASF) under one or more
chkconfig: 345 85 15에 대한 내용은 다음과 같다.
345 : 부팅시 런레벨 3, 4, 5에서 구동됨을 의미
85 : 데몬 실행 우선 순위
15 : 데몬 종료 우선 순위
만약 해당 문구가 존재하지 않을 경우 다음과 같은 메세지기 표출된다.
httpd 서비스는 chkconfig 를 지원하지 않습니다
3. 서비스 등록
기본적으로 apache는 root 권한으로 실행되어야 한다. 만약 1~1024 범위 안에 포트가 아닐 경우는 root 권한이 아니여도 된다.
실행 권한이 없는 경우 다음 명령으로 실행 권한을 먼저 부여한다.
http는 /etc/rc.d/init.d/httpd를 가르킨다.
실행 권한 부여
chmod +x httpd
서비스를 등록하기 위해서는 chkconfig --add 명령으로 서비스를 등록하고, 서비스를 삭제하기 위해서는 chkconfig --del 명령을 삭제를 하면 된다.
서비스 등록
chkconfig --add httpd
서비스 목록 확인
chkconfig --list | grep httpd
httpd 0:해제 1:해제 2:해제 3:해제 4:해제 5:해제 6:해제
서비스 목록에는 등록되어 있지만 해당 서비스는 모두 해제로 되어 있어서 동작되지 않는다.
서버가 시작하거나 재부팅시 동작되도록 런레벨을 설정해준다.
렌레벨 설정
chkconfig --level 35 httpd on
서비스 목록 확인
chkconfig --list | grep httpd
4. 참고
리눅스 런레벨 정보
# 0 - halt (DO NOT set initdefault to this)
시스템 종료
# 1 - Single user mode
관리자 작업을 위한 유저 모드
# 2 - Multiuser mode, without NFS (The same as 3, if you do ot have networking)
네트워크 인터페이스를 사용하지 않는 텍스트 유저 모드
# 3 - Full muliuser mode
텍스트 유저 모드
# 4 - unused
사용되지 않음, 특별한 목적을 위해 존재
# 5 - X11
그래픽 유저 모드
# 6 - reboot (DO NOT set initdefault to this)
시스템 재부팅
'개발 > Server' 카테고리의 다른 글
ProFTPD 접속 클라이언트 제한 설정 (0) | 2019.05.13 |
---|---|
apache 일반 계정으로 실행하기 (0) | 2019.01.14 |
wildfly jsp 동적으로 변경사항 적용하기 (0) | 2017.12.02 |
windows 10 원격지원 허용 및 포트 변경 (0) | 2016.06.15 |
[CRONTAB] 크론탭을 이용하여 무중단 톰켓 서버 만들기 (0) | 2015.07.22 |