staging.inyokaproject.org

nginx

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |
Dieses Thema ist die Diskussion des Artikels nginx.

DerDenker

Anmeldungsdatum:
15. April 2008

Beiträge: 106

Hallo zusammen,

unglaublicherweise fehlte noch der Artikel über nginx. 😉

Es wäre toll, wenn jemand den Artikel einmal übergucken könnte oder jemand noch Ergänzungsvorschläge hat.

Zusätzlich würde ich jemanden mit einem System <9.04 bitten, mal zu testen, ob es in den Universe-Quellen auch dort schon nginx gibt.

Gruß,

DerDenker

busfahrer

Avatar von busfahrer

Anmeldungsdatum:
9. April 2007

Beiträge: 3052

Hallo

hier Ubuntu 8.04

apt-cache search nginx

nginx - small, but very powerful and efficient web server

Gruß...busfahrer

march Team-Icon

Avatar von march

Anmeldungsdatum:
12. Juni 2005

Beiträge: 17368

Hi ☺

unglaublicherweise fehlte noch der Artikel über nginx. 😉

Danke für's erstellen. 😀

Ein paar Dinge zu deinem Artikel:

  • Installation - hier wie unter vorlage/Schnellstart vorgegeben beschreiben.

  • Beim kompilieren die Befehle entfernen und auf den Wissensblock verweisen. Haben sonst unnötige Doppelungen im Wiki.

  • Das Icon auf eine Höhe von 64 px skallieren - pippovic schimpft sonst. 😉

  • Dateinamen/Ordner fett schreiben.

  • Verweise auch auf den Wissensblock, wenn ein Editor verwendet wird.

  • Bei #!/bin/sh die passende Syntax wählen:

    1
    #!/bin/sh ...
    
  • Unter Baustelle/nginx (Abschnitt „Links“) eine unnummerierte Liste verwenden.

ob es in den Universe-Quellen auch dort schon nginx gibt.

packages.ubuntu.com - solltest aber die Version schon selber getestet haben.

DerDenker

(Themenstarter)

Anmeldungsdatum:
15. April 2008

Beiträge: 106

march schrieb:

Hi ☺

unglaublicherweise fehlte noch der Artikel über nginx. 😉

Danke für's erstellen. 😀

Ein paar Dinge zu deinem Artikel:

Erledigt.

  • Beim kompilieren die Befehle entfernen und auf den Wissensblock verweisen. Haben sonst unnötige Doppelungen im Wiki.

Erledigt.

  • Das Icon auf eine Höhe von 64 px skallieren - pippovic schimpft sonst. 😉

Schon von den Heinzelmännchen bzw. kaputtnik verändert.

  • Dateinamen/Ordner fett schreiben.

Erledigt.

  • Verweise auch auf den Wissensblock, wenn ein Editor verwendet wird.

Erledigt.

  • Bei #!/bin/sh die passende Syntax wählen:

    1
    #!/bin/sh ...
    

Erledigt.

kaputtnik

ob es in den Universe-Quellen auch dort schon nginx gibt.

packages.ubuntu.com - solltest aber die Version schon selber getestet haben.

Hihi 🙄 verzählt. Statt das da Zahlen stehen, steht da ja nur Hardy & Karmic. Und seit Gutsy merke ich mir nichts mehr. 😉

Und danke an den busfahrer 😉

kaputtnik

Anmeldungsdatum:
31. Dezember 2007

Beiträge: 9245

Feine Sache... ich wollte auch schon immer mal einen Server aufsetzen...

Oh, sehe gerade das ich etwas spät dran bin... Trotzdem noch ein wenig Senf von mir 😉 :

Die ersten beiden Abschnitte habe ich mal ein wenig angepasst:

  • Logo verkleinert

  • Paketinstallation: Vorlage Peketinstallation verwendet, Paket gibt es ab Hardy, auf den Wissenblock verlinkt (per [1])

  • Bei Quellcode ebenfalls auf den Wissensblock verlinkt, Befehle in Befehlsvorlage gesetzt

Folgendes ist mir aufgefallen:

  • Die getestet Box sollte mind. eine Version beinhalten. "Für alle Versionen" stimmt ja nicht

  • Bei Quellcode fehlt eine Fremdquellenwarnung

    • Fehlt nicht auch das Paket build-essentials?

  • Verzeichnisse und Dateien sind Fett darzustellen. Siehe auch Textformatierung

  • Ist sichergestellt, das die Zeilennummern in der Konfig immer identisch sind? Also Zeile 2 ist z.B. immer #user nobody;? Vllt ist es besser die Zeilennummern weg zu lassen

  • Textlich sind noch ein paar schwierige Passagen drin. ZB: Doch bevor der Quellcode kompiliert werden kann, ist es notwendig, folgende Pakete zu installieren, falls noch nicht geschehen:

Gruß
kaputtnik

Edit: Bitte im Problem-Teil auch "man" verwenden.

DerDenker

(Themenstarter)

Anmeldungsdatum:
15. April 2008

Beiträge: 106

kaputtnik schrieb:

Feine Sache... ich wollte auch schon immer mal einen Server aufsetzen...

Oh, sehe gerade das ich etwas spät dran bin... Trotzdem noch ein wenig Senf von mir 😉 :

Die ersten beiden Abschnitte habe ich mal ein wenig angepasst:

  • Logo verkleinert

  • Paketinstallation: Vorlage Peketinstallation verwendet, Paket gibt es ab Hardy, auf den Wissenblock verlinkt (per [1])

  • Bei Quellcode ebenfalls auf den Wissensblock verlinkt, Befehle in Befehlsvorlage gesetzt

Gesehen 😉

Folgendes ist mir aufgefallen:

  • Die getestet Box sollte mind. eine Version beinhalten. "Für alle Versionen" stimmt ja nicht

Korrigiert.

  • Bei Quellcode fehlt eine Fremdquellenwarnung

😐

  • Fehlt nicht auch das Paket build-essentials?

Ich habe es hinzugefügt. Bei meinen Installationen war es nicht nötig, allerdings steht dort ja auch 'falls noch nicht geschehen' 😉

Schon gemacht.

  • Ist sichergestellt, das die Zeilennummern in der Konfig immer identisch sind? Also Zeile 2 ist z.B. immer #user nobody;? Vllt ist es besser die Zeilennummern weg zu lassen

Bei über 5 Installationen mit verschiedenen Versionen, ja. Allerdings habe ich es mal verändert. So groß, wie z.B. die Config bei Dovecot ist die schließlich nicht 😉

  • Textlich sind noch ein paar schwierige Passagen drin. ZB: Doch bevor der Quellcode kompiliert werden kann, ist es notwendig, folgende Pakete zu installieren, falls noch nicht geschehen:

😐

Edit: Bitte im Problem-Teil auch "man" verwenden.

Erledigt. Aus Gewohnheit in "Du"-Form verfasst 😉

adun Team-Icon

Avatar von adun

Anmeldungsdatum:
29. März 2005

Beiträge: 8606

Ich hatte auch mal einen angefangen, allerdings nicht fertig gemacht, weil es keine Sicherheitsupdates für nginx (von Ubuntu) gibt, was das Ganze relativ nutzlos macht. Noch n paar Anmerkungen. spawn-fcgi gibt es erst seit karmic, vorher kann man das aus dem lighttpd-Paket rauskopieren. Der ganze Teil zum Starten von nginx ist mist, das sollte nur mit upstart erklärt werden, alles andere ist depreciated für ubuntu (ab karmic) oder einfach mist. Nirgendwo wird erklärt, dass alle config-Dateien von nginx keine statistischen Configdateien sind wie bei anderen Webservern, sondern mit einer DSL geschrieben werden. Also sowas wie

if ($sunday) {
      rewrite  ^(.*)$  /sundays last;
      break;
    }

möglich ist. Ferner ist ein wichtiges Detail, dass nginx im Gegensatz zu z.B. Apache keine externen Module unterstützt, man muss ihn in der Regel also ohnehin selbst kompilieren. Bei dem ganzen php Gesumms fehlt der fette Hinweis, dass man upload directories unbedingt vor der Übergabe an cgi schützen muss.

if ($uri !~ "^/upload/") {
    fastcgi_pass 127.0.0.1:wasauchimmerfürnport;
  }

DerDenker

(Themenstarter)

Anmeldungsdatum:
15. April 2008

Beiträge: 106

adun schrieb:

Ich hatte auch mal einen angefangen, allerdings nicht fertig gemacht, weil es keine Sicherheitsupdates für nginx (von Ubuntu) gibt, was das Ganze relativ nutzlos macht.

Grund für das kompilieren.

Noch n paar Anmerkungen. spawn-fcgi gibt es erst seit karmic,

Stimmt, habe ich übersehen.

vorher kann man das aus dem lighttpd-Paket rauskopieren.

Mit großer Sicherheit kann man das, aber es soll ja nicht Sinn der Sache sein "Kopier' dir hier ein wenig raus und dort noch etwas". Eventuell kennt ja jemand anders noch eine bessere Methode ☺

Der ganze Teil zum Starten von nginx ist mist, das sollte nur mit upstart erklärt werden, alles andere ist depreciated für ubuntu (ab karmic) oder einfach mist.

Mist? Das beschreibt die Lage ziemlich gut - finde ich.

Nirgendwo wird erklärt, dass alle config-Dateien von nginx keine statistischen Configdateien sind wie bei anderen Webservern, sondern mit einer DSL geschrieben werden. Also sowas wie

if ($sunday) {
      rewrite  ^(.*)$  /sundays last;
      break;
    }

möglich ist.

Ich weiß nicht, wie weit man die Konfiguration ausweiten soll. Wäre es nicht besser, statt die Einsteiger-Seite mit Rewrite-Rules, die auch wieder erklärt werden müssen, vollzuballern, lieber auf das nginx Wiki zu verlinken. Siehe hier.

Ferner ist ein wichtiges Detail, dass nginx im Gegensatz zu z.B. Apache keine externen Module unterstützt, man muss ihn in der Regel also ohnehin selbst kompilieren.

Das ist so falsch. Es gibt wohl externe Module siehe http://wiki.nginx.org/Nginx3rdPartyModules, allerdings muss man die "miteinkompilieren".

Bei dem ganzen php Gesumms fehlt der fette Hinweis, dass man upload directories unbedingt vor der Übergabe an cgi schützen muss.

if ($uri !~ "^/upload/") {
    fastcgi_pass 127.0.0.1:wasauchimmerfürnport;
  }

Was soll das heißen? Ich meine, ich kann doch nur mit PHP hochladen. Sonst drehe ich ihm doch den Hahn ab. 😕

DerDenker

(Themenstarter)

Anmeldungsdatum:
15. April 2008

Beiträge: 106

/push

Soweit bin ich jetzt mit dem Artikel fertig. Viele Kritikpunkte von adun habe ich berücksichtigt und verändert:

  • Für alle Versionen < 9.10 habe ich eine Alternativanleitung beschrieben, die spawn-fcgi umgeht.

  • Rewrite habe ich nun auch angeschnitten

  • Der Sicherheitsaspekt ist jetzt mit drin, danke für den Tipp! Hatte ich auch in meiner Konfiguration, aber wieder vergessen 😉

  • Module sind auch drin

Ich bitte noch einmal um Fehlerüberprüfung und Verbesserungsvorschläge.

Danke ☺

kaputtnik

Anmeldungsdatum:
31. Dezember 2007

Beiträge: 9245

Hallo,

  • Für Konsolen Befehle bitte die Befehlsbox benutzen. z.B.:

    chmod a+x /usr/bin/php-fastcgi 
  • Was ist mit "gefiltert" gemeint:

Durch das Hinzufügen von info oder notice nach dem Dateinamen kann das Protokoll gefiltert werden.

Was, womit, wird gefiltert?

  • Was mit "überbringen" gemeint?

Nun würde nginx zwar am Port 80 horchen, allerdings könnte er keine Daten überbringen, da er kein Verzeichnis mit Dateien zur Verarbeitung bekommen hat. Dies ändert man mit "root" (im Beispiel liegen die Dateien in /srv/localhost):

Evtlll wäre "übermitteln" besser?

  • Mit root ist hier sicherlich das Verzeichnis gemeint, das mittels der gleichnamigen Option angegeben wird?

Jeder server { [...] }-Block löst aus, dass alle Domains, die hinter server_name stehen, mit dem Inhalt von root versorgt werden.

Da der Begriff root unter Linux eine andere bedeutung hat, ist das so ein wenig missverständlich. Vllt so:

Jeder server { [...] }-Block löst aus, dass alle Domains, die hinter server_name stehen, mit dem Inhalt von root (im Beispiel: /srv/localhost) versorgt werden.

  • Die Unterüberschriften im Problemteil sind ein wenig klein. Man sollte die Reihenfolge, die Rangfolge, der Überschriften einhalten. Sonst kommen die Überschriften im Inhaltsverzeichnis durcheinander. Stell mal Deine Verzeichnistiefe Im Inhaltsverzeichnis auf 4, dann siehst Du was ich meine.

Zum technischen Teil kann Adun vllt noch was sagen.

Gruß
kaputtnik

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

habe mal ein paar Korrekturen gemacht. Hauptsächlich die falsche Verwendung von kuriv, zu wenig Befehlsblöcke und zu viele Hinweis-Blöcke.

Der Abschnitt Quellen ist hier nicht üblich, zumal er redundant ist, weil alles im Artikel selbst genannt wird → gelöscht.

Was du noch machen solltest:

Die Bilder sind alles falsch eingebunden! Nie den absoluten Pfad verwenden, bitte im das Bild-Makro verwenden, siehe Wiki/Syntax.

Ein Frage zum Abschnitt "Andere Konfigurationsdatei verwenden": Da steht

Dies ist nicht bei einer Installation mithilfe vom Quellcode und einer Installation aus den Paketquellen nötig.

Du beschreibst aber "nur" diese beiden Methoden - wozu ist dann dieser Abschnitt überhaupt gut?

Kann nginx eigentlich auch Perl oder Python-Skripte ausführen? Oder nur PHP?

Gruß, noisefloor

DerDenker

(Themenstarter)

Anmeldungsdatum:
15. April 2008

Beiträge: 106

noisefloor schrieb:

Hallo,

habe mal ein paar Korrekturen gemacht. Hauptsächlich die falsche Verwendung von kuriv, zu wenig Befehlsblöcke und zu viele Hinweis-Blöcke.

Danke

Der Abschnitt Quellen ist hier nicht üblich, zumal er redundant ist, weil alles im Artikel selbst genannt wird → gelöscht.

😲 Quellen gehören doch überall dazu.

Was du noch machen solltest:

Die Bilder sind alles falsch eingebunden! Nie den absoluten Pfad verwenden, bitte im das Bild-Makro verwenden, siehe Wiki/Syntax.

Neuling 🙄

Ein Frage zum Abschnitt "Andere Konfigurationsdatei verwenden": Da steht

Dies ist nicht bei einer Installation mithilfe vom Quellcode und einer Installation aus den Paketquellen nötig.

Du beschreibst aber "nur" diese beiden Methoden - wozu ist dann dieser Abschnitt überhaupt gut?

Wie geschrieben - Zu Testzwecken.

Kann nginx eigentlich auch Perl oder Python-Skripte ausführen? Oder nur PHP?

Jein. Dies geht nur mit weiteren Modulen und ist noch um einiges schwerer.

Gruß, noisefloo

pippovic

Avatar von pippovic

Anmeldungsdatum:
12. November 2004

Beiträge: 9130

march schrieb:

  • Das Icon auf eine Höhe von 64 px skallieren - pippovic schimpft sonst. 😉

Breite, mein Lieber, Breite! 😛

Gruß pippovic

DerDenker

(Themenstarter)

Anmeldungsdatum:
15. April 2008

Beiträge: 106

So, habe die Punkte von kaputtnik angepasst. 🐸 Perl- und Python-Support ist jetzt auch mit drin. ☺

pippovic schrieb:

march schrieb:

  • Das Icon auf eine Höhe von 64 px skallieren - pippovic schimpft sonst. 😉

Breite, mein Lieber, Breite! 😛

Aber das mit dem php- und Python-Logo passt, oder? 😀

Gruß DerDenker

adun Team-Icon

Avatar von adun

Anmeldungsdatum:
29. März 2005

Beiträge: 8606

DerDenker schrieb:

Grund für das kompilieren.

Externe Module. Wenn man natürlich nur einen http/https Server oder Loadbalancer braucht, braucht man die nicht. Aber ich zumindest hab bisher immer ein Modul gebraucht, musste also immer selbst kompilieren. Dann kommen da noch die nicht vorhandenen Updates zu.

Mit großer Sicherheit kann man das, aber es soll ja nicht Sinn der Sache sein "Kopier' dir hier ein wenig raus und dort noch etwas". Eventuell kennt ja jemand anders noch eine bessere Methode ☺

Man kann die natürlich auch selbst spawnen. Das Skript ist eher trivial, da man aber ohnehin ein Startscript braucht (reboot), kann man auch gleich das von lighty nehmen. Das Paket ist auch nur aus dem lighty-Paket rauskopiert, weiß also nicht was du dagegen hast. Setz doch das getestet auf "ab Karmic", dann ist es egal.

Ich weiß nicht, wie weit man die Konfiguration ausweiten soll. Wäre es nicht besser, statt die Einsteiger-Seite mit Rewrite-Rules, die auch wieder erklärt werden müssen, vollzuballern, lieber auf das nginx Wiki zu verlinken. Siehe hier.

Mir gings nicht um das rewrite, sondern um das if, das rewrite war nur ein Beispiel, das sehr häufig benutzt wird, beispielsweise um ne "Wir sind gerade nicht erreichbar Blabla" Seite anzuzeigen.

Was soll das heißen? Ich meine, ich kann doch nur mit PHP hochladen. Sonst drehe ich ihm doch den Hahn ab. 😕

Wenn jemand ein Skript hoch läd, willst du dann, dass es ausgeführt wird?

Antworten |