Seit Jahren erwartet, ist endlich Version 4 des Samba-Servers erschienen, der nun als vollwertige Alternative zu Microsofts Active Directory dienen kann. In der ... (mehr)

Notizklotz

Tengine kann seine Logs nicht nur wie Nginx in Dateien ablegen, sondern auf Wunsch auch an das Syslog übergeben oder in eine Pipe schieben. Dazu muss man den Webserver mit dem »configure« -Parameter »--with-syslog« übersetzt haben. Mit folgender Einstellung im Block »http« landen sämtliche Zugriffsversuche (Access-Log) in »/var/log/tengine.log« :

access_log file:/var/log/tengine.log;

In das Syslog wandern die Informationen mit folgender Einstellung:

access_log syslog:user:info:/dev/log:tengine;

Die im Syslog erscheinenden Zeilen besitzen dabei das Level »info« , als loggende Anwendung meldet sich »tengine« . Den letztgenannten Bezeichner darf man gegen einen eigenen Text austauschen. Lässt man ihn weg, erscheint im Log »NGINX« . Anstelle von »/dev/log« kann man auch die IP-Adresse und Portnummer des Rechners angeben, auf dem der Syslog-Daemon läuft:

access_log syslog:user:info:129.168.2.1:514:tengine;

Mit folgender Einstellung schreibt Tengine das Log in die Pipe »pfeife« :

access_log pipe:pfeife;

Auf die gleiche Weise kann man auch die Fehlermeldungen (Error-Log) umbiegen, die entsprechende globale Einstellung beginnt lediglich mit der Direktive »error_log« .

Sollte sich einer der Worker-Prozesse einfach beenden, beispielsweise weil er ein entsprechendes Kill-Signal erhalten hat, kann Tengine die zuletzt durchgeführten Funktionsaufrufe aufzeichnen (den sogenannten Backtrace, siehe Abbildung 4). Das funktioniert allerdings nur, wenn die auf dem System installierte Glibc-Bibliothek die »backtrace« -Funktion unterstützt – FreeBSD und OS X (Darwin) bleiben damit außen vor. Des Weiteren muss das Backtrace-Modul aktiviert sein. Dazu übergibt man bei der Übersetzung »./configure« den Parameter »--with-backtrace_module« . Sind alle Voraussetzungen erfüllt, kann man in der Konfigurationsdatei die Aufzeichnung mit folgender globaler Einstellung einschalten:

Abbildung 4: Auf Wunsch gibt Tengine auch den Backtrace aus.
backtrace_log /Pfad/zum/backtrace.log;

Anhänglich

Besteht eine Internetseite aus vielen kleinen Stylesheets, muss der Browser für jede dieser Dateien eine eigene Anfrage (Request) stellen. Um die ganze Abwicklung zu beschleunigen, kann Tengine alle diese Dateien auch zu einer großen zusammentackern und dann das dicke Ergebnis in einer Antwort zurückliefern. Im Idealfall ist so nur noch ein einziger Request notwendig.

Damit das funktioniert, muss man zunächst das Concat-Modul mit dem »configure« -Parameter »--with-http_concat_module« aktivieren. Anschließend knipst man die Funktion im entsprechenden »location« -Block an. Wie das funktioniert, zeigt Listing 3. Dort würde Tengine höchstens »10« CSS-Dateien (»concat_types text/css« ) aneinanderhängen.

Listing 3

Einschalten des Concat-Moduls

 

In der HTML-Datei kann man jetzt die benötigten CSS-Dateien über eine speziell aufgebaute URL anfordern. Die beiden Stylesheets »style1.css« und »style2.css« lädt beispielsweise dieser Abschnitt im Header der HTML-Datei:

<link rel="stylesheet" type="text/css"href="http://localhost/css/??style1.css,style2.css" />

»http://localhost/css« gibt wie üblich den Speicherort der Dateien an. Danach folgen zwei Fragezeichen und schließlich durch Kommata getrennt die Dateinamen. Tengine wertet die URL aus, fügt die darin genannten Dateien zu einer zusammen und liefert den fertigen Brocken zurück an den Browser. Das Verfahren funktioniert mit allen Dateien, die sich unkompliziert aneinanderhängen lassen, wie etwa ausgelagertes Javascript.

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019