Server, WAS/Apache: 15개의 글
이 포스팅은 CentOS 7 버전에서 진행되었습니다. 목차 Apache 가이드 - 설치부터 HTTPS 적용까지 Apache 가이드 - Apache Tomcat과 연동하기 Apache 가이드 - 설정파일 분석하기 Apache 가이드 - 로드밸런싱 설정하기 환경설정 변경하기 workers.properties 파일 수정 이전에는 Apache 1개와 Apache Tomcat 1개를 연결하는 설정을 해봤습니다. 하지만, 이제 Apache Tomcat에 Apache의 요청을 분산해서 전달하려고 하기 때문에 여러개의 Apache Tomcat의 정보를 다 기록해주어야합니다. 일반적으로 Apache Tomcat 하나당 한개의 아이피를 가집니다. 따라서, 컴퓨터가 여러대가 필요하기 때문에 가상머신을 활용하여 테스트 하시는..
이 포스팅은 CentOS 7 버전에서 진행되었습니다. 목차 Apache 가이드 - 설치부터 HTTPS 적용까지 Apache 가이드 - Apache Tomcat과 연동하기 Apache 가이드 - 설정파일 분석하기 Apache 가이드 - 로드밸런싱 설정하기 httpd.conf 파일의 속성 ServerRoot 이 설정파일에서 특정 파일을 참조하는 경우에는 이 경로를 기준으로 상대경로를 입력합니다. ServerRoot "/etc/httpd" 예를들어 /etc/httpd/modules/hello.so 모듈을 로드하기 원하는 경우에는 아래와 같습니다. (modules/hello.so 상대경로 사용) LoadModule hello_module modules/hello.so Listen Apache에서 다룰 포트를 추..
이 포스팅은 CentOS 7 버전에서 진행되었습니다. 목차 Apache 가이드 - 설치부터 HTTPS 적용까지 Apache 가이드 - Apache Tomcat과 연동하기 Apache 가이드 - 설정파일 분석하기 Apache 가이드 - 로드밸런싱 설정하기 우선 Apache Tomcat이 설치되어있다는 가정 하에 포스팅을 진행하도록 하겠습니다. >> 톰캣 설치하기 설치하기 필요한 패키지 설치하기 웹 링크로부터 다운로드를 할 수 있도록 wget 패키지를 설치 # yum install -y wget Apache와 Apache Tomcat을 연결해주는 소스를 컴파일 하기 위한 패키지를 설치 # yum install -y gcc gcc-c++ make 커넥터 다운로드 아래의 링크를 클릭하여 원하는 버전의 링크를 입..
이 포스팅은 CentOS 7 버전에서 진행되었습니다. 목차 Apache 가이드 - 설치부터 HTTPS 적용까지 Apache 가이드 - Apache Tomcat과 연동하기 Apache 가이드 - 설정파일 분석하기 Apache 가이드 - 로드밸런싱 설정하기 설치하기 Apache 설치하기 Apache와 Apache Tomcat을 연동하는 방법은 총 세가지가 있습니다. 그 중 한가지인 mod_jk를 사용하는 방법은, httpd-devel을 사용해야 에러가 나지 않기 때문에, httpd-devel 을 설치합니다. # yum install -y httpd-devel 방화벽 설정하기 외부에서 접근을 허용하기 위해서는 방화벽에 해당하는 포트를 허용할 수 있도록 등록해야 합니다. Apahe는 80번 포트를 사용하고 있기..
Proxy 서버를 경유하여 서버에 접근하였더니 502 Bad Gateway 오류 메세지가 나타나 조사해보았다. 아래와 같이 설정하여도 proxy ip는 접근이 불가능하였다. 502 에러는 Nginx 서버가 이상 트래픽 유발과 속도저하시 생기는 에러 메시지다. 이러한 오류페이지가 발생하지 않게 설정하려면 Apache 서버의 설정을 KeepAlive를 On ==> Off 로 수정하면 된다. 그 외에도 MaxKeepAliveRequest와 KeepAliveTimeout 값도 조절해준다. KeepAlive 설정 파일 위치 [ /usr/local/server/apache/conf/extra/httpd-default.conf ] /usr/local/server/apache/conf/httpd.conf 파일에서 ht..
먼저, Web Server란? 사용자에게 HTML 페이지나 jpg, png 같은 이미지를 HTTP 프로토콜을 통해 웹 브라우저에 제공하는 서버로, 내부의 내용이 이미 만들어져 있는 정적인 요소들을 화면에 보여주는 역할을 한다. Web Server의 종류 Apache Software Foundation 에서 만든 서버로 HTTP 통신에 대한 여러 라이브러리를 제공한다. Window OS 에서 제공하는 웹 서버로, 높은 수준의 보안성과 성능을 제공한다. 무료 오픈 소스 서버로, 사용자 요청을 스레드가 아닌 확장성이 있는 이벤트 기반 설계를 통해 필요 리소스만 할당하여 사용한다. WAS란? Web Application Server의 약자로, 사용자가 요청한 서비스의 결과를 스크립트 언어 등 으로 가공하여 생성..
웹 서버와 WAS의 차이점 - 웹 서버와 WAS를 구별 짓는 것은 동적 서버 콘텐츠를 수행하는가? 만약 수행한다면 WAS로 보면 된다. - 웹 서버 : 정적인 HTML이나 이미지를 제공하는 서버. WAS : 동적인 처리를 담당하는 서버. 웹 서버와 WAS의 일반적인 구성 - 사용자가 브라우져에서 요청을 하게 되면 다음과 같이 웹서버와 WAS서버를 거쳐 돌아오게 된다. - 사용자 요청(웹브라우저 -> 웹 서버-> WAS(동적처리) ->웹서버-> 사용장 응답메세지(웹브라우져) 웹 서버(Web Server) - 클라이언트의 요청을 받아 HTML이나 오브젝트를 HTTP 프로토콜을 이용해 전송하는 것. 사용자가 클라이언트로 요청을 보내오면 그 명령에 대한 처리를 실행하고 다시 사용자에게 답변을 보내준다. - 사용..
1. Round Robin - Real Server로 session을 순차적으로 맺어주는 방식. - 현재의 서버가 가지고 있는 session수는 관여하지 않음. - weighting 옵션이 지원됨. 모든 클라이언트는 동일하게 취급되며 실서버 혹은 경로는 같은 처리량을 보유해야 함. SLB에 많이 사용되며 만약 각기 다른 처리 능력을 가진 서버가 있을 경우 weigted round-robin 알고리즘이 더 효율적. roundrobin은 리얼서버의 마지막 번호를 가진 서버로부터 출발하여 순차적으로 세션을 맺도록 해주는 로드밸런싱 기법. 예를 들어 5대의 서버가 있다면.. 5, 4, 3, 2, 1, 1, 2, 3, 4, 5, 4, 3, 2, 1........ 위와같은 순서로 로드밸런싱 하게 됨. 특별한 서비스..
Apache를 이용하여 웹 서비스를 하다보면 사용자의 접속로그등이 서버에 누적되게 된다. 이 로그를 기본으로 사용할 경우 1개 페이지의 접속에 대하여 상당히 많은양의 로그를 남기게 되는데, 예를들어 A라는 사용자가 HTML로 구성된 1.jsp를 호출한다고 하였을때 아파치 로그는 1.jsp 안에 포함되어 있는 모든 이미지, css, js 등을 모두 접속로그로 기록하게 된다. 이러한 이유로 log의 크기가 급격하게 커지게 되고, 이는 서비스의 영향을 줄 수도 있는만큼 상황에 따라 적절하게 적용하면 좋다. 특정항목들에 대해 로그 기록을 제외시킬수 있는데, 오늘은 이미지를 제외시키는 방법을 예제로 확인해 보겠다. 1. log_config_module 수정 우선 ${Apache_HOME}/conf/httpd.co..
아파치를 운영해본 사람들은 알겠지만 아파치에서 쌓는 접속 로그는 별다른 설정을 하지 않으면 해당 파일에 계속 로그를 쌓게 된다. 즉 1개 파일에 10GB, 20GB 등등 계속 쌓게 되는데, 사실 아파치 로그가 필요 이상으로 커지는것은 좋지 않다. 사용자가 접속을 할때마다 Apache는 로그를 남겨야 하는데, 로그 파일의 사이즈가 클 경우 마지막줄에 로그를 기록하는데 시간이 오래걸려 오히려 아파치 성능이 떨어지는 문제가 발생한다. 또한 로그 분석 및 보관시에도 불편함이 따르므로 가급적이면 로그를 월별 또는 일별로 저장되게끔 하는게 좋다. 아파치 로그를 월별 또는 일별로 저장되게 하기 위해서는 "${APACHE_HOME}/bin/rotatelogs" 를 이용하여 설정해주면 된다. Apache의 설정파일이나 ..