PS: Ich benutze Nginx seit zwei oder drei Jahren. Jetzt treffe ich oft auf einige sehr grundlegende Fragen, die ich nicht einzeln beantworten kann Zeit heute Nachmittag und kombinierte mich Basierend auf meiner Erfahrung mit Nginx möchte ich die Beschreibung der wichtigsten Konfigurationsparameter von Nginx teilen und auch auf einige Netzwerkinhalte verweisen. Dieser Artikel ist derzeit die umfassendste chinesische Beschreibung der Nginx-Konfigurationsparameter . Ausführlichere Modulparameter finden Sie unter: http://wiki.nginx.org/Main
<br>#定义Nginx运行的用户和用户组<br>user www www;
#nginx Prozessnummer, es wird empfohlen um es gleich der CPU-Gesamtzahl der Kerne zu setzen.
worker_processes 8;
#Globaler Fehlerprotokollhinweis | >
#Prozessdatei
#Die maximale Anzahl der von einem Nginx-Prozess geöffneten Dateideskriptoren. Der theoretische Wert sollte die maximale Anzahl geöffneter Dateien sein (Systemwert ulimit -n) wird durch die Anzahl der Nginx-Prozesse geteilt, aber Nginx weist Anforderungen ungleichmäßig zu, daher wird empfohlen, den Wert mit ulimit -n konsistent zu halten.
#Arbeitsmodus und maximale Anzahl von Verbindungen
#Referenzereignismodell, verwenden Sie [ epoll | |. poll ]; Das epoll-Modell ist ein leistungsstarkes Netzwerk-I/O-Modell in der Linux-Kernel-Version 2.6 oder höher. Wenn es unter FreeBSD läuft, wird das kqueue-Modell verwendet.
epoll verwenden;
#Maximale Anzahl von Verbindungen für einen einzelnen Prozess (maximale Anzahl von Verbindungen = Anzahl von Verbindungen * Anzahl von Prozessen)
worker_connections 65535;
}
#HTTP-Server definierenhttp{
include mime.types; #Dateierweiterung und Dateitypzuordnungstabelle
default_type application/octet-stream; #Standarddateityp
#charset utf-8 ; #Standardkodierung
server_names_hash_bucket_size 128; #Hash-Tabellengröße des Servernamens
client_header_size 32k; #Request Slow
sendfile on; #Aktivieren Sie den effizienten Dateiübertragungsmodus. Die sendfile-Anweisung gibt an, ob sie für normale Anwendungen auf „on“ gesetzt ist B. beim Herunterladen, kann es deaktiviert werden, um die E/A-Verarbeitungsgeschwindigkeiten von Festplatte und Netzwerk auszugleichen und die Systemlast zu reduzieren. Hinweis: Wenn das Bild nicht richtig angezeigt wird, deaktivieren Sie diese Option.
Autoindex aktiviert; #Verzeichnislistenzugriff aktivieren, zum Herunterladen von Servern geeignet, standardmäßig geschlossen.
tcp_nopush on; #Netzwerkblockierung verhindern
tcp_nodelay on; #Netzwerkblockierung verhindern
keepalive_timeout 120; #Lange Verbindungszeitüberschreitung, in Sekunden
#FastCGI-bezogene Parameter dienen der Verbesserung der Website-Leistung: Reduzieren Sie den Ressourcenverbrauch und verbessern Sie die Zugriffsgeschwindigkeit. Die folgenden Parameter können wörtlich verstanden werden.
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
# gzip-Moduleinstellungen
gzip on; #Gzip-Komprimierungsausgabe aktivieren
gzip_min_length 1k; #Minimale komprimierte Dateigröße
gzip_buffers 4 16k; #Komprimierte Version (Standard 1.1, vorne). Ende Wenn es Squid2.5 ist, verwenden Sie bitte 1.0)
gzip_types text/plain application/x-javascript text/css
application/xml;
#Komprimierungstyp, text/html ist bereits standardmäßig enthalten, daher ist es nicht erforderlich, es unten zu schreiben. Beim Schreiben tritt kein Problem auf, es wird jedoch eine Warnung angezeigt.
gzip_vary on;
#limit_zone crawler $binary_remote_addr 10m; #Sie müssen es verwenden, wenn Sie die Begrenzung der Anzahl der IP-Verbindungen aktivieren
upstream blog.ha97.com {
#Upstream-Last Auswuchten, Gewicht ist Gewicht, das Gewicht kann basierend auf 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;
# Konfiguration des virtuellen Hosts
Server
{
#Listening-Port
listen 80;
Servername www.ha97.com ha97.com ;
index index.html index.htm index.php;
root /data/www/ha97;
location ~ .*.(php|php5)?$
{
fastcgi_pass 127.0 . 0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
#Bild-Cache-Zeiteinstellung
Standort ~ .*.(gif|jpg|jpeg|png| bmp |swf)$
{
läuft 10 Tage ab;
}
#JS- und CSS-Cache-Zeiteinstellungen
Standort ~ .*.(js|css)?$
{
läuft 1 Stunde ab;
}
#Protokollformateinstellung
log_format-Zugriff
'$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
#Definieren Sie den Zugriff auf diesen virtuellen Host Protokoll
access_log /var/log/nginx/ha97access.log access;
#Reverse-Proxy aktivieren für „/“
location / {
proxy_pass http://127.0.0.1:88;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
#Der Backend-Webserver kann die echte IP des Benutzers über X-Forwarded-For erhalten
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#Im Folgenden sind einige optionale Reverse-Proxy-Konfigurationen aufgeführt.
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; #Die maximale Anzahl von Bytes, die der Puffer-Proxy vom Client puffert request,
proxy_connect_timeout 90; #nginx-Verbindungszeitüberschreitung mit dem Backend-Server (Proxy-Verbindungszeitüberschreitung)
proxy_send_timeout 90; #Backend-Server-Datenrückgabezeit (Proxy-Sendezeitüberschreitung)
proxy_read_timeout 90; #Nachdem die Verbindung erfolgreich war , der Backend-Server antwortet Zeit (Proxy-Empfangs-Timeout)
proxy_buffer_size 4k; #Legen Sie die Puffergröße des Proxy-Servers (nginx) fest, um Benutzer-Header-Informationen zu speichern
proxy_buffers 4 32k; #proxy_buffers buffer, die durchschnittliche Webseite unter 32k einstellen
proxy_busy_buffers_size 64k; #Puffergröße unter hoher Last (proxy_buffers*2)
proxy_temp_file_write_size 64k;
#Stellen Sie die Cache-Ordnergröße ein, die größer als dieser Wert ist Upstream-Server
}
# Legen Sie die Adresse fest, um den Nginx-Status anzuzeigen
location /NginxStatus {
stub_status on;
access_log on;
auth_basic "NginxStatus";
auth_basic_user_file conf/htpasswd;
#htpasswd-Dateiinhalt Kann mit dem von Apache bereitgestellten htpasswd-Tool generiert werden.
}
#Lokale dynamische und statische Trennung Reverse-Proxy-Konfiguration <code>#本地动静分离反向代理配置<br>#所有jsp的页面均交由tomcat或resin处理<br>location ~ .(jsp|jspx|do)?$ {<br>proxy_set_header Host $host;<br>proxy_set_header X-Real-IP $remote_addr;<br>proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br>proxy_pass http://127.0.0.1:8080;<br>}<br>#所有静态文件由nginx直接读取不经过tomcat或resin<br>location ~ .*.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$<br>{ expires 15d; }<br>location ~ .*.(js|css)?$<br>{ expires 1h; }<br>}<br>}<br>
#Alle JSP-Seiten werden von Tomcat oder Harz verarbeitet
location ~ .(jsp|jspx|do $)? {
{ läuft ab 15d; }
location ~ .*.(js|css)?${ läuft 1 Stunde ab; }
}}
Für detailliertere Modulparameter Bitte beachten Sie: http://wiki.nginx.org/MainPermanenter Link: http ://www.ha97.com/5194.html Das Obige stellt die Analyse der Nginx.conf-Konfigurationsdatei einschließlich des relevanten Inhalts vor. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.