서버(8)
-
서버 가상화란
서버 가상화의 개념 서버 가상화는 하나의 물리적 서버 호스트에서 여러 개의 서버 운영 체제를 게스트로 실행할 수 있게 해주는 소프트웨어 아키텍처입니다. 서버는 물리적 시스템으로부터 추상화된 서버 소프트웨어를 통해 물리적 영역을 벗어난 하나의 '가상 시스템'이 됩니다. 게스트 서버는 해당 컴퓨팅 및 메로리 리소스에서 단독으로 실행되고 있다고 스스로 인식하지만, 실제로는 서버 하드웨어의 가상 모방 서버에서 실행됩니다. 서버 가상화의 장점 하드웨어 비용과 공간의 절감 서버 가상화를 이용하면 여러 개로 운영되던 서버를 통합해 관리 포인트를 축소할 수 있습니다. 그리고 장비의 노후화로 인한 파트 교체나 장애 처리에 있어서 훨씬 수월하고 빠른 대응을 할 수 있습니다. 또한, 새로운 서버가 필요할 경우..
2022.07.29 -
Apache MPM
Apache MPM의 개념 Apache MPM은 Multi Processing Module의 약자로 Apache가 받아들인 요청을 처리하기 위해 자식 process에게 분배하는 방식을 의미합니다. Apache MPM의 종류 Prefork Prefork 방식은 하나의 요청에 하나의 웹서버 프로세스를 할당하여 처리하도록 하는 방식입니다. 실행중인 프로세스를 fork를 이용해 복제하여 실행하고 다른 여러 모듈들을 사용하는데 호환성이 좋은 편입니다. 다만 프로세스는 소비하는 메모리가 많아서 요청이 급증하면 메모리가 부족할 수도 있습니다. Worker Worker 방식은 요청을 스레드 단위로 처리합니다. 기본 사용 메모리는 Prefork 방식보다 낮으며 스레드 간에 메모리를 서로 공유합니다. Event Event..
2022.01.06 -
Hypervisor
Hypervisor란 Hypervisor의 개념 Hypervisor는 호스트 컴퓨터에서 다수의 운영 체제를 동시에 실행하기 위한 논리적 플랫폼을 말합니다. 하나 이상의 가상 머신을 실행하는 컴퓨터가 호스트가 되고 각 가상 머신들은 게스트가 됩니다. Hypervisor는 게스트 운영체제에 가상 운영 플랫폼을 제공하면서 게스트 운영 체제를 관리합니다. 다양한 운영 체제의 여러 인스턴스가 가상화된 하드웨어 리소스를 공유할 수 있습니다. 예를 들면 Linux, Windows 및 mac 인스턴스는 모두 단일 물리적 시스템에서 실행될 수 있습니다. Hypervisor의 유형 Type1 유형 1의 주요 이점은 가상 시스템 혹은 게스트 운영 체제 중 하나의 문제가 하드웨어에서 실행 중인 다른 게스트 운영 체제에 영향을..
2020.11.26 -
Nginx
Nginx란 Nginx는 동시 접속 처리에 특화된 웹 서버입니다. Apache보다 동작이 단순하고, 전달자 역할만 하기 때문에 동시접속 처리에 특화되어 있습니다. Nginx는 Apache의 스레드/프로세스 구조와는 다르게 비동기 처리(Event-Drive)방식을 채택하고 있습니다. Nginx의 역할 HTTP 서버 웹 서버의 역할은 HTTP 프로토콜을 기반으로 HTML, CSS, JavaScript와 같은 정적인 데이터를 웹 브라우저에 전송하는 역할을 합니다. 리버스 프록시 클라이언트가 가짜 서버에 요청을 하면, 프록시 서버가 배후 서버로부터 데이터를 가져오는 역할을 합니다. 여기서 프록시 서버가 Nginx, 리버스 서버가 응용프로그램 서버를 의미합니다. 응용프로그램 서버에 리버스 프록시를 두는 이유는 요..
2020.10.08 -
Apache Section 설정
파일 시스템 섹션 지시어에 포함된 지시어들은 지정한 파일 시스템 디렉토리와 그 하위 디렉토리에 적용됩니다. .htaccess 파일을 이용해도 결과는 똑같습니다. 다음 설정을 예로 들면, /var/web/dir1 이하 디렉토리에서 디렉토리 지시어 적용이 됩니다. Options +Indexes 지시어에 포함된 지시어들은 어떤 디렉토리에 있는지 관계 없이 지정한 이름을 가진 파일에 적용됩니다. 다음 예시를 보면, 파일이 어느 디렉토리에 있는지와 관계 없이 private.html이란 이름을 한 파일의 접근을 거부합니다. Require all denied 는 정규 표현식을 이용해 디렉토리에 대한 설정을 적용합니다. 다음 예시를 보면, '/www/' 디렉토리 하위의 숫자 3개로 구성된 이름의 모든 디..
2020.06.15 -
Apache ErrorDocument 설정
Apache 서버를 운영 중에 오류가 발생했을 때, 404 not foud error, 500 Internal Server Error 등의 에러 메시지가 그대로 노출됩니다. 개발 시 에러 메시지가 노출되면 오류 메시지를 바로 확인 가능하기 때문에 개발하는 입장에서는 수정 개발이 용이한 장점이 있습니다. 하지만 시스템 운영 시에는 일반 사용자가 알 수 없는 에러 메시지를 볼 필요가 없습니다. 또한 오류 발생 시 서버 경로도 노출되기 때문에 프로그램을 조금이라도 아는 사람이 의도치 않은 경로로 접속할 수도 있습니다. 이러한 상황을 방지하기 위해서는 오류 발생 시에 개발자가 의도한 화면이 보여지도록 처리해야 합니다. 이러한 처리는 Apache의 기본 설정을 해주는 httpd.conf 파일에서 할 수 있습니다...
2020.06.09