apache

Apache는 모든 개발자들에게 친근할 거다.(Nginx에 비해) Nginx가 왜 요즘 뜨고있는 HTTP서버인지, 자료를 조금 조사해보았다. (왜냐면 이제 Nginx 사용해볼거거든..) Apache Apache는 Client 요청을 받으면 MPM(Multi Processing Module : 다중처리모듈)이라는 방식으로 요청을 처리하며 대표적으로 Prefork와 Work방식이 있다. Apache 2.4에 Event 방식이 나왔지만, Worker방식과 비슷한것으로 알고있다. 아닌가? 일단 스레드/프로세스 기반구조에 대해 알아보자. 스레드/프로세스 기반 구조 ServerSocket으로 request A가 들어오면 Thread를 할당해 준다. Thread는 그 socket을 가지고 read, write 작업(..
웹서버의 ssl(https)설정은 무척 복잡하다. ssl_module관련된 directive들이 자세히 나와있는 글들이 별로 없는데, 아주 좋은 블로그를 발견하여서 참고해서 작성하였다. (사실 거의 똑같다..) 존경합니다. (출처 : https://golmong.tistory.com/170) 설정 지시자(configuration directive) SSLPassPhraseDialog Apache가 시동될 때 SSL이 적용된 각 virtualhost에 대한 Certificate와 Private Key를 읽어온다. 보안을 위해서 Private Key들은 암호화되어 있으며, 따라서 mod_ssl은 관리자에게 암호화된 PrivateKey를 복호화하기 위해서 Pass Phrase를 요구한다. Builtin exe..
... ... 디렉토리 제어문의 시작은 로 시작해서 로 끝난다. Options FollowSymLinks : 실볼릭 링크를 허용한다. Includes : SSI를 허용한다. MultiViews : 클라이언트의 요청에 따라 적절하게 페이지를 보여준다. 쉽게 생각하면 HTTP 헤드 정보가 Accept-Language:ko 라면 Korea 언어에 맞게 데이터를 클라이언트에 전송한다. Indexes : 웹 서버의 디렉토리에 접근 했을 때 DirectoryIndex 지시자로 설정한 파일이 없을 경우 디렉토리안의 파일 목록을 보여준다. None : 모든 설정을 부정한다. AllowOverride AllowOverride는 클라이언트의 디렉토리 접근 제어에 관한 설정이다. AllowOverride 는 AccessFi..
Timeout [300 : default] 클라이언트 요청에 의해 서버와 연결이 될 때, 서로간에 아무런 메시지가 발생하지 않을 때 연결을 끊는 시간. (Rest API 경우에는 낮을 수록, 웹서비스에 경우 높을 수록 좋음) KeepAlive [On : default / Off] Apache의 한 프로세스가 사용자의 지속적인 요청작업을 계속 처리할 것인지 대한 여부 KeepAliveTimeout[5 : default] KeepAlive가 On인 경우 유효한 값으로, 설정 시간(초)동안 요청이 없으면 타임아웃 시킨다. (낮을수록 동접자를 늘릴 수 있음) MaxKeepAliveRquests [100 : default] KeepAlive가 On인 경우 유효한 값으로, 하나의 프로세스가 방문자들의 요청을 처리할..
이름기반 VirtualHost 설정 하나의 서버가 여러개의 도메인을 가지고 있고, 각각의 도메인마다 다른 서비스를 하고 싶을 때 아파치의 VirtualHost를 사용하면 하나의 서버로 각기 다른 도메인을 서비스할 수 있다. 만약의 서버의 아이피가 192.168.0.5이고, 쇼핑몰 사이트와 책구매 사이트를 운영하고 싶다고 생각해보자. 우리는 두 개의 사이트를 운영해야하기 때문에 도메인을 2개 구입했다. (shopping.com, book.com) 이렇게되면 두개의 도메인은 둘다 192.168.0.5서버를 바라보게 된다. 하지만 우리는 shopping.com 으로 접속했을 때는 쇼핑몰 사이트를, book.com에 접속했을 때는 책 구매 사이트를 보여주고 싶다. 이럴 때 가상호스트(VirtualHost)를 사..
Apache설치 1. Apache가 설치되어있는지 확인 $yum list installed | grep httpd2. Apache 설치 $yum install -y httpd 설치 후 apache 경로 : /etc/httpd 디렉토리 설명 conf : 웹 서버의 주요 설정파일인 httpd.conf, MIME형식을 지정하기 위한 파일이 있는 곳 conf.d : 아파치 주요설정을 분리해서 저장하는 곳. (httpd.conf 설정내용을 분리하여 이곳에 저장하면, httpd.conf파일에서 불러서 사용하게됨). httpd.conf파일에 보면 include 하는 부분이 있음 logs : 로그파일이 저장되는 디렉토리 modules : 아파치 모듈 설치디렉토리 3. 방화벽(http) 해제 클라우드를 사용하였으므로, ..
아파치(Apache) 설치하기 apt-get(Advanced Packaging Tool) 은 우분투(Ubuntu)를 포함한 데미안계열의 리눅스에서 쓰이는 패키지 관리 명령어 도구이다. appstore와 같은 개념으로 보면 될것 같다. ssh에 접속하여 아래와 같은 명령어를 실행한다. sudo apt-get install apache2 만약에 에러가 뜬다면 appstore를 최신으로 만들어야 한다. sudo apt-get update update를 받은 후 다시 install을 실행 apache2가 정상적으로 설치되었는지 확인하려면, 아래와 같은 명령어를 사용한다. apache2 -v 정상적으로 설치가 됬으면 apache2의 버전정보가 출력될 것이다. apache2 구동 명령어는 아래와 같다. 1 2 3 ..
깡냉쓰
'apache' 태그의 글 목록