-
리눅스 서버 배포환경 구축하기 2 - 아파치 설치Infra 2021. 5. 17. 19:30
Apache != Tomcat
Apache와 Tomcat이 다르다는 사실을 왜 이제 이해했는지 모르겠다. 그냥 같은걸로만 알고 있었다. Apache는 Web Server, Tomcat은 WAS(Web Application Server) 다. Web Server는 정적인 페이지(정해진 값)을 빠르게 출력하는 용도로 사용되며 WAS는 사용자 요청에 따라 응답결과가 바뀌는 경우(DB에서 데이터를 불러오는 경우, 내부적인 계산결과를 보여야하는 경우 등)에 사용된다고 이해하면 된다. Web Server를 WAS앞단에 둬서 단순응답을 빠르게 처리하고 그 외 부분은 WAS에서 처리하도록 할 수 있다.
그리고
Apache+WAS(Tomcat, JBoss ..)
구조를 만들면 호출서비스에 따라 분기시키는 기능, 특정WAS에만 요청에 몰리는 경우를 방지할 수 있는 Load Balancing 이 가능하다. 예를 들어x.x.x.x:8080/test1/~
호출하는 서비스가 들어온경우는 1번 WAS가 처리하게 하고x.x.x.x:8080/test2/~
호출하는 서비스는 2번 WAS가 처리하도록 Apache에서 분기가 가능하다.WAS와 웹서버 차이
위 포스트를 참고했다.Apache 설치하기
Apache 설치부터는 수워니님이 올린 포스트를 보고 따라했으며 진행하다 막힌 부분 위주로 작성했습니다.
위의 포스팅에서 index.html을 만들어보는 과정은 넘겨도 큰 문제는 없습니다.
문제발생 원인분석 방법
httpd 실행상태 확인
우선 간략하게 확인하는 방법은
ps -ef |grep httpd
명령어를 통해 확인이 가능하고, 장애원인 등 상세하게 보기위해선systemctl -l status httpd
명령어를 통해 확인이 가능하다.systemctl -l status httpd //위와같이 입력하면 아래와 비슷하게 상태를 확인할 수 있다 //(문제가 있는경우엔 간략하게 원인이 나오고, 자세한건 로그를 통해 확인 가능하다) ● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: active (running) since 월 2018-05-07 00:02:22 KST; 3s ago Docs: man:httpd(8) man:apachectl(8) Process: 1296 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=1/FAILURE) Main PID: 4270 (httpd) Status: "Processing requests..." CGroup: /system.slice/httpd.service ├─4270 /usr/sbin/httpd -DFOREGROUND ├─4271 /usr/sbin/httpd -DFOREGROUND ├─4272 /usr/sbin/httpd -DFOREGROUND ├─4273 /usr/sbin/httpd -DFOREGROUND ├─4274 /usr/sbin/httpd -DFOREGROUND └─4275 /usr/sbin/httpd -DFOREGROUND 5월 07 00:02:21 localhost.localdomain systemd[1]: Starting The Apache HTTP Server... 5월 07 00:02:22 localhost.localdomain systemd[1]: Started The Apache HTTP Server.
정상적인 기동이 안되는 경우 에러 확인하기
위 명령어로 에러내용 확인이 가능하지만 기동장애를 일으킨 원인을 보기 위해선 로그파일을 확인해야한다.
cd /etc/httpd/logs vi error_log //ll -ltrh 를 통해 변경된 시간별로 파일을 정렬하고 //맨 아래쪽에 있는 에러로그 파일을 열어본다.
주로 초기 설정을 하는 도중 오타가 났거나 설정이 빠져서 정상적인 기동이 안되는 경우가 많으므로 로그파일을 확인하여 잘못된 설정을 찾아 해결하면 된다.
'Infra' 카테고리의 다른 글
리눅스 서버 배포환경 구축하기 4 - Jenkins설치 및 git연동 (0) 2021.05.19 리눅스 서버 배포환경 구축하기 3 - 톰캣 설치 및 아파치 연동 (1) 2021.05.18 리눅스 서버 배포환경 구축하기 1 - CentOS7 설치 (0) 2021.05.16 리눅스 Shell2 - file merge, split (0) 2021.05.15 간단한 Log Backup Shell 만들기 (0) 2021.05.14