Nginx에 공유 호스팅 워드 프레스

이 오스틴 W. 건터, WP 엔진의 관리 워드 프레스 호스팅 플랫폼의 브랜드 대사 쓴 게스트 게시물입니다.

워드 프레스의 개발은 처음부터 아파치와 얽혀있다. 워드 프레스는 아파치에 게재 될 지어졌습니다. 최근 Nginx에 알려진 모든 트래픽의 11.4 %의 트래픽을 제공하는 굴지에 상승했다.

오토매틱은 Nginx에에 WordPress.com를 통해 이동 및 WP 엔진처럼 워드 프레스 호스트를 관리하고, ZippyKid뿐만 아니라 기술을 채택했다. WordPress.com 공개적으로 그들이 초당 요청 수십만를 제공하는 서버의 수천 주장했다. 나는 복잡한 서버 기술에 대해 이야기 내 일의 대부분을 지출하지만, 사람들이 그것을 사용하여, 어떤 장단점이와 아파치 사이에 왜 Nginx에이 멋진 이유는, 대화 측면에서 실제로 설명하는 좋은 자료를 발견하지 않았다. 이 포스트는 그것을 자신을 "어떻게"할 수 있습니다 사람들을위한을 설치 제공, Nginx의 높은 수준에서 무엇을하지 설명하기위한 것입니다.

Nginx와는 C10K 동시 의미 호스팅 워드 프레스를 공유

첫째, Nginx에와 아파치는 동일하지 있지만 다른 무엇 무엇입니까? 이러한 게시물 HackerNews 또는 레딧의 첫 페이지을 할 때 동시 요청의 공격을 봉사와 - 어떻게 Nginx에 고성능 웹 호스팅 작업을 처리하는 데 적합하다? 당신은 여전히 ​​아파치가 필요합니까?

CK10 문제

Nginx와는 부분적으로 개발 된 C10K 문제를 해결하기 위해, 또는 웹 서버 소프트웨어를 최적화하는 동시에 많은 수의 클라이언트를 처리 할 수 ​​있습니다. C10K 동시 만 연결을 의미합니다. 블로그 게시물 HackerNews 또는 레딧의 첫 페이지를 명중 할 때, 수천 명의 방문자가 한 번에 귀하의 사이트에 도달 할 수 있습니다. Nginx에 이벤트 기반, 동시 요청에 응답에서 환상적이다.

동시 연결

Nginx와 낮은 CPU 사용률과 동시 연결의 수천을 처리 할 수 ​​있도록 설계되어있다. 그것은 인 비 차단 evented I / O를 이용하여 연결을 처리하는 하나의 프로세스 (프로세스 또는 소수)를 사용하여, 이벤트 기반 웹 서버. 아파치는 여러 다중 처리 모듈 ( "MPM")를 가지고 있지만, 대부분의 리눅스 시스템에 아파치의 기본은 "prefork의"MPM입니다. 아파치는 PHP를 사용하지 않는 한 "노동자"MPM을 사용하는 것이 좋습니다 - PHP는 스레드로부터 안전하지 않기 때문에. 코드의 조각은 단지 동시에 여러 스레드에 의해 안전 실행을 보장하는 방식으로 공유 데이터 구조를 조작하는 경우 스레드 안전합니다. Nginx와의 이벤트 기반는 "디자인은 많은 동시 연결하여, 데이터를 신속하게 제공 할 수 있습니다,하지만 우리는 PHP를 처리하는 아파치의 능력을 희생

또한, 아파치는 그것을 실행하는 CPU를 가지고 있으며, 아파치 프로세스가 비용이 많이 드는 얼마나 많은 스레드에 의해 제한된다. 프로세스 당 50-3백메가바이트에서 동시 프로세스의 후, 기본값은 256이며, 아파치의 성능이 저하됩니다. Nginx에, 다른 한편으로는, 결코 새로운 스레드 또는 프로세스를 산란하지, 메모리 2MB의 사용 10,000 개의 동시 연결을 처리 할 수 ​​있습니다. 그건 터무니 확장 성입니다.

호스팅

고정 자산

Nginx와는 정적 봉사 왕이다. 아파치가 이미지 요청을 처리하기 위해 메모리에 mod_php를로드하는 경우, Nginx에 직접 자사의 I / O 빠른 타오르는와 브라우저 등 이미지, 자바 스크립트, CSS, HTML, 같은 정적을 제공합니다. 개념적으로, Nginx에 그냥 실행 이렇게 몇몇 자원을 필요 이유입니다, 결코 그것을 처리하지, 데이터를 전송합니다.

그래서 우리는 어떻게 Nginx와 함께 워드 프레스 PHP를 번역합니까? 아파치가 종종 프로세스와 PHP를 번들하지만, PHP를 처리하기 위해, Nginx에 FastCGI를, PHP-FPM, 또는 HTTP와 같은 외부 프로세스와 결합 될 필요가있다. 이것은 비교적 쉽게 수행 할 수 있습니다. 무엇보다, 분리 공정에 의해 우리가 실제로 Nginx에 더 속도 향상을 볼 수 있습니다. 그것은 외부 PHP를 처리하기 위해 요청을 전달하고, 다시 브라우저에 응답을 보내드립니다.

또한 이러한 다양한 서버에 다른 요청을 처리 할 수 ​​있습니다. 그들이 요청 백 로그를 줄일 수있는 서버로 이동 요청을 지정할 수 있음을 의미하기 때문에, 웹 호스트 또는 시스템 관리자를위한 큰 문제입니다. 또한 서버 및 응용 프로그램 프로세스가 개별적으로 다시 시작할 수 있다는 것을 의미한다.

프록시 캐싱

WordPress.com은 proxy_cache하는 Nginx에의 능력을 많이 사용한다. 당신은 백엔드에 요청을 보낼 Nginx에 프로그램하지만, 돌아 오는 길에 밖으로 다음 요청이 각각의 새로운 사용자에 대한 아파치로 되돌아 갈 필요없이 페이지를 제공 할 수 있도록이 "X 초"를 디스크에 요청을 보유 할 수 있습니다.

제 3 자 모듈

Nginx에 우리가보고있는, 명성을 얻고 개발자는 우리가해야 할 기능을 추가 우리는 Nginx에로 컴파일 할 수 있습니다 멋진 모듈을 만들 시작합니다. 모든 오픈 소스 프로젝트와 마찬가지로,이 모듈은 가능성이 웹 서버에 혁신의 핵심 원천이 될 것입니다.

사람들은 몇 가지 큰 장점이 있습니다. 그러나 Nginx에 공유 호스팅 솔루션에 대한 적절한 해결책이 아니다주의하는 것이 중요하고, 트래픽의 높은 수준이 표시되지 않는 일상 워드 프레스 블로그에 대해 확실히 필요는 없습니다. 최소한의 트래픽에서 방문자는 아파치와 Nginx의 사이의 속도 차이를 느낄 수 없습니다. 당신은 당신이 언젠가 트래픽 급증을 경험하고, 서브 1.5seconds에서 사이트까지 로딩 페이지를 유지하려는 기대 경우 Nginx에 떨어져 워드 프레스를 제공하고자합니다. 부하의 Nginx의 이벤트 기반 처리에서 능력을 신속하게 정적 서비스를 제공하고, proxy_cache 요청은 그것을 CPU 2MB의에 수만 수천 개의 연결의 서비스를 제공 할 수있는 기능을 제공합니다. 같은 트래픽은 harakiri를 저지하는 아파치를 일으킬 것입니다.

Nginx에 매우 확장 성이 있기 때문에, 오토매틱은 WordPress.com는 WP 엔진 또는 ZippyKid 같은 관리 WordPress의 호스트와는 PHP를 제공하는 것이 아파치와 함께이 기술을 채택하고, 수십 도메인의 수천을 위해 대규모로 확장 호스팅을 제공하는 데 사용하고 있습니다. 아파치는 여전히 복잡한 요청을 처리 할 수있는 곳이지만, Nginx에의 확장 성을 유지할 수 없습니다.

사이트는 무엇을 실행중인? 당신은 워드 프레스를 제공하기 위해 Nginx에 설치를 생각 해 봤나? 내가 당신이 사용중인 코멘트에 알려주십시오.

내 RAM 할당을 통해 갔던 말을 내 호스트에서 이메일을 피곤 성장 후 몇 주 전에 Nginx에로 전환. 내 사이트를 구성하려고 시간을 보냈다는 무거운 아파치 트래픽하지만 캐싱 아무리 대처하기 비틀기의 .htaccess 차를 만들었다. Nginx에로 전환, 기본의 .conf을 만들어 뒤돌아하지 않았습니다. RAM의 사용은 통제하고 사이트가 더 반응이다. 훌륭한.

나는 1 년 전에 Nginx에로 전환. 나는 매우 프로젝트에 interessted 된 lighttpd를 좋아하지 않았다.
Nginx에 그냥 fantiastic, 그리고 확실히 갈 수있는 방법입니다 밝혀졌습니다.
아파치와 라우팅 요청은 요즘 나에게 좀 바보 feeld ...

내가 참조. (그들도 실제로 톤) 일부 사이트가 왜 그래서 그들은 아파치에서 실행 되더라도이다, 여전히 NGIX에있는 사람들보다 더 나은 수행합니다.
아, 그런데, 무엇 LiteSpeed를 어떻습니까? LiteSpeed를 실행 워드 프레스의 모든 의견? LiteSpeed를들은 아파치보다 더 빨리 6 배되는 주장

내가 Nginx에 아파치보다하지 워드 프레스 웹 사이트에서 더 좋은 성능을 생각하지 않습니다. PHP와 아파치가 형제처럼 많은 스크립트는 첫 번째 선택의 웹 서버로 아파치와 기록 된, 유일한 문제는 Nginx에이 '현대'이고 정말 잘 트래픽 버스트를 처리하는 동안, 아파치는 '고대'남아 있고 항상 모든 라운드 성능 목표입니다. 트래픽 버스트의 문제는로드 밸런싱으로 처리 할 수 ​​있습니다. 이 모든 라운드 공연의의 때문에 나는 아파치를 좋아한다. 워드 프레스은 Nginx에 대해 아무것도하지만, 아파치는 여전히 첫 번째 선택이 남아 담대하게 말을 실패하지 않습니다 - codex.wordpress.org/Nginx을

당신은 Nginx에 실제로 환경에서 좋든 나쁘 수행 있는지 확인하기 위해 어떤 성능 벤치 마크를 실행 적이 있습니까? 그것은 생각하고 느끼는 한 가지,하지만 그것을 테스트하는 또 다른 일이다.

우리는 여기 WPForce.com에 Nginx에를 사용하고 아파치 이제까지 우리보다 훨씬 더, 정말 잘 실행됩니다.

WordPress.com 인터넷에서 워드 프레스의 가장 큰 단일 설치되는 - 마찬가지로, WordPress.org 및 WordPress.com 모두의 Nginx에서 실행됩니다.

그래서 최근 한 호스트에서 다른 호스트로 마이그레이션. 이전 호스트는 아파치에 내 WP 사이트를 실행했다. 나는 새 호스트에 설정할 때, 기본은 패스트 CGI (와의 nginx 내가 추정)이었고, 통지 또는 차이에주의를 지불하지 않았다.

모든 새로운 VPS에, 좋은, 빠른 실행했지만, 며칠 후 나는 "502 불량 게이트웨이 오류 - nginx를"발생하기 시작 오류. 내가 블로그 게시물을 게시하고 클릭하고 때 나는 아직도 해당 게시물을 게시 할 수 있습니다 "미리보기."어떻게,하지만 난 깨진 페이지의 조각 많은 (등 다양한 PHP를 호출)가 할 수 있지만 때 게시물이 있습니다 와 재치한다.

나는 이전 지점으로 다시 사이트를 복원 할 수 있습니다 그 후 몇 게시물 (또는 일), 그리고 문제의 반환에 대한 문제를 해결합니다.

나는 3의 새로운 플러그인 마이그레이션 (보안, adrotate 슈퍼 캐시)를 추가했다. 나는 그 문제인지 확인하기 위해 보안 및 adrotate 플러그인을 제거 시도하고 문제가 지속됩니다. 내가 제거하지 않은 단 하나의 슈퍼 캐시입니다.

이 502 불량 게이트웨이 오류의 원인이 될 수 있는지에 어떤 아이디어? 아파치에서 실행중인 경우이 없었어요.

관련 기사

MAMP 서버 호스팅 워드 프레스 살안녕하세요, 저는 MAMP를 사용하여 구축 한 후 라이브 서버로 전송 워드 프레스 사이트에 최근 몇 가지 문제를 가지고 시작했습니다. 내가 사이트를 구축 할과를 시작, 그 다음, 잘 보았다 ...
워드 프레스 호주 호스팅 웹당신이 빠르고 반응 웹 사이트를 원하는 경우에, 당신은 가까운 당신이 어디에 당신이 수있는 호스트 할 필요가있다. 사이트를 볼 때, 당신은 앞뒤로 서버에서 요청을하고, 더 멀리 ...
워드 프레스 플러그인 대 셀프 호스팅당신이 그것을해야 할 때 유리한 이유는, 무엇을 의미하는지, 그리고 : 팀 도어 / 플리커 그것은 당신의 저자 웹 사이트, 더 혼란 항목 중 하나를 구축에 관해서 의해 자체 호스팅입니다. 뭐...
워드 프레스 호주 동물원위한 최고의 호스팅오늘은 호스팅 업체가 순수하게 성능의 관점에서까지 측정 맨 워드 프레스의 얼마나 많은 살펴보고 싶다. 지금은 가장 빠른 서버를 가진 것을 인정하는 첫번째있을거야 ...
Skadate은 워드 프레스에 대한 요구 사항을 호스팅워드 프레스를 실행하려면 우리는 호스트가 지원 추천 : 그건 정말입니다. 우리는 워드 프레스를 실행하기위한 가장 강력하고 풍부한 기능 서버,하지만 PHP를 지원하는 서버로 아파치 또는 Nginx에 추천 ...