Heim >Betrieb und Instandhaltung >Betrieb und Wartung von Linux >Detaillierte Erläuterung der Nginx-Konfigurationsdatei nginx.conf

Detaillierte Erläuterung der Nginx-Konfigurationsdatei nginx.conf

巴扎黑
巴扎黑Original
2017-08-22 13:52:101826Durchsuche

#Definieren Sie den Benutzer und die Benutzergruppe, unter denen Nginx ausgeführt wird.

Benutzer www www;

#Die Anzahl der Nginx-Prozesse. Es wird empfohlen, sie gleich der Gesamtzahl der CPU-Kerne festzulegen .

worker_processes 8;

#Globaler Fehlerprotokollhinweis | .log info;

#Datei verarbeiten

pid /var/run/nginx.pid;

#Die maximale Anzahl von Dateideskriptoren, die von einem Nginx-Prozess geöffnet werden, die theoretische Der Wert sollte sein: Dies ist die maximale Anzahl geöffneter Dateien (Systemwert ulimit -n) geteilt durch die Anzahl der Nginx-Prozesse. Nginx weist jedoch Anforderungen ungleichmäßig zu, daher wird empfohlen, den Wert mit ulimit -n konsistent zu halten.

worker_rlimit_nofile 65535;

#Arbeitsmodus und maximale Anzahl von Verbindungen

Ereignisse

{

#Referenzereignismodell, verwenden Sie [ kqueue |. epoll |. Das Epoll-Modell ist ein leistungsstarkes Netzwerk-I/O-Modell, das unter FreeBSD ausgeführt wird.

use epoll;

#Maximale Anzahl von Verbindungen für einen einzelnen Prozess (maximale Anzahl von Verbindungen = Anzahl von Verbindungen * Anzahl von Prozessen)

worker_connections 65535;

}

#HTTP-Server festlegen

http

{

include mime.types; #Dateierweiterung und Dateitypzuordnungstabelle

default_type application/octet-stream; #Standarddateityp

#charset utf-8; #Standardkodierung

server_names_hash_bucket_size 128; > client_header_buffer_size 32k; #Grenze für Dateigröße hochladen

large_client_header_buffers 4 64k; Modus: Die Sendfile-Anweisung gibt an, ob Nginx die Sendfile-Funktion aufruft, um Dateien auszugeben. Sie ist für normale Anwendungen auf „Ein“ gesetzt. Wenn sie für Anwendungen mit hoher Festplatten-E/A-Belastung wie dem Herunterladen verwendet wird, kann sie zum Ausgleichen der Festplatte auf „Aus“ gesetzt werden Erhöhen Sie die E/A-Verarbeitungsgeschwindigkeit des Netzwerks und verringern Sie die Systemlast. Hinweis: Wenn das Bild nicht richtig angezeigt wird, deaktivieren Sie diese Option.

Autoindex ein; #Verzeichnislistenzugriff aktivieren, geeignet zum Herunterladen von Servern, standardmäßig geschlossen.

tcp_nopush on; #Netzwerküberlastung verhindern

tcp_nodelay on; #Netzwerküberlastung verhindern

keepalive_timeout 120; #Lange Verbindungszeitüberschreitung, in Sekunden

#FastCGI Zugehörige Parameter sollen die Leistung der Website verbessern: den Ressourcenverbrauch reduzieren und die Zugriffsgeschwindigkeit erhöhen. Die folgenden Parameter können wörtlich verstanden werden.

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;

#gzip-Moduleinstellungen

gzip on; #Gzip-Komprimierungsausgabe aktivieren

g zip_min_length 1k; # Minimale Komprimierungsdateigröße

gzip_buffers 4 16k; #Komprimierungspuffer

gzip_http_version 1.0; #Komprimierungsversion (Standard 1.1, wenn das Frontend Squid2.5 ist, verwenden Sie bitte 1.0)

gzip_comp_level 2 ; #Komprimierungsstufe

gzip_types text/plain application/x-javascript text/css application/xml;

#Komprimierungstyp enthält standardmäßig bereits Text/HTML Es ist nicht nötig, es unten zu schreiben. Ja, es wird kein Problem sein, es zu schreiben, aber es wird eine Warnung angezeigt.

gzip_vary on;

#limit_zone crawler $binary_remote_addr 10m; #Muss verwendet werden, wenn die Begrenzung der Anzahl von IP-Verbindungen aktiviert wird

upstream blog.ha97.com {

#Upstream-Lastausgleich, Gewicht ist das Gewicht, und das Gewicht kann entsprechend der Maschinenkonfiguration definiert werden. Der Gewichtsparameter stellt das Gewicht dar. Je höher das Gewicht, desto größer die Wahrscheinlichkeit einer Zuweisung.

Server 192.168.80.121:80 Gewicht=3;

Server 192.168.80.122:80 Gewicht=2;

Server 192.168.80.123:80 Gewicht =3;

}

#Virtuelle Hostkonfiguration

Server{

#Listening Port

Listen 80; >                         #Domainnamen können mehrere durch Leerzeichen getrennte Namen haben

                                                                                                    use                       use     using Leerzeichen              . > root /data/www/pythontab;

Standort ~ .*.(php|php5)?$

{

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fastcgi.conf;

}

#Bild-Cache-Zeiteinstellung

Ort ~ .*.(gif |jpg|jpeg|png|bmp|swf)$

{

läuft 10 Tage ab;

}

#JS- und CSS-Cache-Zeiteinstellungen

Standort ~ .*.(js|c ss) ? $

                                                                                                   läuft 1 Stunde ab;             _addr - $remote_user [ $time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent " $http_x_forwarded_for';

#Definieren Sie dieses virtuelle Host-Zugriffsprotokoll

access_log /var/log/nginx/pythontab.log access;

#Reverse-Proxy aktivieren für "/ "

location / {

Proxy_pass http://127.0.0.1:8888;

Proxy_Redirect Off;

Proxy_Set_header X-Real-IP $remote_addr ;

​ ​ ​ #Der Back-End-Webserver kann X-Forwarded-For übergeben. Holen Sie sich die echte IP des Benutzers

Proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

Proxy_set_header Host $host;

client_max_body_size 10m; #Die maximale Anzahl von Bytes einer einzelnen Datei, die vom Client angefordert werden darf

client_body_buffer_size 128k; #Puffer-Proxy-Puffer Vom Client angeforderte maximale Anzahl von Bytes,

Proxy_Connect_Timeout 90; 🎜>

proxy_read_timeout 90; #Nachdem die Verbindung erfolgreich war, wird die Antwortzeit des Backend-Servers (Proxy-Empfangs-Timeout) eingestellt

proxy_buffer_size 4k; #Legen Sie die Puffergröße des Proxyservers (nginx) fest, um den Benutzerheader zu speichern Informationen

Proxy_buffers 4 32 KB; #proxy_buffers Puffer, die durchschnittliche Webseite ist unter 32 KB eingestellt

Proxy_busy_buffers_size 64 KB; #Puffergröße bei hoher Last (proxy_buffers*2)

Proxy_temp_file_write_size 64k;

#Legen Sie die Cache-Ordnergröße fest, die größer als dieser Wert ist. Sie wird vom Upstream-Server übergeben

}

#Legen Sie die Adresse des Nginx-Status fest

local /NginxStatus {

stub_status on;

access_log on;

auth_basic "NginxStatus";

auth_basic_user_file conf/htpasswd;

Der Inhalt der htpasswd-Datei kann mit dem von Apache bereitgestellten htpasswd-Tool generiert werden.

| jspx | tun)? $ {

proxy_set_header host $ host; -For $ proxy_add_x_forwarded_for;

           oder Harz

        Standort ~ .*.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3| wma)${

                                                                                                                                                           🎜> }

}

}

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Nginx-Konfigurationsdatei nginx.conf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn