Springe zum Inhalt

Gegenüber Apache ist Nginx ein reiner Datenauslieferer. Anwendungen werden hier nicht wie beim Apache als Module geladen, sondern müssen als eigenständige Prozesse, über FastCGI erreichbar, bereitgestellt werden. Um PHP bereitzustellen kann PHP-FPM verwendet werden. Über FastCGI kann es entweder über einen Unix-Socket oder per TCP/IP angesprochen werden und mit Nginx kommunizieren.

Um die Serverlast im Auge zu behalten kennt man unter Apache die vom Modul mod_status bereitgestellt Statusseite. Unter Nginx kann mit stub_status on; ebenfalls an entsprechender Stelle eine Statusseite eingeschaltet werden. Für PHP-FPM müssen mehre Einstellungen vorgenommen werden. ...weiterlesen "Nginx: PHP-FPM Statusseite einschalten"

Mit dem WordPress-Plugin Cachify steht eine Lösung zur Verfügung, die ein einfaches Zwischenspeichern von dynamisch erzeugten Webseiten bietet. Die Inhalte können mit unterschiedlichen Methoden zwischengespeichert werden. Unterstützt werden APC, Disk, DB und Memcached (nur mit Nginx). Da ich hier Nginx einsetze, bietet sich Memcached als schnellste Variante an. Wie Cachify und Nginx dann zu konfigurieren sind kann im Cachify-Wiki nachgelesen werden.

Die erfolgreiche Konfiguration läßt sich einfach überprüfen: es wird an das Ende der jeweiligen Webseite ein HTML-Kommentar von Cachify eingefügt. Ist dieser im Quelltext der Seite vohanden, dann wurde die Seite aus dem Cache, bei mir also von Nginx/Memcached ausgeliefert.

Nach ein paar Tests stellte sich heraus, dass genau eine Seite hier aus dem Blog nicht zwischengespeichert wird. Nach langem Suchen fand ich dann den Grund: der Seitenquelltext ist größer als 1 MB (bedingt durch sehr viele Kommentare auf der Seite) und Memcached speichert in der Standardkonfiguration nur Items bis zu einer Größe von 1 MB.

Ab der Version 1.4.2 von Memcached kann diese Größe konfiguriert werden. Unter Debian 8 fügt man dazu in die Datei /etc/memcached.conf eine neue Zeile mit z.B.

ein. Damit wird die Maximalgröße eines Items auf 2 MB angehoben. Anschließend muss Memcached neu gestartet werden. Mit folgendem Kommando lassen sich die aktuellen Einstellungen eines laufenden Memcached anzeigen:

Unter item_size_max ist die neue Einstellung zu erkennen. Alternativ kann auch phpMemcachedAdmin verwendet werden, um den Inhalt der Caches anzuzeigen.

3

Nach der Umstellung auf Zertifikate von Let's Encrypt hat sich das Ranking des Blogs in Bezug auf sichere Transportverschlüsselung gegenüber der vorherigen Konfiguration weiter erhöht. Gründe dafür sind der verwendete Signaturalgorithmus SHA256 für den Zertifikatskey und der Einsatz von HSTS.

Qualys SSL Test blog.tausys.de

HSTS kann in Nginx ganz einfach mit einer einzigen Zeile an entsprechender Stelle aktivieren werden:

Dadurch wird festgelegt, dass der Browser für den angegebenen Zeitraum (hier 31536000 Sekunden =  365 Tage) ausschließlich verschlüsselte Verbindungen mit dieser Domain nutzt. Da diese Einstellung im Browser des Besuchers gespeichert wird, sollte vor der Aktivierung unbedingt getestet werden, ob auf der Webseite auch wirklich nur Ressourcen eingebunden sind, die per HTTPS abgerufen werden können.

Es sollte gleichzeitig auch noch folgender Header eingefügt werden, der verhindert, dass die Webseite in einem Frame eingebunden werden kann.

Auf der Webseite von Qualys kann jeder selbst überprüfen, ob die Transportverschlüsselung des eigenen Webserver korrekt konfiguriert ist.

Munin wird dazu verwendet, Laufzeitwerte über verschiedene Dienste oder Rechner zu sammeln und diese statistisch in Grafiken auf einer eigenen Webseite aufzubereiten. Bei Über- oder Unterschreiten eines Grenzwertes können entsprechende E-Mails versenden. Die gesammelten Daten werden rollierend in RRDs (Robin-Round-Database) festgehalten.

In der Standardkonfiguration wird in den meisten RRDs nur jeweils ein Wert gespeichert. Das ergibt z.B. bei 10 Hosts á 20 zu speichernden Werten 200 RRDs, die von Munin alle 5 Minuten (dem Standard-Abfrageintervall) fast gleichzeitig geschrieben werden. Diese Häufung von IOs, zumal sie nicht gestreckt über den gesamten Zeitraum sondern punktuell auftritt, kann für große Installationen schnell zum Problem werden. Im Folgenden wird eine Methode vorgestellt, wie diese Festplatten-Last um den Faktor 10 gesenkt werden kann. ...weiterlesen "Munin: Optimierung der Festplatten-IOs"

1

Mit dem Service von Let's Encrypt steht die Möglichkeit zur Verfügung, kostenlos Zertifikate für Webserver zu erhalten um die Webseite per HTTPS, also verschlüsselt, zugänglich zu machen. Für den Webserver Apache kann das Zertifikat automatisch erzeugt, signiert und installiert werden. Für Nginx ist in der Let's Encrypt-Installation zwar ein Modul enthalten, dieses ist nach eigenen Angaben jedoch noch nicht für den produktiven Einsatz ausgelegt. ...weiterlesen "Let’s Encrypt, Nginx und viele Hosts"