Nginx Status Seite aktivieren

Genau wie beim Apache2 gibt es auch für den Nginx eine Status Seite, die Informationen zur Auslastung des Servers in Echtzeit bereitstellt. Anhand dieser Informationen lässt sich nicht nur die Konfiguration des Servers optimieren, sondern auch ein Monitoring mittels Nagios implementieren

Vorraussetzungen

Damit man die Status Seite aktivieren kann, muss Nginx mit dem HttpStubStatusModule Modul installiert sein. mit folgendem Befehl kann man das überprüfen.

$ nginx -V 2>&1 | grep -o with-http_stub_status_module
with-http_stub_status_module

Wenn die Ausgabe wie oben aussieht, ist das Modul installiert. Hinweis: Bei der Installation über die Paketquellen von Ubuntu, wird das Modul automatisch mit installiert.

Nginx Konfiguration

Zum Aktivieren einer Status Seite genügt es den folgenden Code innerhalb eines server {..} Blocks hinzuzufügen.

        location /nginx_status {
          stub_status on;
          access_log   off;
          allow 10.0.0.2;
          deny all;
        }

Hinweis: Die IP Adresse 10.0.0.2 entspricht dem Client/Server, der die Status Seite aufrufen will.

Anschließend muss die Konfiguration neu eingelesen werden.

$ sudo service nginx reload

Ergebnis

Beim Aufruf der Seite http://servername/nginx_status sollte das Ergebnis in etwa so aussehen.

Active connections: 13 
server accepts handled requests
 587 587 1796 
Reading: 0 Writing: 3 Waiting: 2

Varnish Konfiguration (VCL Dateien) testen

Eine Änderung an den Konfigurationsdateien von Varnish kann schnell zu Problemen führen. Ähnlich wie beim Apache, kann man auch beim Varnish Server die Konfigurationsdateien überprüfen.

$ varnishd -C -f /etc/varnish/default.vcl

Im Fehlerfall zeigt der vorstehende Befehl Zeilennummer und Ursache an.

PHP 5.6 auf Ubuntu 14.04 installieren

PHP 5.6 ist unter Ubuntu 14.04 (noch) nicht einfach aus den angebotenen Quellen zu installieren. Abhilfe bietet hier wieder ein PPA.

Ist auf dem betreffenden System noch kein PPA installiert, muss das Paket python-software-properties installiert werden.

$ sudo apt-get update && sudo apt-get install python-software-properties

Jetzt kann die Paketquelle hinzugefügt werden.

$ sudo add-apt-repository ppa:ondrej/php5-5.6

Nach einem Update der Paketquellen kann php5 installiert werden.

$ sudo apt-get update
$ sudo apt-get install php5

Fragt man jetzt nach der PHP Version, sollte das Ergebnis in etwa so aussehen.

$ php5 -v
PHP 5.6.16-2+deb.sury.org~trusty+1 (cli)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies

Passwort auf Ubuntu System zurücksetzen

Vorsicht! Dieser Vorgang bietet vollen Root Zugriff! Ein Fehler kann böse folgen haben!

Mittels Shift / ESC Taste den Grub Loader anzeigen …

Grub Loader

Den Kernel mit recovery mode starten …

Kernel Auswahl

und im Recovery Menü die Root Shell starten.

Recovery Menu

Da im Recovery Mode das Dateisystem nur Lesezugriff hat, muss es neu angebunden werden.

root@ubuntu:~# mount -rw -o remount /

Jetzt kann das Passwort des Benutzers geändert werden.

root@ubuntu:~# sudo passwd username

Alternativ kann auch ein neuer Benutzer angelegt werden.

Jetzt noch neu Starten und mit dem neu vergebenen Passwort anmelden.

root@ubuntu:~# init 2

Port auf entfernten Server mit netcat prüfen

Heute wollte ich ein E-Mail Konto auf meinem Laptop einrichten. Bekam aber immer wieder die Meldung, das keine Verbindung zum Server besteht. Meine erste Vermutung war die Firewall auf dem Server. Also wollte ich wissen ob der Port überhaupt offen ist.

necat lieferte die Antwort. POP3_SSL ist nicht offen für meine IP.

$ nc -zv www.domainname.de 995
nc: connect to www.domainname.de port 995 (tcp) failed: Connection timed out

Nützlich: mit netcat lassen sich auch Portbereiche definieren und testen.

$ nc -zv www.domainname.de 80-83
Connection to www.domainname.de 80 port [tcp/http] succeeded!
nc: connect to www.domainname.de port 81 (tcp) failed: Connection timed out
nc: connect to www.domainname.de port 82 (tcp) failed: Connection timed out
nc: connect to www.domainname.de port 83 (tcp) failed: Connection refused