Nginx wordpress hosting condiviso

Questo è un ospite post scritti Austin W. Gunter, il Brand Ambassador di Managed Hosting WordPress piattaforma di WP Engine.

lo sviluppo dei WordPress si è intrecciata con Apache sin dall'inizio. WordPress è stato costruito per essere servito su Apache. Recentemente Nginx è salito alla ribalta per servire il traffico proveniente da 11,4% di tutto il traffico noto.

Automattic spostato verso WordPress.com Nginx, e gestita host WordPress come WP motore, e ZippyKid hanno adottato la tecnologia pure. WordPress.com ha dichiarato pubblicamente di avere migliaia di server che servono centinaia di migliaia di richieste al secondo. Trascorro la maggior parte dei miei giorni a parlare di tecnologia server complicato, ma non avevo trovato una buona risorsa per spiegare in realtà, in termini di conversazione, perché Nginx è freddo, perché le persone lo usano, e quali i compromessi sono tra essa e Apache. Questo post ha lo scopo di spiegare ciò che Nginx è ad un livello alto, non di fornire un “come fare” per le persone che potrebbero voler installarlo se stessi.

Nginx condiviso wordpress che ospita C10K sta per concomitante

Prima di tutto, Nginx e Apache non sono uguali, ma ciò che li rende diversi? Ciò che rende Nginx adatto per gestire alte prestazioni web attività di hosting - come ad esempio servire un attacco di richieste simultanee quando un post fa la prima pagina di HackerNews o Reddit? Che cosa hai ancora bisogno di Apache per?

CK10 Problema

Nginx è stato sviluppato, in parte, per risolvere il problema C10K, o l'ottimizzazione software del server web per gestire un gran numero di clienti, allo stesso tempo. C10K acronimo di concorrenti diecimila connessioni. Quando un post sul blog colpisce la prima pagina di HackerNews o Reddit, migliaia di visitatori possono arrivare al tuo sito in una sola volta. Nginx è basato su eventi, ed è fantastico a rispondere alle richieste simultanee.

Connessioni simultanee

Nginx è progettato per gestire migliaia di connessioni simultanee con basso utilizzo della CPU. Si tratta di un non-blocking web server event-driven, utilizzando un singolo processo (o un piccolo numero di processi) per gestire le connessioni che utilizzano evented I / O. Apache ha diversi moduli multi-processing ( “MPM”), ma per la maggior parte dei sistemi Linux, di default di Apache è il MPM “prefork”. Apache consiglia di utilizzare il “lavoratore” MPM a meno che non si sta utilizzando PHP - da PHP non è thread-safe. Una parte di codice è thread-safe se manipola solo strutture dati condivisi in modo da garantire l'esecuzione sicura da più thread contemporaneamente. di Nginx evento a base di”design permette di servire dati in modo rapido, e con molte connessioni simultanee, ma abbiamo sacrificare la capacità di Apache di elaborare PHP

Inoltre, Apache è limitato dal numero di fili deve CPU di eseguire, e processi di Apache sono costosi. Al 50-300MB per processo, dopo la di processi concorrenti, di default è 256, le prestazioni di Apache diminuirà. Nginx, d'altro canto, può gestire 10.000 connessioni simultanee usando circa 2 MB di memoria, non generando nuovi thread o processi. Questo è assurdamente scalabile.

che ospita

Le attività statiche

Nginx è il re di servire statica. Dove Apache deve caricare in memoria mod_php per servire una richiesta di immagine, Nginx consegnerà statica come immagini, javascript, css, html, ecc direttamente al browser con il suo velocissimo I / O. Concettualmente, Nginx trasferisce solo dati, non elaborarlo, ed è per questo che richiede così poche risorse per l'esecuzione.

Quindi, come traduciamo WordPress PHP con Nginx? Apache spesso bundle PHP con i suoi processi, ma per elaborare PHP, Nginx deve essere accoppiato con un processo esterno come FastCGI, PHP-FPM, o HTTP. Questo può essere fatto abbastanza facilmente. Cosa c'è di più, da processi di separazione possiamo realmente vedere più guadagni di velocità con Nginx. Si inoltrerà le richieste di elaborare PHP esternamente, e inviare la risposta al browser.

Inoltre, questi possono essere configurati per elaborare diverse richieste su vari server. Questo è un grosso problema per l'host web o amministratore di sistema, perché significa che possono specificare che richiede andare a quale server, riducendo richiesta arretrato. Significa anche che i processi server e applicazioni possono essere riavviati separatamente.

Caching Proxy

WordPress.com fa un uso pesante della capacità di Nginx per proxy_cache. È possibile programmare Nginx per inviare le richieste al backend, ma sulla via del avere indietro è tenere la richiesta su disco per “X secondi” in modo che i prossimi richieste possono servire la pagina senza dover tornare ad Apache per ogni nuovo utente.

Moduli 3rd Party

Con Nginx guadagnando importanza, stiamo vedendo gli sviluppatori iniziano a creare moduli freddi possiamo compilare in Nginx che aggiungono funzionalità potremmo aver bisogno. Come per qualsiasi progetto open-source, questi moduli sarà probabilmente una fonte primaria di innovazione sul web server.

Questi sono alcuni vantaggi enormi. Ma è importante notare che Nginx non è una soluzione adeguata per le soluzioni di hosting condiviso, e non è certamente necessario per i blog WordPress di tutti i giorni che non vedono alti livelli di traffico. Sotto traffico minimo, i visitatori possono non notare alcuna differenza di velocità tra Apache e Nginx. Si vuole servire WordPress off di Nginx se vi aspettate di sperimentare un giorno picchi di traffico, e si desidera mantenere il vostro sito e il caricamento delle pagine a livello sub 1,5 secondi. Sotto l'elaborazione basata su eventi carico di Nginx, capacità di servire statica in modo rapido, e le richieste proxy_cache dare la capacità di servire decine di migliaia di connessioni su 2MB di CPU. Quella stessa traffico causerebbe Apache a commettere harakiri.

Perché Nginx è così scalabile, Automattic, WordPress.com, e gli host WordPress gestito come WP motore o ZippyKid hanno adottato la tecnologia, di solito insieme ad Apache per servire PHP, e lo usano per fornire di hosting altamente scalabile per decine di migliaia di domini. Apache è ancora il luogo per elaborare le richieste complesse, ma non può tenere il passo con la scalabilità di Nginx.

Qual è il tuo sito in esecuzione su? Avete preso in considerazione l'installazione di Nginx per servire WordPress? Fatemi sapere nei commenti cosa si sta utilizzando.

Passato alla Nginx un paio di settimane fa, dopo essere cresciuto stanco di ricevere email dal mio ospite dicendo che avevo superato il mio allocazione di RAM. ore trascorse cercando di configurare il mio sito per affrontare il traffico pesante su Apache, ma nessuna quantità di caching tweaks .htaccess fatto la differenza. Passato alla Nginx, ha creato un .conf di base e non hanno guardato indietro. l'utilizzo della RAM è sotto controllo e il sito è più reattivo. Brillante.

Sono passato a Nginx un anno fa. Ero molto interessavano nel progetto e non mi è piaciuto Lighttpd.
Risulta, Nginx è solo fantiastic, ed è sicuramente la strada da percorrere.
le richieste di routing con Apache feeld po 'stupido per me al giorno d'oggi ...

Io vedo. Ecco, questo è il motivo per cui ci sono alcuni siti (Beh in realtà tonnellate di loro), anche se sono in esecuzione su Apache, esegue ancora meglio di quelli che sono con NGIX.
Oh, a proposito, che dire di LiteSpeed? Ogni commento di wordpress in esecuzione su LiteSpeed? LiteSpeed ​​sostiene che essi sono 6 volte più veloce rispetto Apache

Non credo che Nginx si comporta meglio di Apache, non nel sito web wordpress. PHP e Apache sono come fratelli e molti script sono scritti con Apache come webserver la prima scelta, l'unico problema è mentre Nginx è ‘moderno’ e gestisce il traffico scoppio davvero bene, Apache rimane ‘antica’ e di destinazione sempre in tutta la prestazione rotonda. La questione della raffica di traffico può essere gestito con il bilanciamento del carico. Mi piace Apache a causa della sua tutte le prestazioni rotonde. WordPress non manca di dire con coraggio che non hanno nulla contro Nginx ma Apache rimane ancora la prima scelta - codex.wordpress.org/Nginx

Avete eseguire qualsiasi analisi comparativa delle prestazioni per vedere se Nginx esegue effettivamente meglio o peggio nel vostro ambiente? E 'una cosa a cui pensare e sentire, ma è un'altra cosa per testarlo.

Usiamo Nginx qui WPForce.com e funziona davvero bene, molto meglio di Apache abbia mai fatto per noi.

Allo stesso modo, sia WordPress.org e WordPress.com eseguiti su Nginx - WordPress.com è il più grande singola installazione di WordPress su Internet.

Così ho recentemente migrato da un host all'altro. ospite precedente aveva il mio WP sito in esecuzione su Apache. Quando ho creato al nuovo ospite, il valore predefinito è stato Fast-CGI (e nginx suppongo) e non se ne accorse o prestare attenzione alla differenza.

Tutto stava funzionando bene, e veloce, sui nuovi VPS, ma dopo pochi giorni ho cominciato a incontrare “502 errore porta male - nginx” errori. Succede quando sto inviando un post sul blog, e cliccare su “anteprima”. Riesco ancora a pubblicare quel post, ma quando lo faccio ci sono un sacco di pezzi di pagina rotto (varie chiamate php, ecc) ma il post è lì e nel tatto.

Posso ripristinare il sito di nuovo ad un punto precedente e che corregge il problema per un paio di messaggi (o giorno), e poi il problema si ripresenta.

Ho fatto aggiungere 3 nuovi plugin durante la migrazione (sicurezza, AdRotate e super cache). Ho provato a rimuovere i plugin di sicurezza e di AdRotate per vedere se questo è il problema, e il problema persiste. l'unico che non ho tolto è super cache.

tutte le idee su che cosa potrebbe causare questi 502 errori di gateway cattivi? Non ha mai avuto questo quando in esecuzione su Apache.

Articoli Correlati

MAMP di vivere del server di hosting wordpressCiao, ho cominciato ad avere alcuni problemi recentemente con un sito WordPress che ho costruito utilizzando MAMP e poi trasferito in un server di vivere. Avrei costruito un sito e lanciarlo, sembrava bene, poi ...
Web hosting per wordpress australianoSe si desidera un sito web veloce e reattivo, avete bisogno di ospitare il più vicino possibile a dove si sta. Durante la visualizzazione di un sito, si effettuano le richieste avanti e indietro dal server, e il più lontano ...
Auto di hosting wordpress vs plug-inda Tim Dorr / Flickr Quando si tratta di stabilire il vostro sito web dell'autore, uno dei temi più confusa è self-hosting: cosa significa, perché è vantaggioso, e quando si dovrebbe fare. Che cosa...
Miglior hosting per wordpress zoo australiaOggi voglio dare un'occhiata a quanti di WordPress top società di hosting sono all'altezza da un punto di vista puramente prestazioni. Ora sarò il primo ad ammettere che avere i server più veloci ...
SkaDate requisiti per wordpress che ospitaPer eseguire WordPress si consiglia vostro host supporta: Questo è veramente. Si consiglia di Apache o Nginx come server più robusta e ricco di funzioni per l'esecuzione di WordPress, ma qualsiasi server che supporta PHP ...