Wie man Apache mit mod_pagespeed und Memcached auf Ubuntu 16.04 beschleunigt.

Dieses Tutorial zeigt Ihnen, wie Sie die Seitenladezeiten Ihrer Website verbessern können, indem Sie das Google mod_pagespeed-Modul für Apache in Verbindung mit dem schnellen In-Memory-Cache Memcached auf Ubuntu 16.04 (Xenial Xerus) verwenden. Die Seitenladezeit ist ein wichtiger Faktor, um gute Rankings in Suchmaschinen zu erhalten, Sie können die aktuelle Ladezeit z.B. mit dem Google PageSpeed Insights Tool oder mit den Entwicklertools im Firefox Webbrowser testen. Pagespeed ist ein Apache 2 Modul, das den Inhalt einer Website optimiert und zwischenspeichert, bevor er an den Browser übergeben wird. Das Ergebnis ist, dass die Seite geladen wird, die Systemlast auf Ihrem Server abnimmt und der Server in der Lage sein wird, mehr Seiten pro Sekunde zu liefern. Mod_pagespeed verwendet standardmäßig einen Dateisystem-Cache, in diesem Tutorial werden wir den Dateisystem-Cache durch Memcached ersetzen, einen schnellen In-Memory-Caching-Daemon, der die Ladezeit weiter verbessert. Dieses Tutorial ist mit allen Arten von Apache-Setups kompatibel, ich werde einen Ubuntu LAMP-Server als Basis verwenden, aber Sie können auch eines der ISPConfig 3 Perfect Server Tutorials verwenden.

Installation von mod_pagespeed

Google bietet mod_pagespeed.deb-Pakete für 32- und 64-Bit-Ubuntu-Installationen an.

Wie kann man herausfinden, ob man das 32bit- oder 64Bit-Paket benötigt? Führen Sie den Befehl aus:

uname -a

Das Ergebnis des Befehls sollte dem folgenden Screenshot entsprechen.

Ausgabe des uname Befehls auf Ubuntu 16.04.

Wenn der Befehl die Zeichenkette „x86_64“ enthält, dann führt Ihr System einen 64Bit Linux-Kernel aus. In diesem Fall verwenden Sie die folgenden Befehle für 64Bit Ubuntu.

Ubuntu 64 bit (Standard für die meisten aktuellen Server)

cd /tmp
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_amd64.deb 
dpkg -i mod-pagespeed-stable_current_amd64.deb

Ubuntu 32 bit

cd /tmp
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_i386.deb 
dpkg -i mod-pagespeed-stable_current_i386.deb

Starten Sie dann den Apache 2 neu, um die Konfiguration von mod_pagespeed zu laden.

service apache2 restart

Installation von Memcached

Der Memcached-Daemon ist in den Ubuntu-Repositories als.deb-Paket verfügbar und kann mit apt installiert werden:

apt-get -y install memcached

Führen Sie den Befehl „netstat -tap | grep memcached“ aus, um zu sehen, ob Memcached gestartet ist:

netstat -tap | grep memcached

Das Ergebnis des netstat-Befehls soll so aussehen:

Memcachd ist aktiv und läuft.

Der Port wird direkt nach dem Wort localhost angezeigt. In diesem Fall ist der Port 11211, der der Standardport von Memcachedd ist. Wir müssen die Portnummer für die Konfiguration von mod_pagespeed kennen.

Wenn Sie den Memcache aus Ihren PHP-basierten Anwendungen heraus verwenden möchten und nicht nur für mod_pagespeed, dann installieren Sie die PHP Memcached Erweiterung:

apt-get -y install php-memcached

Konfigurieren Sie mod_pagespeed, um Memcached zu verwenden.

Öffnen Sie die Datei pagespeed.conf in einem Editor, ich werde hier den Nano-Editor verwenden:

nano /etc/apache2/mods-available/pagespeed.conf

und suchen Sie nach der Zeile „ModPagespeedMemcachedServers“:

[....]
# ModPagespeedMemcachedServers localhost:11211
[....]

Entfernen Sie das # vor der Linie, so dass die resultierende Linie wie die untenstehende aussieht:

[....]
ModPagespeedMemcachedServers localhost:11211
[....]

Wenn Sie viel Speicher in Ihrem Server haben, können Sie eine weitere Beschleunigung erreichen, indem Sie das # vor dieser Zeile entfernen:

[....]
ModPagespeedCreateSharedMemoryMetadataCache "/var/cache/mod_pagespeed/" 51200
[....]

Starten Sie dann den Apache 2-Server neu, um die neue Konfiguration zu aktivieren.

service apache2 restart

Jetzt verwendet mod_pagespeed Memcached als Speicher-Backend. Du kannst Nutzungsstatistiken von Memcached mit dem Befehl nc erhalten:

echo stats | nc 127.0.0.1 11211
root@server1:/tmp# echo stats | nc 127.0.0.1 11211
STAT pid 2043
STAT uptime 177
STAT time 1461673050
STAT version 1.4.25 Ubuntu
STAT libevent 2.0.21-stable
STAT pointer_size 64
STAT rusage_user 0.008000
STAT rusage_system 0.036000
STAT curr_connections 11
STAT total_connections 12
STAT connection_structures 12
STAT reserved_fds 20
STAT cmd_get 224
STAT cmd_set 148
STAT cmd_flush 0
STAT cmd_touch 0
STAT get_hits 40
STAT get_misses 184
STAT delete_misses 0
STAT delete_hits 0
STAT incr_misses 0
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT touch_hits 0
STAT touch_misses 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 357876
STAT bytes_written 180755
STAT limit_maxbytes 67108864
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT time_in_listen_disabled_us 0
STAT threads 4
STAT conn_yields 0
STAT hash_power_level 16
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT malloc_fails 0
STAT bytes 327546
STAT curr_items 127
STAT total_items 148
STAT expired_unfetched 0
STAT evicted_unfetched 0
STAT evictions 0
STAT reclaimed 0
STAT crawler_reclaimed 0
STAT crawler_items_checked 0
STAT lrutail_reflocked 0
END
root@server1:/tmp#

Testen Sie nun die Geschwindigkeit Ihrer Website erneut, z.B. mit PageSpeed Insights. Wenn Ihre Website noch nicht viel Traffic hat, dann könnte es sein, dass Sie die Webseite ein paar Mal neu laden müssen, um die Caches zu füllen, bevor Sie richtige Ergebnisse erzielen.

Links

Das könnte dich auch interessieren …