우리는 최초의 웹 서버가 출시된 이후로 먼 길을 왔습니다. 이제 더 많은 흥미로운 옵션이 있습니다.
프로젝트마다 요구 사항이 다르지만 오픈 소스 웹 서버 부서는 거의 독점이었습니다. 오랫동안 Apache는 유일한 옵션이었고 고부하를 처리하는 것은 뒤쪽에 고통이었습니다. 고맙게도 시대가 바뀌었고 특수한 요구 사항에 맞는 새로운 솔루션이 등장했습니다.
따라서 오늘날 사용 가능한 가장 훌륭하고 인기 있는 오픈 소스 웹 서버를 살펴보겠습니다.
목차
아파치
World Wide Web과 거의 동의어이며 여전히 전 세계 대부분의 웹 사이트를 지원합니다.
Apache가 우세한 이유는 세 가지입니다. 공개 라이선스, 초기 진입(이것은 1995년에 출시되었습니다!), PHP의 손쉬운 배포입니다. 마지막 요점은 mod_php 모듈을 통해 가능해졌습니다. 즉, Apache를 설치하는 것만으로 PHP로 개발할 수 있습니다.
다음은 만드는 것입니다. 아파치 엄청난:
- Linux, Windows, MacOS 및 기타 플랫폼의 모든 플랫폼에서 사용 가능합니다.
- 모든 CPanel 공유 호스팅의 기본 서버이므로 사이트를 쉽게 설정하고 변경할 수 있습니다.
- 방대한 컬렉션을 통해 제공되는 수많은 기능 모듈. 요구 사항이 아무리 모호하더라도 Apache에 대한 기존 모듈이 있어야 합니다.
- .htaccess 파일을 통한 디렉토리별 구성.
- HTTP/2, 압축, 정적 파일 및 로드 밸런싱을 지원합니다.
- 높은 동시성을 제공하기 위한 MPM 및 FastCGI 모드.
- Lua를 통한 쉬운 스크립팅.
아파치가 당신에게 적합합니까?
간단히 말해서 그렇습니다. Nginx(다음으로 고려할 것)가 고성능으로 인해 인기를 끌던 때가 있었지만 Apache는 2.2 릴리스 이후에 따라 잡았습니다. 즉, 모든 초기 진입자와 마찬가지로 Nginx는 기능에 대한 (무효한) 비판을 접할 수 있도록 많은 관심을 기울였습니다.
엔진엑스
“kool-aid” 분수에서 물을 마시는 것을 좋아한다면(또는 정치적으로 정확하려면 “최신” 개발을 따르십시오) 엔진엑스 (“engine-x”로 발음되며, 이는 이름 뒤에 있는 아이디어였습니다). 그것은 2002년 당시의 솔루션이 CK10 문제(기본적으로 수천 개의 동시 연결 처리).
Nginx가 나왔을 때 사람들은 Apache에서 멀리 이동하고 결코 뒤돌아보지 않을 정도로 큰 인기를 얻었습니다. 그리고 그 추세는 오늘날에도 계속되고 있습니다. Apache는 오늘날 틀림없이 동등하지만 Nginx는 승리하는 데 도움이 되는 몇 가지 놀라운 개선 사항을 제공했습니다.
- 고부하 처리를 위한 비동기 아키텍처
- 동급 최고의 정적 파일 처리, 로드 밸런싱 및 역방향 프록시 기능.
- FastCGI 캐싱
- 캐싱을 통해 uwsgi, SCGI 및 기타 서버 프로토콜을 지원합니다.
- FLV 및 MKV 스트리밍을 사용한 Gzipping, 이미지 변환, 바이트 범위, 청크 응답 등.
- WebSocket, keepalive 및 파이프라인 연결
- 액세스 제어, 오류 리디렉션 등
대체로 Nginx는 앞서가는 여러 기능을 갖춘 강국입니다. 기본 회사는 지속 가능한 비즈니스이기 때문에 복잡한 프로젝트에 대해 유료 지원 및 컨설팅이 제공되며 일부는 유용할 수 있습니다.
Nginx가 당신에게 적합합니까?
웹 애플리케이션을 원하는 대로 설계하고 싶다면 Nginx가 큰 장점입니다. Nginx를 사용하여 여러 최적화가 포함된 정적 파일을 직접 제공하는 것 외에도 강력한 캐싱, 프록시 및 로드 밸런싱을 사용하여 복잡하고 분산된 시스템을 설계할 수 있습니다.
그리고 네, Nginx는 HTTP/2 준비가 되어 있습니다.
Nginx 학습에 관심이 있으십니까? 이것을 확인하십시오 기초과정.
캐디
최근 오픈 소스 커뮤니티에서 가장 인기 있는 새 프레임워크 중 하나는 다음과 같습니다. 캐디.
Caddy를 Nginx와 유사한 웹 서버(비슷한 구문 및 모든 것)로 생각하지만 모든 것이 즐거운 극단으로 단순화됩니다. 예를 들어 SSL용 Let’s Encrypt 통합은 단 세 줄의 구성으로 수행할 수 있습니다.
Caddy가 주목받는 이유는 다음과 같습니다.
- HTTPS는 기본적으로 활성화되어 있습니다. 예, SSL 인증서를 설치하거나 갱신하기 위해 아무 것도 할 필요가 없습니다.
- HTTP/2가 주요 초점을 얻습니다.
- 기본적으로 TLS 세션 티켓 키를 회전합니다. 이것은 Heartbleed와 같은 것에 취약하지 않은 훨씬 더 안전한 TLS 연결 관리를 가능하게 합니다.
- 종속성 없음(기본 시스템 라이브러리에 의존하지 않는 Golang 컴파일 바이너리 코드베이스임)
- 기본적으로 현재 디렉토리에 있는 정적 파일을 제공합니다!
- Embeddable — 다른 프로그램에서 라이브러리로 사용할 수 있습니다.
캐디가 당신을 위해 있습니까?
단순함을 갈망하고 Apache 및 Nginx와 같은 둔한 구성에 의해 연기되는 경우 Caddy는 신선한 공기처럼 느껴질 것입니다. 즉, 기본값에 만족할 때 가장 잘 작동합니다. 예를 들어, SSL 제공자를 사용하고 싶다면 정적 파일을 위한 별도의 디렉토리가 있어야 합니다(거의 항상 그렇습니다).
당신은 얻을 수 있습니다 캐디 온 카마테라 VM은 월 $4부터 시작합니다.
Lighthttpd
대부분의 최신 웹 서버가 실패하는 영역 중 하나는 리소스 사용입니다. Lighthttpd 메모리와 CPU가 적은 환경에서 이러한 문제를 극복하도록 설계되었습니다.
Lighthttpd는 비동기식 요청 처리 모델을 기반으로 하므로 기본적으로 Nginx의 작동 방식을 반영합니다. 그러나 한 가지 문제가 있습니다. Lighthttpd는 단일 스레드에서 작동하므로 더 유능한 시스템이 있다면 다른 CPU 코어를 무시할 것입니다. 또한 SSL 프록시, HTTP/2 등과 같은 Nginx의 멋진 기능이 부족합니다.
Lighthttpd가 당신에게 적합합니까?
Lighthttpd는 초당 수백 개의 요청을 쉽게 처리하면서도 시스템 리소스를 쉽게 사용할 수 있는 유능한 단일 스레드 웹 서버입니다. 그 외에는 대안과 비교할 때별로 제공 할 것이 없습니다. 따라서 모든 종소리와 휘파람이 필요하지 않고 기계 리소스에 대해 정말로 땀을 흘리고 있다면 Lighthttpd를 탐색할 가치가 있습니다.
원숭이 서버
특이한 이름에도 불구하고 원숭이 웹 서버는 계속해서 활발하게 개발되고 지원되는 흥미로운 프로젝트입니다.
MonkeyServer의 주요 매력은 임베디드 플랫폼에 대한 지원입니다. 서버를 직접 컴파일해야 하지만 모든 번거로움을 없애고 가볍고 빠른 웹 서버로 끝낼 수 있습니다.
- 주로 Linux를 대상으로 하지만 MacOS에서도 지원됩니다.
- ARM 기반 프로세서에 대한 완벽한 지원
- Android, Raspberry Pi 및 기타 임베디드 플랫폼에서 완벽하게 작동
- 최소 런타임(플러그인 없이 100KB)
- IPv6 및 TLS 지원
- CGI 및 FastCGI와 함께 작동
- 기본 인증, 보안 규칙 등
MonkeyServer가 당신을 위한 것입니까?
임베디드 장치를 대상으로 하려는 경우 MonkeyServer가 거의 필요합니다. 즉, x86 및 x86-64 아키텍처에서 똑같이 잘 작동하며 강력한 시스템에서 대규모 애플리케이션을 실행하는 데 사용할 수 있습니다. 다른 대체 웹 서버보다 훨씬 더 활발하고 활기찬 커뮤니티가 있으므로 도움이 필요할 때 길을 잃지 않습니다.
오픈라이트스피드
오픈라이트스피드 LiteSpeed Technologies에서 제공하는 엔터프라이즈 웹 서버의 오픈 소스 버전입니다.
OpenLiteSpeed를 좋아하는 데에는 여러 가지 이유가 있습니다.
- Apache의 mod_rewrite와 호환됩니다. 즉, 기존 Apache 파일이 많은 경우 마이그레이션이 최소한의 고통이 될 것입니다.
- Nginx를 기반으로 하는 이벤트 기반 아키텍처로 높은 처리량을 제공합니다.
- GUI 기반 관리 인터페이스로 쾌적한 구성 경험을 제공합니다.
- PHP용 네이티브 SAPI로 더 높은 성능을 제공합니다.
- 기본적으로 캐싱 및 Google PageSpeedInsights 최적화가 적용됩니다.
OpenLiteSpeed가 당신에게 적합합니까?
OpenLiteSpeed는 페이지 최적화가 이미 서버의 일부이기 때문에 WordPress 기반 콘텐츠 기반 웹사이트에 적합합니다. PHP 성능을 위해 미세 조정되었기 때문에 PHP 기반 코드베이스와 프로젝트는 엄청난 이점을 얻을 수 있습니다.
체로키
그만큼 체로키 프로젝트는 괜찮은 웹 서버 플랫폼으로 성장한 개발자의 개인적인 가려움증이었습니다. Nginx와 같은 최첨단 기능은 없지만 주류 웹 서버에 대한 쉽고 재미있고 성능이 뛰어난 대안을 제공합니다.
Cherokee의 가장 큰 승리는 단순성입니다. 서버 구성을 위한 명령줄로 땀을 흘릴 필요가 없습니다. 친숙한 웹 기반 인터페이스가 패키지로 제공되며 포인트 앤 클릭 방식으로 작업을 수행하는 것을 선호하는 사용자에게 매우 적합합니다.
출처: 리노드
Cherokee는 그다지 활발히 개발되지 않았지만 대부분의 일상적인 프로젝트에 여전히 적합합니다. 그것을 확인하십시오!
결론
인생은 웹 서버 없이는 의미가 없으며 고맙게도 지금 선택할 수 있는 것이 꽤 있습니다. 가장 좋아하는 오픈 소스 웹 서버는 무엇입니까? 목록의 필수 항목을 놓쳤다고 생각되면 댓글로 알려주세요. 기꺼이 추가하겠습니다! 🙂