Die Nginx-Konfigurationsdatei ist hauptsächlich in vier Teile unterteilt:
main{#(globale Einstellungen)
http{#Server-Upstream{} #(Einstellungen des Lastausgleichsservers: wird hauptsächlich zum Lastausgleich und zum Einrichten einer Reihe von Backend-Servern verwendet)
server{ #(Hosteinstellungen: wird hauptsächlich verwendet, um Host und Port anzugeben)
location{}# (Einstellungen für URL-Matching-Feature-Standorte)
}
}
}
Der Server erbt die Haupteinstellungen, der Standort erbt den Server und Upstream erbt weder andere Einstellungen noch werden sie geerbt.

1. Wichtigste globale Konfiguration Einige Parameter von nginx, die sich während der Laufzeit nicht auf bestimmte Geschäftsfunktionen (wie HTTP-Dienst oder E-Mail-Dienst-Proxy) beziehen, wie z. B. die Anzahl der Arbeitsprozesse, die laufende Identität usw.
Benutzer www www;
Arbeitsprozesse 4;
worker_cpu_affinity 0001 0010 0100 1000;
Fehlerprotokoll /var/logs/nginx_error.log crit;
pid /usr/local/webserver/nginx/nginx.pid;
worker_rlimit_nofile 65535; user www www; : gibt den Benutzer an, der den Nginx-Prozess starten soll worker_processes 4; : Gibt an, wie viele Prozesse gestartet werden sollen, um Anfragen zu verarbeiten. Im Allgemeinen wird dies auf die Anzahl der CPU-Kerne eingestellt. Wenn SSL und gzip aktiviert sind, sollte dies auf die gleiche oder sogar die doppelte Anzahl der logischen CPUs eingestellt werden, um die Anzahl der E/A-Vorgänge zu reduzieren. Führen Sie grep ^processor /proc/cpuinfo | wc -l aus, um die Anzahl der CPU-Kerne zu überprüfen. worker_cpu_affinity 0001 0010 0100 1000; : In Situationen mit hoher Parallelität kann der Leistungsverlust durch die Vor-Ort-Rekonstruktion von Registern aufgrund des Umschaltens zwischen Mehrkern-CPUs reduziert werden, indem die CPU so eingestellt wird, dass sie an einen bestimmten Prozess gebunden ist. Wie beispielsweise worker_cpu_affinity 0001 0010 0100 1000; (Quad-Core). error_log /var/logs/nginx_error.log crit; error_log ist eine Hauptmoduldirektive, die zum Definieren der globalen Fehlerprotokolldatei verwendet wird. Die Protokollausgabeebenen umfassen Debug, Info, Hinweis, Warn, Fehler und Krit. Die Debug-Ebene hat die ausführlichste Protokollausgabe, während die Krit-Ebene die kürzeste Protokollausgabe hat. pid /usr/local/webserver/nginx/nginx.pid; Gibt den Speicherort der Prozess-PID-Datei an. worker_rlimit_nofile 65535; Wird verwendet, um die maximale Anzahl von Dateideskriptoren anzugeben, die ein nginx-Prozess öffnen kann, was hier 65535 ist. Sie müssen den Befehl „ulimit -n 65535“ verwenden, um ihn festzulegen. 2. Veranstaltungsmodul
Ereignisse{
verwenden Sie epoll;
Arbeiterverbindungen 65536;
} -
use epoll; verwenden Sie ist eine Ereignismodulanweisung, mit der der Arbeitsmodus von Nginx angegeben wird. Zu den von Nginx unterstützten Arbeitsmodi gehören select, poll, kqueue, epoll, rtsig und /dev/poll. Unter ihnen sind Select und Poll Standardarbeitsmodi, während Kqueue und Epoll effiziente Arbeitsmodi sind. Der Unterschied besteht darin, dass Epoll auf der Linux-Plattform verwendet wird, während Kqueue im BSD-System verwendet wird. Für Linux-Systeme ist der Arbeitsmodus Epoll die erste Wahl. Select wird nur verwendet, wenn das Betriebssystem diese effizienten Modelle nicht unterstützt. -
worker_connections 65536; Die maximale Anzahl an Verbindungen, die jeder Arbeitsprozess gleichzeitig verarbeiten (initiieren) kann (einschließlich aller Verbindungen mit dem Client oder Back-End-Proxyserver). Als Reverse-Proxy-Server verwendet nginx die Formel zur Berechnung最大連接數= worker_processes * worker_connections/4 , sodass die maximale Anzahl von Client-Verbindungen hier 65536 beträgt. Diese kann je nach Situation auf 8192 erhöht werden, darf jedoch die unten stehende Einstellung worker_rlimit_nofile nicht überschreiten. Wenn nginx als HTTP-Server verwendet wird, lautet die Berechnungsformel „durch 2 teilen“. Die maximale Anzahl der Verbindungen eines Prozesses wird durch die maximale Anzahl der geöffneten Dateien des Linux-Systemprozesses begrenzt. Die Einstellung von worker_connections wird erst nach Ausführung des Betriebssystemkommandos ulimit -n 65536 wirksam.
3. HTTP-Server
http{
mime.types einschließen;
Standardtyp Anwendung/Oktett-Stream;
#Zeichensatz gb2312;
} - include ist eine Hauptmoduldirektive, die die Einstellungen der in der Konfigurationsdatei enthaltenen Dateien implementiert, wodurch die Komplexität der Hauptkonfigurationsdatei reduziert werden kann. Ähnlich der Include-Methode in Apache.
- default_type gehört zur Direktive des HTTP-Kernmoduls. Hier ist der Standardtyp auf Binärstream eingestellt, der verwendet wird, wenn der Dateityp nicht definiert ist. Wenn beispielsweise die PHP-Umgebung nicht konfiguriert ist, wird sie von Nginx nicht analysiert. Zu diesem Zeitpunkt wird beim Zugriff auf die PHP-Datei mit einem Browser ein Download-Fenster angezeigt.
- Zeichensatz gb2312; gibt das Client-Kodierungsformat an. .
3.1 HTTP-Parameter: Client-Header-Cache
Servernamen_Hash_Bucket_Größe 128;
Client-Header-Puffergröße 32k;
große_Client_Header_Puffer 4 128k;
maximale Körpergröße des Kunden: 10 m;
Client-Body-Puffergröße 128k;
sendedatei an;
tcp_nopush ein;
tcp_nodelay ein;
keepalive_timeout 65:
Client_Body_Timeout 60 s;
Sendezeitüberschreitung 60 s; - server_names_hash_bucket_size 128;: Die Größe der Hash-Tabelle der Servernamen.
- client_header_buffer_size 32k;: wird verwendet, um die Header-Puffergröße aus dem Client-Anforderungsheader anzugeben. Für die meisten Anfragen ist ein 1 KB-Cache ausreichend. Wenn Sie die Nachrichtenkopfzeilen anpassen oder größere Cookies haben, können Sie die Cachegröße erhöhen.
- large_client_header_buffers 4 128k;: Wird verwendet, um die maximale Anzahl und Größe des Caches für größere Nachrichtenheader in Clientanforderungen anzugeben. 4 ist die Anzahl und 128k ist die Größe. Der maximale Cache beträgt 4 128 KB.
- client_max_body_size 8m;: Die maximale Anzahl von Bytes einer einzelnen Datei, die vom Client angefordert wird.
- client_max_body_size 10m;: Die maximale Anzahl von Bytes einer einzelnen Datei, die vom Client angefordert werden darf. Wenn Sie große Dateien hochladen, legen Sie bitte ein Limit fest.
- client_body_buffer_size 128k;: Die maximale Anzahl an Bytes, die der Pufferproxy für Clientanforderungen puffert.
- sendfile on ; : Aktiviert den effizienten Dateiübertragungsmodus. Die Direktive sendfile gibt an, ob nginx die Funktion sendfile aufruft, um Dateien auszugeben, wodurch der Kontextwechsel vom Benutzerbereich in den Kernelbereich reduziert wird. Stellen Sie es für allgemeine Anwendungen auf „Ein“. Wenn es für Anwendungen mit hoher Festplatten-E/A-Belastung wie z. B. Downloads verwendet wird, kann es auf „Aus“ gestellt werden, um die Festplatten- und Netzwerk-E/A-Verarbeitungsgeschwindigkeiten auszugleichen und die Systemlast zu reduzieren. Schalten Sie tcp_nopush und tcp_nodelay ein, um eine Überlastung des Netzwerks zu verhindern.
- keepalive_timeout 65 : : Das lange Verbindungstimeout in Sekunden. Dieser Parameter ist sehr empfindlich und betrifft den Browsertyp, die Timeout-Einstellungen des Backend-Servers und die Einstellungen des Betriebssystems. Er kann in einem anderen Artikel beschrieben werden. Wenn eine lange Verbindung eine große Anzahl kleiner Dateien anfordert, kann dies den Aufwand für die Wiederherstellung der Verbindung verringern. Das Hochladen einer großen Datei schlägt jedoch fehl, wenn dies nicht innerhalb von 65 Sekunden geschieht. Wenn die Einrichtungszeit zu lang ist und es viele Benutzer gibt, wird die Aufrechterhaltung der Verbindung über einen längeren Zeitraum viele Ressourcen beanspruchen.
- client_body_timeout 60s;: Wird verwendet, um das Timeout für das Lesen des Client-Anforderungstexts festzulegen. Der Standardwert beträgt 60 s. Wenn der Client innerhalb dieser Zeit keine Daten gesendet hat, gibt nginx den Fehler „Anforderungs-Timeout (408)“ zurück.
- send_timeout:: Wird verwendet, um das Timeout für die Antwort an den Client anzugeben. Dieses Timeout ist auf die Zeit zwischen zwei Verbindungsaktivitäten begrenzt. Wenn nach dieser Zeit keine Aktivität vom Client erfolgt, schließt Nginx die Verbindung.
3.2 HTTP-Parameter und FastCGI-Parameter FastCGI-bezogene Parameter dienen zur Verbesserung der Website-Leistung: Reduzierung der Ressourcennutzung und Erhöhung der Zugriffsgeschwindigkeit. Die nachfolgenden Parameter sind wörtlich zu verstehen.
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
fastcgi_cache TEST;
fastcgi_cache_path /usr/local/nginx/fastcgi_cache levels=1:2 keys_zone=TEST:10m inaktiv=5m;
fastcgi_cache_valid 200 302 1h;
fastcgi_cache_valid 301 1d;
fastcgi_cache_valid jede 1m; -
fastcgi_connect_timeout 300; Gibt das Timeout für die Verbindung mit dem Backend FastCGI an. -
fastcgi_send_timeout 300; gibt das Timeout für das Senden einer Anfrage an FastCGI an. Dieser Wert ist das Timeout für das Senden einer Anfrage an FastCGI, nachdem zwei Handshakes abgeschlossen wurden. -
fastcgi_read_timeout 300; gibt das Timeout für den Empfang von FastCGI-Antworten an. Dieser Wert ist das Timeout für den Empfang von FastCGI-Antworten nach Abschluss von zwei Handshakes. -
fastcgi_buffer_size 64k; wird verwendet, um anzugeben, wie groß ein Puffer sein muss, um den ersten Teil der FastCGI-Antwort zu lesen. Dieser Wert gibt an, dass ein 64-KB-Puffer zum Lesen des ersten Teils der Antwort (Antwortheader) verwendet wird. Er kann auf die Puffergröße eingestellt werden, die durch die Option fastcgi_buffers angegeben wird. -
fastcgi_buffers 4 64k; gibt an, wie viele und wie groß der lokale Puffer zum Puffern der Antwortanforderungen von FastCGI sein muss. Wenn die von einem PHP-Skript generierte Seitengröße 256 KB beträgt, werden vier 64-KB-Puffer für das Caching zugewiesen. Wenn die Seitengröße größer als 256 KB ist, wird der Teil, der größer als 256 KB ist, im durch fastcgi_temp angegebenen Pfad zwischengespeichert. Dies ist jedoch keine gute Methode, da die Datenverarbeitungsgeschwindigkeit im Speicher schneller ist als die auf der Festplatte. Im Allgemeinen sollte dieser Wert der mittleren Größe der von den PHP-Skripten auf der Site generierten Seiten entsprechen. Wenn die von den meisten Skripten auf der Site generierte Seitengröße 256 KB beträgt, kann dieser Wert auf „16 16k“, „4 64k“ usw. eingestellt werden. - .
fastcgi_busy_buffers_size 128k; der Standardwert ist das Doppelte von fastcgi_buffers. -
fastcgi_temp_file_write_size 128k; gibt an, wie groß der Datenblock beim Schreiben von Cache-Dateien ist. Der Standardwert ist doppelt so groß wie fastcgi_buffers. -
fastcgi_cache TEST; bedeutet, den FastCGI-Cache einzuschalten und ihm einen Namen zuzuweisen. Das Aktivieren des Cache ist sehr nützlich, da es die CPU-Auslastung effektiv reduzieren und das Auftreten von 502-Fehlern verhindern kann. Allerdings kann das Aktivieren des Caching je nach Situation auch viele Probleme verursachen. -
fastcgi_cache_path /usr/local/nginx/fastcgi_cache levels=1:2 keys_zone=TEST:10m inactive=5m; . -
fastcgi_cache_valid 200 302 1h; wird verwendet, um die Cache-Zeit des Antwortcodes anzugeben. Die Werte im Beispiel bedeuten, dass 200 und 302 Antworten eine Stunde lang, 301 Antworten einen Tag lang und andere Antworten eine Minute lang zwischengespeichert werden.
3.3. HTTP-Parameter gzip-Moduleinstellungen
gzip an;
gzip_min_länge 1k;
gzip_puffer 4 16k;
gzip_http_version 1.1;
gzip_comp_level 6;
gzip_types Text/HTML-Text/Nur-Text/CSS-Text/Javascript-Anwendung/JSON-Anwendung/Javascript-Anwendung/X-Javascript-Anwendung/Xml;
gzip_vary ein; -
gzip on; Gzip-Komprimierungsausgabe einschalten. gzip_min_length 1k; minimale komprimierte Dateigröße, die Anzahl der Seitenbytes wird aus dem Content-Length-Header abgerufen. Der Standardwert ist 0, was bedeutet, dass alle Seiten unabhängig von ihrer Größe komprimiert werden. Es wird empfohlen, den Wert auf eine Bytegröße größer als 1 KB festzulegen. Wenn der Wert kleiner als 1 KB ist, kann sich die Seitengröße beim Komprimieren erhöhen. -
gzip_buffers 4 16k; Komprimierungspuffer, der angibt, dass vier 16K-Speicher als Stream-Cache für Komprimierungsergebnisse verwendet werden. Standardmäßig wird der Speicherplatz mit der gleichen Größe wie die Originaldaten verwendet, um das Gzip-Komprimierungsergebnis zu speichern. - .
gzip_http_version 1.1; wird zum Festlegen und Identifizieren der HTTP-Protokollversion verwendet. Der Standardwert ist 1.1, der derzeit von allen gängigen Browsern erkannt wird. (Standard ist 1.1, wenn das Front-End Squid2.5 ist, verwenden Sie bitte 1.0) -
gzip_comp_level 6; Komprimierungsstufe, 1 hat die kleinste Komprimierungsrate und die schnellste Verarbeitungsgeschwindigkeit, 9 hat die größte Komprimierungsrate und die schnellste Übertragungsgeschwindigkeit, verbraucht aber CPU-Ressourcen. -
gzip_types text/plain application/x-javascript text/css application/xml; Der Komprimierungstyp enthält standardmäßig bereits text/html, daher ist es nicht nötig, ihn unten zu schreiben. Es wird kein Problem geben, wenn Sie ihn schreiben, aber es wird eine Warnung angezeigt. -
gzip_vary on; bezieht sich auf den HTTP-Header. Es fügt dem Antwortheader Vary: Accept-Encoding hinzu, wodurch der Front-End-Cache-Server gzip-komprimierte Seiten zwischenspeichern kann. Verwenden Sie beispielsweise Squid, um von Nginx komprimierte Daten zwischenzuspeichern. -
gzip_proxied any; Dies wird aktiviert, wenn Nginx als Reverse-Proxy verwendet wird. Es bestimmt, ob die Komprimierung der vom Backend-Server zurückgegebenen Ergebnisse aktiviert oder deaktiviert werden soll. Voraussetzung für die Übereinstimmung ist, dass der Backend-Server einen Header mit „Via“ zurückgeben muss. -
limit_zone crawler $binary_remote_addr 10m; muss verwendet werden, wenn die Anzahl der IP-Verbindungen begrenzt wird
4. nginx konfiguriert virtuellen Host 4.1 Konfigurationsprozess des virtuellen Hosts - Kopieren Sie ein komplettes Server-Tag-Segment bis zum Ende. Hinweis: Es sollte vor der schließenden geschweiften Klammer von http platziert werden, d. h. das http-Tag sollte im Server-Tag-Segment platziert werden.
- Ändern Sie den Servernamen und das Stammverzeichnis der entsprechenden Webseite.
- Überprüfen Sie die Syntax der Konfigurationsdatei und starten Sie den Dienst problemlos neu.
- Erstellen Sie das Stammverzeichnis der Webseite, das dem Servernamen entspricht, und erstellen Sie eine Testdatei. Wenn keine Index-Homepage vorhanden ist, tritt ein 403-Fehler auf.
- Führen Sie die Hostauflösung oder DNS-Konfiguration auf dem Client-Servername-Host durch. Und prüfen (Ping).
- Greifen Sie über einen Browser darauf zu oder führen Sie eine Hostauflösung auf einem Linux-Client durch und verwenden Sie wget oder curl, um darauf zuzugreifen.
Auf dem HTTP-Dienst werden mehrere virtuelle Hosts unterstützt. Jeder virtuelle Host verfügt über ein entsprechendes Serverkonfigurationselement, das die mit dem virtuellen Host verbundene Konfiguration enthält. Beim Anbieten eines Maildienst-Proxys können Sie auch mehrere Server einrichten. Jeder Server wird durch die Abhöradresse oder den Abhörport unterschieden.
Server{
hören Sie 80 Standard;
Servername _;
index.html index.htm index.php;
Stammverzeichnis /data/htdocs/www;
#server_name_in_redirect aus;
Standort ~ .*\.(php|php5)?${
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fcgi.conf einschließen;
}
Standort ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${
läuft in 30 Tagen ab;
}
Standort ~ .*\.(js|css)?${
läuft in 1 Stunde ab;
}
} -
listen 80; Abhörport, der Standardwert ist 80, wenn er kleiner als 1024 ist, muss er als Root gestartet werden. Es kann die Form „listen *:80“, „listen 127.0.0.1:80“ usw. haben. -
server_name blog.biglittleant.cn; Servernamen wie localhost oder www.example.com können durch reguläre Ausdrücke abgeglichen werden. -
root /var/www/html definiert den standardmäßigen Speicherort des Stammverzeichnisses der Website auf dem Server. Wenn die LocationURL mit einem Unterverzeichnis oder einer Datei übereinstimmt, hat root keine Auswirkung und wird normalerweise in der Serverdirektive oder unter / platziert. -
index index.jsp index.html index.htm definiert den Standardzugriffsdateinamen unter dem Pfad, der normalerweise nach der Stammadresse platziert wird.
4.2 Schreiben des Standortmoduls unter das Servermodul Weitere Informationen zum Schreiben von Standortabgleichsregeln finden Sie in der Serie zu nginx – Verwenden von nginx für den Lastenausgleich proxy_pass http://backend Die Anfrage wird an die vom Backend definierte Serverliste, also den Reverse-Proxy, weitergeleitet, der dem vorgelagerten Load Balancer entspricht. Sie können auch proxy_pass http://ip:port。
Proxy_Redirect aus;
Proxy_Set_Header Host $host;
Proxy_Set_Header X-Real-IP $Remote_Addr;
proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for; 5. Andere Nginx-Parameter 5.1 Zugriffskontrolle erlauben/verweigern Das Zugriffskontrollmodul von Nginx ist standardmäßig installiert und sehr einfach zu schreiben. Sie können mehrere Zulassungs- und Ablehnungsregeln haben, um den Zugriff auf eine bestimmte IP oder ein bestimmtes IP-Segment zuzulassen oder zu verweigern. Wenn eine Regel erfüllt ist, wird die Zuordnung beendet. wie:
Standort /nginx-status {
stub_status ein;
Zugriff_Abmeldung;
# auth_basic "NginxStatus";
# auth_basic_user_file /usr/local/nginx-1.6/htpasswd;
erlauben Sie 192.168.10.100;
erlaube 172.29.73.0/24;
alles leugnen;
} Wir verwenden auch oft das httpd-devel-Tool htpasswd, um das Anmeldekennwort für den Zugriffspfad festzulegen:
# htpasswd -c htpasswd admin
Neues Passwort:
Geben Sie das neue Passwort erneut ein:
Hinzufügen eines Passworts für den Benutzeradministrator
# htpasswd htpasswd admin //Administratorkennwort ändern # htpasswd htpasswd sean //Weiteren Authentifizierungsbenutzer hinzufügen Dadurch wird eine Kennwortdatei generiert, die standardmäßig mit CRYPT verschlüsselt ist. Öffnen Sie die beiden Kommentarzeilen im obigen Nginx-Status und starten Sie Nginx neu, damit die Änderungen wirksam werden. 5.2 Verzeichnis-Autoindex auflisten Standardmäßig erlaubt Nginx nicht die Auflistung ganzer Verzeichnisse. Um diese Funktion zu verwenden, öffnen Sie die Datei nginx.conf und fügen Sie die folgenden Parameter im Abschnitt „Standort“, „Server“ oder „HTTP“ hinzu:
Standort /Bilder {
Wurzel /var/www/nginx-default/images;
Autoindex aktiviert;
autoindex_exact_size aus;
autoindex_localtime ein;
} -
autoindex on; wird ausgeführt, um den Verzeichnisinhalt aufzulisten. Am besten fügen Sie auch die anderen beiden Parameter hinzu. -
autoindex_exact_size off; Die Standardeinstellung ist „Ein“, d. h. es wird die genaue Größe der Datei in Bytes angezeigt. Nach dem Umschalten auf Aus wird die ungefähre Größe der Datei in kB, MB oder GB angezeigt. -
autoindex_localtime on; die Standardeinstellung ist aus und die angezeigte Dateizeit ist GMT-Zeit. Nach der Umstellung auf „Ein“ ist die angezeigte Dateizeit die Serverzeit der Datei.
VI. Anhang: Allgemeine Konfigurationsdatei
Benutzer www www;
Arbeiterprozesse 2;
Fehlerprotokollprotokolle/Fehler.log;
#error_log Protokolle/error.log Hinweis;
#error_log Protokolle/error.log-Info;
pid-Protokolle/nginx.pid;
Ereignisse {
verwenden Sie epoll;
Arbeiterverbindungen 2048;
}
http {
mime.types einschließen;
Standardtyp Anwendung/Oktett-Stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log Protokolle/access.log Haupt;
sendfile an;
# tcp_nopush ein;
KeepAlive-Timeout 65;
# Stellen Sie die Gzip-Komprimierungsfunktion auf „gzip on“ ein;
gzip_min_länge 1k;
gzip_puffer 4 16k;
gzip_http_version 1.1;
gzip_comp_level 6;
gzip_types Text/HTML-Text/Nur-Text/CSS-Text/Javascript-Anwendung/JSON-Anwendung/Javascript-Anwendung/X-Javascript-Anwendung/Xml;
gzip_vary ein;
# http_proxy setze Client_max_body_size auf 10 m;
Client-Body-Puffergröße 128k;
Proxy_Verbindungstimeout 75;
Proxy_Sendezeitüberschreitung 75;
Proxy_Lese_Timeout 75;
Proxy-Puffergröße 4k;
Proxy-Puffer 4 32k;
Proxy_Busy_Buffer_Größe 64k;
Proxy_Temp_File_Schreibgröße 64k;
Proxy_temp_Pfad /usr/local/nginx/proxy_temp 1 2;
# Legen Sie die Liste der Backend-Server für den Lastenausgleich im Upstream-Backend fest {
#ip_hash;
Server 192.168.10.100:8080 max_fails=2 Fail_Timeout=30s;
Server 192.168.10.101:8080 max_fails=2 Fail_Timeout=30s;
}
# Sehr wichtige virtuelle Hostkonfiguration, mehrere virtuelle Maschinen können diesen Teilserver kopieren und ändern {
hören Sie 80;
Servername test.example.com;
Stammverzeichnis /apps/oaapp;
Zeichensatz UTF-8;
access_log Protokolle/host.access.log Haupt;
#Für alle / Lastenausgleich + Reverse-Proxy-Standort durchführen / {
Stammverzeichnis /apps/oaapp;
index.php index.html index.htm;
Proxy-Passwort http://backend;
Proxy_Redirect aus;
# Der Backend-Webserver kann die echte IP des Benutzers über X-Forwarded-For erhalten
Proxy_Set_Header Host $host;
Proxy_Set_Header X-Real-IP $Remote_Addr;
proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for;
Proxy_next_upstream-Fehler, Timeout, ungültiger Header, http_500, http_502, http_503, http_504;
}
#Statische Dateien, nginx verarbeitet sie selbst, ohne zum Backend zu gehen, um den Speicherort der Backend-Dienste anzufordern ~* /download/ {
Stammverzeichnis /data/app/nginx/downloads;
}
Standort ~ .*\.(gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ {
Stammverzeichnis /Daten/App/nginx/Images;
läuft am 7. Tag ab;
}
Standort /nginx_status {
stub_status ein;
Zugriff_Abmeldung;
192.168.10.0/24 zulassen;
alles leugnen;
}
Standort ~ ^/(WEB-INF)/ {
alles leugnen;
}
#Fehlerseite 404 /404.html;
# Server-Fehlerseiten auf die statische Seite /50x.html umleiten
#
Fehlerseite 500 502 503 504 /50x.html;
Standort = /50x.html {
Stamm-HTML;
}
}
} VI. Anhang: So prüfen Sie, ob die GZIP-Komprimierung aktiviert ist Wenn response header Content-Encoding:gzip enthält, bedeutet dies, dass die GZIP-Komprimierung aktiviert ist.
Verbindung: Keep-Alive
Inhaltskodierung:gzip
Inhaltstyp:text/html
Datum: Mittwoch, 29. März 2017, 10:55:54 GMT
ETag:W/"58db92af-331a6"
Letzte Änderung: Mi, 29. März 2017 10:55:43 GMT
Server:nginx/1.10.3
Übertragungskodierung: chunked
Variieren:Accept-Kodierung Referenzdokumentation Vollständige Beispielkonfiguration Beispielblog zur Optimierung von FastCGI-Parametern in Nginx Nginx-Konfigurationsleistung Dies ist das Ende dieses Artikels über die detaillierte Interpretation der Nginx-Konfigurationsdatei. Weitere relevante Inhalte zur Nginx-Konfigurationsdatei finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:- Chinesische Kommentare zur Nginx-Konfigurationsdatei nginx.conf
- Der Reverse-Proxy-Dienst von Nginx verursacht beim Zugriff auf Ressourcen aufgrund eines Fehlers in der Konfigurationsdatei einen 404-Fehler
- Detaillierte Beschreibung der Nginx-Konfigurationsdatei nginx.conf
- Vollständige Analyse der Nginx-Serverkonfigurationsdatei
- Nginx-Serverkonfiguration HTTPS nginx.config-Konfigurationsdatei (Tutorial)
- Detaillierte Erklärung der Konfigurationsdatei nginx.conf im Nginx-Server
- Detaillierte Erklärung, wie Sie den Speicherort der Nginx-Konfigurationsdatei finden
- Konfigurationsdetails der Nginx-Konfigurationsdatei (nginx.conf) (Zusammenfassung)
|