Denne opplæringen følger opp Installere WordPress i Amazon Cloud, som viser hvordan du optimaliserer nettstedet ditt med caching.
Hvis du selv er vert for WordPress, er det tilrådelig å implementere en slags caching-løsning. Enten du vil kjøre bloggen din i en økonomisk mikro-forekomst hos Amazon's Cloud (AWS), eller forventer at bloggen din får signifikant skala eller trafikkspisser, vil caching være avgjørende for å administrere ytelsen. Caching kan også bidra til å forbedre Google Page Speed som påvirker søkemotorens rangering.
Avhengig av trafikken på nettstedet ditt og kompleksiteten til WordPress-temaet, kan ytelsen faktisk være ganske treg på AWS. Min anbefaling er å kombinere bruk av åpen kildekode Larncache med gratis W3 Total Cache (W3TC) plugin.
Larn er en cache som lagrer kopier av sider for brukere som ikke er logget inn (de fleste lesere er ikke). Når forespørsler kommer inn på serveren din, returnerer Varnish disse forhåndsbygde sidene umiddelbart i stedet for å kreve Apache, PHP og WordPress for å gjenoppbygge siden for hver forespørsel. Som trafikkskalaer kan gjenoppbygging av hver side gjennom WordPress-stakken bokstavelig talt krasje serveren din. Senere kan W3 Total Cache settes opp for å regelmessig forhåndsbygge sider på nettstedet ditt, slik at de alltid er klare til lakk.
Merk: dette er også en god grunn til å vurdere en ekstern kommentar plugin som disqus heller enn innebygde wordpress kommentarer. Disqus JavaScript er cacheable. Hvis kommentatorene logger inn på ditt WordPress-nettsted, vil caching bli brukt mindre ofte, og skalerbarheten din for de mest aktive besøkende vil bli sterkt redusert.
Kraften til Varnish er dramatisk når interessen for nettstedet ditt spikes. Jeg har lykkes med å kjøre mitt eget nettsted med denne konfigurasjonen ved hjelp av en liten Amazon-forekomst for omtrent $ 14,95 månedlig, og håndterer mange forestillinger på BoingBoing, Slashdot et al..
Hvis du vil lære mer om caching, dets fordeler og W3TC, les Ahmad Awais 'introduksjon til caching.
Larn Cache er en caching-modul for Linux. Vi vil sette opp Varnish for å lytte etter HTTP (web) trafikk på port 80 med Apache lytte bare til Larn på port 8080. Når Larnish trenger en side som skal bygges manuelt, vil den sende forespørselen til Apache port 8080.
Dette kan være litt forvirrende i begynnelsen - men ja, vi beveger i hovedsak Apache bak kulissene. Lakk vil fungere som inngangsdør på port 80 for alle dine webforespørsler. Apache vil fungere som en støttende rolle for Lakk på port 8080. Det er ingen offentlig trafikk på port 8080, bare private forespørsler fra Varnish. Hvis du er nysgjerrig på hvordan dette gjelder AWS-sikkerhetsgrupper, er det ikke nødvendig å åpne port 8080.
For å komme i gang må vi installere Varnish på vår forekomst:
sudo apt-get installer lakk
Rediger Apaches port.conf-fil for å lytte på port 8080:
sudo nano /etc/apache2/ports.conf
Slik ser det ut:
Hør 8080
Rediger Apache-konfigurasjonsfilen din for å svare på port 8080:
sudo nano /etc/apache2/sites-available/wordpress.conf
Endre VirtualHost-linjen fra *: 80 til *: 8080
Du må kanskje endre Apache-standardstedet ditt for å lytte på port 8080 eller deaktivere det:
sudo a2dissite 000-default
Flytt de opprinnelige Varnish-konfigurasjonsfilene til hjemmekatalogen som sikkerhetskopier (hvis du bestemmer deg for å se dem senere):
sudo mv / etc / default / lakk ~ / standard lakk-gammel sudo mv /etc/varnish/default.vcl ~ / lakk-default-vcl.old
Bytt ut Larns standardkonfigurasjon med filen som er tilgjengelig her på skjermen. Du kan bruke kopi og lim inn.
sudo nano / etc / default / lakk
Deretter skal du erstatte Varnish VCL-konfigurasjonen med hovedfilen her (igjen kopiere og lime inn).
Advarsel: Det kan hende du får VCL-feil når du forsøker å starte Larn igjen hvis du ikke vedlikeholder linjeskift ved lagring. Linjepausene kan være vanskelig å oppdage, så prøv det nøye. Hvis det er feil når du starter på nytt, er det ganske bra å fortelle deg hvilket linjenummer du skal se på.
sudo nano /etc/varnish/default.vcl
La oss nå starte Apache og Larn:
sudo service apache2 restart sudo service lakk restart
Husk at hvis du får VCL-feil på dette tidspunktet, kan det skyldes ødelagte linjeskift fra å lime inn i Varnish default.vcl-filen.
Besøk nettstedet ditt på http://yourdomain.com, og alt skal begynne å fungere med Varnish. Den andre gangen du laster en statisk side, bør den være betydelig raskere.
W3 Total Cache er et fremragende WordPress-plugin. Det er gratis og gir en enorm ytelsesoptimalisering for nettstedet ditt. Du kan lære mer om W3 Total Cache på sin plugin.
Logg på WordPress-administrasjonssiden din på http://yourdomain.com/wp-admin ved å bruke brukernavnet og passordet du konfigurerte under oppsettet. Velg Plugins -> Add New i venstre sidefelt-meny. Søk etter W3 Total Cache.
På grunn av sin kraft og raffinement har W3 Total Cache et bredt utvalg av innstillinger som kan virke overveldende. Nedenfor gir jeg noen anbefalte innstillinger som gjør det enklere å komme i gang.
Ikke bli overveldet. Start med de generelle innstillingene som vises nedenfor og gå derfra. Hvis du er interessert i å starte raskere, Jeg har gitt instruksjoner for å laste ned standardinnstillingene og importere dem (vist lenger nedenfor).
Alternativt tilbyr W3 Total Cache betalt installasjon og støtte fra $ 150 og oppover. Du kan nå dem gjennom Plugin Dashboard-siden eller deres nettsted. Dette er et flott tillegg, så jeg føler meg bra med å anbefale dem. Jeg har hatt litt erfaring med betalt støtte, og det er generelt bra. Du vil kanskje også vurdere oversikten over W3 Total Cache-installasjonen og FAQ på plugin-nettstedet for mer informasjon.
På et høyt nivå anbefaler jeg at du aktiverer følgende innstillinger som jeg detaljer nærmere nedenfor:
sudo apt-get install php5-dev php5-memcache memcached php-pear build-essensielle php5-tidy php5-curl apache2-dev php-apc
Rediger php.ini-filen din for å aktivere memcache:
sudo nano /etc/php5/apache2/php.ini
I delen Dynamiske utvidelser legger du til linjene nedenfor:
forlengelse = apc.so forlengelse = memcache.so
Fortell Apache å aktivere disse modulene og starte den på nytt:
sudo a2enmod omskrive sudo a2enmod utløper sudo a2enmod overskrifter sudo service apache2 restart
Rediger din wp-config.php-fil for å aktivere caching:
sudo nano /var/www/wordpress/wp-config.php
Legg til følgende WP_CACHE-definisjon over stoppredigeringslinjen:
define ('WP_CACHE', true); / * Det er alt, slutte redigering! Glad blogging. * /
På dette punktet er det nyttig å besøke Dashboard W3TC-plugin og kontrollere at alle de riktige komponentene er aktive. Men først må vi aktivere Fancy Permalinks for URL-formater, som optimaliserer nettstedet vårt for søkemotorindeksering. Fra WordPress Admin Dashboard velger du Innstillinger -> Permalinks, velger Dag og navn og klikker Lagre endringer.
Deretter klikker du Performance -> Dashboard fra venstre sidefelt, og deretter klikker du på Kompatibilitetskontroll. Det skal se slik ut:
Merk: Du kan spare litt tid hvis du velger et tema og installerer andre plugins du planlegger å bruke før du fullfører resten av konfigurasjonsprosessen W3 Total Cache. Hvis du endrer temaer og legger til plugins, vil det medføre at du skal rense og retestere W3 Total Cache-innstillingene.
W3TC fungerer generelt bra med standardinnstillingene. Så, vi må først og fremst konfigurere siden Generelle innstillinger og ikke gå inn i hvert enkelt funksjonsområde.
Gå til siden W3TC Generelle innstillinger. Klikk på Ytelse -> Generelle innstillinger fra venstre sidefelt. Vi kan utføre høyt nivå oppsett her, men da vil vi også gjøre mer detaljert oppsett på individuelle innstillingssider. Jeg går av (ukontrollert) "Slett alle caching-typer på eller av (samtidig)" i den generelle boksen.
Aktiver Page Cache med Opcode Alternativ PHP Cache (APC):
Aktiver Minify med følgende innstillinger. Jeg bruker manuell modus fordi minifisere kan ødelegge noen temaer hvis innstillingene dine er for aggressive (men ditt valgte tema kan fungere fint):
Jeg lar unchecked / off Database Caching som dette anbefales kun hvis du ikke aktiverer Objekt Caching.
Aktiver objektbufferen:
Aktiver nettleserbufferen:
Aktiver omvendt proxy:
Konfigurer W3TC for regelmessig å rense lakkbufferen fra 127.0.0.1 (localhost).
Klikk på Ytelse -> Side Cache fra venstre sidefelt. Bla ned til Cache Preload-boksen. Aktiver "Koble automatisk til sidens cache". Skriv inn sitemap-nettadressen din.
Merk: Du må ha installert Bedre WordPress Google XML Sitemaps plugin før dette vil fungere skikkelig.
Hvis du bruker en CAPTCHA på kontaktskjemaer, vil du inkludere banen til disse sidene i cache-ekskluderingen. Caching en CAPTCHA vil bryte funksjonaliteten. Rull ned til avanserte innstillingsboksen. Legg til filbanen din, f.eks. kontakter her:
Fordi temaet mitt er responsivt, cache jeg mobil- og nettbrettbrukeragenter separat. Med andre ord caches Varnish kopier av ulike responsive layouter på nettstedet mitt. Når en mobil bruker kommer til nettstedet, får de en bestemt fil vs. når en desktop bruker kommer. Hvis innholdet på nettstedet ditt er dynamisk responsivt (for eksempel bare endringer i Javascript og CSS), trenger du ikke å gjøre dette.
Hvis du vil gjøre dette, aktiverer du høy- og lavbrukeragentgrupper:
Jeg aktiverer også Referrer Grupper for søkemotorer:
Minify komprimerer HTML, JS og CSS-koden og kombinerer filer når det er mulig. Dette øker hastigheten på levering av sidene dine og reduserer båndbredden. Det kan imidlertid noen ganger bryte temakoden.
Du må kanskje justere innstillingene for ditt valgte tema. Jeg fant ut at ved å slå av inline CSS-minifisering, fungerer mitt tema godt. Fra venstre sidefelt klikker du Ytelse -> Minifiser:
Hvis du foretrekker å begynne med å importere innstillingsfilen, gjør du følgende:
Det er definitivt verdt å aktivere en CDN. CDN er svært nyttig for å redusere den totale belastningen på serveren din. For eksempel kan W3TC omdirigere forespørsler om bilder og statiske filer som skript og css til Amazons CDN.
Hvis du vil gjøre det, følg instruksjonene på nettstedet mitt for å aktivere Amazon CloudFront. Jeg bruker for øyeblikket Pull-metoden (min opplæring beskriver den eldre Push-metoden).
Det er mange forskjellige måter å overvåke ytelsen til serveren din. W3TC støtter integrasjon med New Relic-overvåkingsmodulen. W3TC tilbyr en dashbord-widget for Google Page Speed, og det finnes også et Google Page Speed-plugin for WordPress. Disse vil være nyttig for deg når du vurderer bloggene dine i dag.
Du bør nå være den stolte eieren av et fullt optimert, selvbehandlet WordPress-nettsted i Amazon Cloud ved hjelp av Varnish og W3 Total Cache. Jeg håper at du har funnet denne to delserien nyttig. Gi oss beskjed om hva som fungerte bra for deg og hva gjorde det ikke.