Content
Dateianzeige für nginx (0.3.34)
usr/share/doc/nginx/nginx.txt
Das nginx Paket
Einleitung
Dieses Paket stellt den Webserver nginx (Engine X) zur Verfügung. Dabei
wird nginx nicht primär als wirklicher Webserver bereitgestellt,
sondern nur die Funktionalitäten Load Balancer und Reverse Proxy können
über die Eisfair-1 Konfigurationsschicht parametrisiert werden. Ein
echter Webserver kann aber manuell über Erstellung der entsprechenden
Konfigurationsdatei realisiert werden.
Die nginx Dokumentation ist unter http://nginx.org/ verfügbar.
Funktionen
Das nginx Paket bietet die Möglichkeit einen Load Balancer oder einen
Reverse Proxy zu realisieren.
Voraussetzungen
Das Paket benötigt folgendes Paket: libpcre.
Es ist auch davon abhängig, dass eine aktuelle Version des Basissystems
installiert ist.
Installation
Das nginx Paket wird über das Setup-Menü im Untermenü ”Package
administration” installiert.
Das Menü im Setup-Program
Das nginx Menü ist über den Menüpunkt ”Service administration” des
Hauptmenüs im zentralen Setup-Programm zu erreichen.
Es ist wie folgt aufgebaut:
1. View documentaion
2. View changes
3. View nginx logfiles
4. Edit configuration
5. Advanced configuration file handling
6. Start nginx
7. Stop nginx
8. Restart nginx
9. Reload nginx configuration
10. Show nginx status
11. Test nginx configuration
12. Edit nginx configuration directly
13. Check nginx module dependencies
0. Exit
Änderung der Konfiguration
Die Konfiguration kann über den Menüpunkt ”Edit Configuration” geändert
werden. Standardmäßig wird dabei der Editor genutzt, der über den
Menüpunkt ”Set eisfair configuration editor” in der ”Base
configuration” eingestellt ist.
Nachdem der Editor beendet wurde wird die Konfiguration mit dem
eischk-Programm automatisch auf syntaktische und teilweise auch auf
semantische Fehler geprüft. Werden Fehler festgestellt, so werden diese
gemeldet und der Benutzer zur Korrektur aufgefordert. Wird eine solche
Korrektur nicht durchgeführt, so kann es zu unvorhersehbaren
Fehlfunktionen bei dem Dienst kommen.
Es wird zusätzlich gefragt, ob die Konfiguration angewendet (aktiviert)
werden soll. Wird dieses verneint, so unterbleibt die Aktivierung.
ACHTUNG
Beim nächsten Boot-Vorgang kann es in diesem Fall zu unvorhersehbaren
Fehlern kommen.
Wird die Aktivierung bestätigt, werden über ein Skript die
durchgeführten Änderungen wirksam gemacht. Dazu wird der nginx Dienst
gestoppt und neu gestartet.
Die Konfigurationsdatei
Die Konfigurationsdatei (/etc/config.d/nginx) enthält in einer Reihe
von Abschnitten die Parameter, die den Dienst parametrisieren bzw.
festlegen, ob der Dienst überhaupt zur Verfügung gestellt wird oder
nicht.
nginx web server (general settings)
START_NGINX
Legt fest, ob der nginx Server gestartet wird.
Gültige Werte: yes, no
Standardeinstellung: START_NGINX='no'
nginx web server (configuration action settings)
NGINX_MAN_CONFIG
Konfiguriere nginx manuell 'yes' oder 'no'. Wenn hier der Wert
'yes' gesetzt wird, so wird die nginx Konfigurationdatei
/etc/nginx/nginx.conf nicht generiert. Der Anwender ist selbst
dafür verantwortlich eine korrekte Konfiguration zu erstellen.
Gültige Werte: yes, no
Standardeinstellung: NGINX_MAN_CONFIG='no'
nginx web server (general configuration settings)
NGINX_SERVER_TYPE
Server Typ:
reverse_proxy nginx arbeitet als Reverse Proxy
load_balancer nginx arbeitet als Load Balancer
Eine Konfiguration für den Typ Web-Server wird möglichweise in
der Zukunft möglich sein. Man muss NGINX_MAN_CONFIG='yes'
benutzen, um einen Web-Server konfigurieren zu können. Will man
saubere Ergebnisse erhalten, wenn eine Reihe von Hosts beim Load
Balancing genutzt werden, so muss darauf geachtet werden, dass
alle Hosts einen identischen Web-Inhalt (web content) haben.
Gültige Werte: reverse_proxy, load_balancer
Standardeinstellung: NGINX_SERVER_TYPE='reverse_proxy'
nginx web server (configuration settings)
NGINX_WORKER_PROCESSES
Definiert die Anzahl der sog. Worker Prozesse. Die optimale
Anzahl wird bestimmt durch mehrere Faktoren. Die Anzahl der CPUs
spielt eine Rolle, stellt aber nicht das Limit dar. Die Anzahl
der genutzten Festplatten ist ebenfalls mit entscheidend. Die
Anzahl der Worker Prozesse auf die Anzahl der verfügbaren CPUs
zu setzen ist ein guter Startwert (der Wert 'auto' versucht die
Anzahl eigenständig zu ermitteln).
Gültige Werte: Zahl oder 'auto'
Standardeinstellung: NGINX_WORKER_PROCESSES='auto'
NGINX_WORKER_CONNECTIONS
Dieser Parameter bestimmt die Anzahl gleichzeitiger
Verbindungen, die ein Worker Prozess öffnen soll. Bitte beachten
Sie, dass diese Zahl alle Verbindungen beinhaltet, also auch die
Verbindungen mit anderen Servern (proxied server) nicht nur die
Anzahl Verbindungen mit Clients. Eine wichtige Randbedingung
ist, dass die Anzahl der gleichzeitigen Verbindungen die Anzahl
der möglichen offenen Dateien nicht überschreiten darf (Siehe
auch die Variable worker_rlimit_nofile. Diese wird aber derzeit
nicht von der Eisfair-1 Konfigurationsschicht unterstützt.)
Gültige Werte: Zahl
Standardeinstellung: NGINX_WORKER_CONNECTIONS='1024'
NGINX_SERVER_LISTEN_N
Anzahl der zu erzeugenden listen directiven.
Gültige Werte: Zahl
Standardeinstellung: NGINX_SERVER_LISTEN_N='1'
NGINX_SERVER_LISTEN_x
Hier wird die Adresse und der IP-Port oder aber der UNIX-Domain
Socket angegeben, auf dem der Server Anfragen entgegennimmt.
Sowohl Adresse und Port oder nur eine Adresse können angegeben
werden. Die Adresse kann auch ein Hostname sein.
Beispiele:
127.0.0.1:8000
127.0.0.1
8000
*:8000
localhost:8000
IPv6 Addressen können in eckigen Klammern angegegeben werden:
[::]:8000
[::1]
Ein UNIX-domain socket wird wie folt angegeben:
unix:/var/run/nginx_sock
Standardeinstellung: NGINX_SERVER_LISTEN_='80'
NGINX_SERVER_NAME
Name eines virtuellen Servers. Bitte die angegebene nginx
Dokumentation für weitere Informationen nutzen.
Standardeinstellung: NGINX_SERVER_NAME='localhost'
nginx web server (log configuration settings)
NGINX_ERROR_LOG
Name des Fehler-Logfiles und Loglevel. Ein relativer Dateiname
wird als Dateiname relativ zu /var/log/nginx/. interpretiert.
Einen Syslog Server kann man über syslog:server=address
konfigurieren.
Es ist NICHT möglich das Error Logging über
NGINX_ERROR_LOG='off' auszuschalten.
Standardeinstellung: NGINX_ERROR_LOG='error.log'
NGINX_ACCESS_LOG
Name des Zugriffs-Logfiles und Format des Logs. Ein relativer
Dateiname wird als Dateiname relativ zu /var/log/nginx/.
interpretiert.
Einen Syslog Server kann man über syslog:server=address
konfigurieren.
Über NGINX_ACCESS_LOG='off' kann das Logging ausgeschaltet
werden.
Standardeinstellung: NGINX_ACCESS_LOG='access.log'
NGINX_LOGANON
Hier wird festgelegt, ob die IP-Adressen im Zugriffs-Logfile
anonymisiert werden sollen.
Gültige Werte: yes, no
Standardeinstellung: NGINX_LOGANON='no'
NGINX_LOGANON_MODE
Diese Konfigrationsvariable wirkt nur auf IPv4 Adressen.
16Bit : erhalte 16 der 32 Bits
Beispiel 192.168.4.16 wird zu 192.168.0.0
24Bit : erhalte 24 der 32 Bits
Beispiel 192.168.4.16 wird zu 192.168.4.0
Gültige Werte: 16Bit, 24Bit
Standardeinstellung: NGINX_LOGANON_MODE='16Bit'
NGINX_ROTATE_LOGS
Definiert, ob die Funktionalität logrotate benutzt werden soll,
um Error Log und Access Log rotieren zu lassen.
NGINX_ROTATE_LOGS sollte auf 'no' stehen, wenn
NGINX_MAN_CONFIG='yes' genutzt wird.
Standardeinstellung: NGINX_ROTATE_LOGS='yes'
NGINX_LOGROTATE_INTERVAL
Definiert das logrotate Intervall. Intervall: daily, weekly,
monthly
Standardeinstellung: NGINX_LOGROTATE_INTERVAL='daily'
nginx web server (status information settings)
NGINX_STUB_STATUS_LOAD
Soll das Stub Status Modul geladen werden 'yes' oder 'no'.
Das Stub Status Modul liefert auf einer Webseite Informationen
über den nginx Server aus.
Standardeinstellung: NGINX_STUB_STATUS_LOAD='no'
NGINX_STUB_STATUS_LOCATION
Ort des Stub Status. Man kann den Status über
http://
erreichen. Z.B. http://eisgcc.ap.de/basic_status
Standardeinstellung: NGINX_STUB_STATUS_LOCATION='/basic_status'
nginx reverse proxy (configuration settings)
NGINX_PROXY_BUFFERING
Freigeben oder Sperren der Nutzung von Puffern für Antworten der
via Proxy angesprochenen Server.
Werte 'on' oder 'off'.
Standardeinstellung: NGINX_PROXY_BUFFERING='off'
NGINX_PROXY_PASS_URL
Setzt das Protokoll und die Adresse des/der via Proxy
angesprochenen Server.
Standardeinstellung:
NGINX_PROXY_PASS_URL='http://mydestination:80'
nginx load balancer (configuration settings)
NGINX_UPSTREAM_NAME
Name der sog. Upstream Definition. Hiermit wird einer Gruppe von
Server, die als Ziele für das Load Balancing zur Verfügung
stehen, benannt.
Standardeinstellung: NGINX_UPSTREAM_NAME='myupstream'
NGINX_LB_SERVER_N
Anzahl der Server in der Upstream Definition.
Standardeinstellung: NGINX_LB_SERVER_N='0'
NGINX_LB_SERVER_x_ADDRESS
Adresse des x-ten Servers.
Angabein wie bei NGINX_SERVER_LISTEN sind möglich.
NGINX_LB_SERVER_x_WEIGHT
”Gewicht” des x-ten Servers. Die Server, die als Ziele für das
Load Balancing zur Verfügung stehen, werden in der sog. weighted
round-robin balancing Methode angesprochen. Ein Gewicht ungleich
1 bedeutet, dass ein Server x-mal pro Durchgang angesprochen
wird. Hiermit kann die Last ungleichmäßig verteilt werden.
Gültige Werte: Zahl
Standardeinstellung: NGINX_LB_SERVER_x_WEIGHT='1'
NGINX_LB_SERVER_x_MAX_FAILS
Maximale Anzahl Fehler des x-ten Servers.
Anwortet der x-te Server NGINX_LB_SERVER_x_MAX_FAILS nicht, so
wird er als fehlerhaft markiert und
NGINX_LB_SERVER_x_FAIL_TIMEOUT Sekunden nicht mehr benutzt.
Standardeinstellung: NGINX_LB_SERVER_x_MAX_FAILS='1'
NGINX_LB_SERVER_x_FAIL_TIMEOUT
Fehler Timeout des x-ten Servers in Sekunden. Siehe
NGINX_LB_SERVER_x_MAX_FAILS.
Standardeinstellung: NGINX_LB_SERVER_x_FAIL_TIMEOUT='10'
NGINX_LB_SERVER_x_BACKUP
Soll der x-te Server als Backup Server genutzt werden 'yes' or
'no'. Ein Backup Server wird für das Load Balancing nur dann
genutzt, wenn alle anderen Server der Server Gruppe nicht (mehr)
antworten.
Standardeinstellung: NGINX_LB_SERVER_x_BACKUP='no'
Einstellungen beim Übersetzen der Packages
Mit folgenden Einstellungen wurde der nginx übersetzt (eigentlich
konfiguriert):
--prefix=
--sbin-path=/sbin/nginx
--conf-path=/etc/nginx/nginx.conf
--error-log-path=/var/log/nginx/error.log
--http-log-path=/var/log/nginx/access.log
--pid-path=/var/run/nginx.pid
--lock-path=/var/run/nginx.lock
--http-client-body-temp-path=/var/lib/nginx/tmp/
--http-proxy-temp-path=/var/lib/nginx/proxy/
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi/
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi/
--http-scgi-temp-path=/var/lib/nginx/scgi/
--user=nginx
--group=nginx
--modules-path=/var/lib/nginx/modules
--with-pcre-jit
--with-http_realip_module
--with-http_addition_module
--with-http_xslt_module=dynamic
--with-http_image_filter_module=dynamic
--with-http_geoip_module=dynamic
--with-http_perl_module=dynamic
--with-http_sub_module
--with-http_dav_module
--with-http_flv_module
--with-http_mp4_module
--with-http_gzip_static_module
--with-http_random_index_module
--with-http_secure_link_module
--with-http_degradation_module
--with-file-aio
--with-http_ssl_module
--with-http_stub_status_module
--with-mail=dynamic
--with-mail_ssl_module
--with-http_v2_module
--with-stream=dynamic
--with-http_auth_request_module
--with-debug
Erster Test nach Installation von nginx
Ein erster lokaler Test von nginx kann durch die Nutzung als reiner
Webserver erfolgen. Hier sind dann keine weiteren Server erforderlich.
Vorgehensweise:
1.) cd /etc/nginx
2.) cp nginx.conf.default nginx.conf
3.) Konfiguration ändern
START_NGINX='yes'
NGINX_MAN_CONFIG='yes'
4.) Im Browser
http:// oder
http://
Die sog. Welcome Seite von nginx wird angezeigt:
Welcome to nginx!
__________________________________________________________________