Apache 서비스 점검
서비스 점검
$svcs apache24
서비스 기동
$svcadm enable apache24
$svcs apache24
사이트 접속 점검
$curl -I http://localhost
아파치 중단
$apachectl stop
아파치 시작
$apachectl start
아피치 재시작
$apachectl restart
Solaris 11.4에서 웹 서비스(Apache, Nginx 등)의 정상 동작 여부를 확인하려면 Solaris의 서비스 관리 프레임워크인 SMF(Service Management Facility) 명령어를 사용하는 것이 가장 정확합니다.
다음은 단계별 확인 방법입니다.
1. 서비스 상태 확인 (svcs)
가장 먼저 서비스가 'online' 상태인지 확인해야 합니다. Solaris에서 웹 서버는 보통 apache24 또는 nginx라는 이름으로 등록되어 있습니다.
- Apache 상태 확인:
-
Bash
svcs apache24 - Nginx 상태 확인:
-
Bash
svcs nginx - 출력 결과 해석:
- online: 정상 작동 중
- disabled: 서비스가 꺼져 있음 (svcadm enable 필요)
- maintenance: 오류 발생으로 중단됨 (로그 확인 필요)
2. 네트워크 포트 리스닝 확인 (netstat)
서비스가 온라인이라도 실제로 포트(80, 443)가 열려 있는지 확인해야 합니다.
- 80번(HTTP) 또는 443번(HTTPS) 포트 확인:LISTEN 상태로 출력된다면 서버가 요청을 받을 준비가 된 것입니다.
-
Bash
netstat -an | grep "\.80 " netstat -an | grep "\.443 "
3. 프로세스 실행 여부 확인 (ps)
실제 바이너리가 프로세스 상에 떠 있는지 확인합니다.
- 프로세스 리스트 확인:
-
Bash
ps -ef | grep httpd # Apache의 경우 ps -ef | grep nginx # Nginx의 경우
4. 로컬 응답 테스트 (curl)
서버 내부에서 직접 HTTP 요청을 보내 응답 코드를 확인합니다.
- 상태 코드 확인:HTTP/1.1 200 OK가 나오면 정상입니다.
-
Bash
curl -I http://localhost
5. 문제 발생 시: 로그 확인
만약 상태가 maintenance이거나 접속이 안 된다면 SMF 로그를 확인해야 합니다.
- 서비스 상세 정보 및 로그 경로 확인:출력 내용 중 logfile 경로(예: /var/svc/log/network-http:apache24.log)를 찾아 tail 명령어로 오류 내용을 확인하세요.
-
Bash
tail -f /var/svc/log/network-http:apache24.log -
Bash
svcs -lp apache24
추가 팁: Solaris 11.4에는 시스템 상태를 웹으로 볼 수 있는 WebUI가 기본 탑재되어 있습니다. 브라우저에서 https://서버IP:6787로 접속하여 GUI 환경에서도 서비스 상태를 점검할 수 있습니다.
port 80: connection refused 문제
Solaris 환경에서 Connection Refused 에러가 발생한다는 것은, 해당 포트로 접속을 시도했으나 OS가 이를 거절했다는 뜻입니다. 이는 크게 서비스 미실행, 잘못된 바인딩, 또는 방화벽 차단 중 하나일 가능성이 높습니다.
다음 절차에 따라 문제의 원인을 파악하고 해결해 보세요.
1. 서비스가 실제로 실행 중인지 재확인
svcs 명령어로 서비스가 online 상태인지 다시 한번 확인합니다. 간혹 maintenance 상태라면 서비스가 떠 있는 것처럼 보여도 실제로는 동작하지 않습니다.
svcs -x apache24
Tip: 만약 maintenance 상태라면 svcadm clear apache24 명령어로 복구를 시도하고, 그래도 안 된다면 로그(/var/svc/log/...)를 확인해야 합니다.
2. 포트 바인딩 확인 (0.0.0.0 vs 127.0.0.1)
서비스는 떠 있는데 외부에서 접속이 안 된다면, 웹 서버가 localhost(127.0.0.1)에만 바인딩되어 있을 수 있습니다.
netstat -an | grep "\.80 "
- 127.0.0.1.80: 서버 내부에서만 접속 가능 (외부 접속 불가)
- 0.0.0.0.80 또는 *.80: 모든 인터페이스에서 접속 가능 (정상)
해결 방법: Apache의 경우 httpd.conf 파일에서 Listen 80 설정이 특정 IP로 고정되어 있는지 확인하고 Listen 80으로 수정 후 재시작하세요.
3. IP Filter(방화벽) 활성화 여부 확인
Solaris에는 ipfilter라는 자체 방화벽 서비스가 있습니다. 여기서 80번 포트를 차단하고 있을 수 있습니다.
- 방화벽 상태 확인:
-
Bash
svcs ipfilter - 방화벽 규칙 확인:출력 결과에 block과 함께 port 80 관련 내용이 있는지 확인하세요. 만약 테스트 환경이라면 잠시 방화벽을 끄고 접속을 시도해 볼 수 있습니다: svcadm disable ipfilter
-
Bash
ipfstat -io
4. Apache/Nginx 설정 오류 (Syntax Check)
서비스가 online이어도 설정 파일 오류로 인해 포트를 제대로 점유하지 못하는 경우가 있습니다.
- Apache 설정 검사:Syntax OK가 나오지 않는다면 해당 오류를 먼저 수정해야 합니다.
-
Bash
/usr/apache2/2.4/bin/apachectl configtest
5. 가상 호스트(VirtualHost) 설정 확인
특정 도메인으로 접속을 시도 중이라면, 설정 파일 내의 ServerName 또는 VirtualHost 섹션이 해당 요청을 처리하도록 정확히 설정되어 있는지 확인하세요.
solaris 11.4 apache24 서비스 시작하는 방법
Solaris 11.4에서 Apache 2.4 서비스를 시작하는 가장 권장되는 방법은 SMF(Service Management Facility) 명령어를 사용하는 것입니다. SMF는 서비스 간의 의존성을 관리하고, 프로세스가 예기치 않게 종료되었을 때 자동으로 재시작해주는 기능을 제공합니다.
1. SMF를 이용한 서비스 시작 (권장)
가장 표준적인 방법입니다. root 권한(또는 관련 권한이 있는 사용자)으로 실행해야 합니다.
- 서비스 활성화(시작):
-
Bash
svcadm enable apache24 - 서비스 상태 확인:출력 결과의 STATE가 online이면 정상적으로 시작된 것입니다.
-
Bash
svcs apache24
2. 서비스가 시작되지 않을 때 (Troubleshooting)
만약 위 명령어를 입력해도 웹사이트 접속이 안 되거나 STATE가 maintenance인 경우 다음 단계를 진행하세요.
① 유지보수 상태 해제: 오류로 인해 서비스가 maintenance 상태에 빠졌다면, 원인 수정 후 아래 명령어로 상태를 초기화해야 다시 시작됩니다.
svcadm clear apache24
② 설정 파일 문법 검사: 설정 파일(httpd.conf)에 오타가 있으면 서비스가 시작되지 않습니다.
/usr/apache2/2.4/bin/apachectl configtest
Syntax OK 메시지가 나오는지 확인하세요.
③ 로그 파일 확인: SMF는 서비스 시작 실패 시 상세 로그를 기록합니다. 원인을 파악하는 가장 확실한 방법입니다.
# 로그 경로 확인
svcs -lp apache24
# 로그 내용 출력 (실시간)
tail -f $(svcs -L apache24)
3. apachectl 수동 제어 (디버깅용)
SMF를 거치지 않고 직접 바이너리를 제어할 수도 있습니다. 주로 설정 변경 후 즉시 적용하거나 테스트할 때 사용합니다.
- 시작: /usr/apache2/2.4/bin/apachectl start
- 중지: /usr/apache2/2.4/bin/apachectl stop
- 재시작: /usr/apache2/2.4/bin/apachectl restart
[!CAUTION] Solaris 11.4 운영 환경에서는 apachectl보다 svcadm을 사용하는 것이 관리에 유리합니다. 시스템 재부팅 시 자동 시작 설정도 SMF(enable)를 통해 이루어집니다.
'컴퓨터 활용(한글, 오피스 등) > 기타' 카테고리의 다른 글
| Drogon ubuntu에 설치 (0) | 2026.01.11 |
|---|---|
| C++ 웹 프레임워크 (0) | 2026.01.11 |
| Solaris 11.4에서 IPS를 사용하여 GCC 설치 여부를 확인 (0) | 2026.01.10 |
| c++, spring 웹프레임워크 벤치마크 성능 차이 (0) | 2026.01.10 |
| 양자 프로그래밍 언어 Qiskit, Cirq, Q# 비교 분석 (0) | 2026.01.10 |