Heim >Backend-Entwicklung >PHP-Tutorial >Zusammenfassung der Nginx.conf-Konfiguration
Die Projekte wurden in den letzten Monaten in der Nginx-Umgebung erstellt. Im Notfall kann ich mich hiermit gerne beschweren
Detaillierte Konfigurationsinformationen finden Sie in der offiziellen Dokumentation: http://wiki.nginx.org/Configuration
#Geben Sie den Benutzer und den Benutzer an Gruppe für die Ausführung von Nginx. Auf dieser Grundlage können Sie die Berechtigungen für den Zugriff von Nginx auf Ordner festlegen, um zu verhindern, dass illegale Benutzer ohne Berechtigungen auf Ordner zugreifen. Übrigens, für das Lesen und Schreiben der Protokolldatei des PHP-Projekts
# ist der Benutzer nicht Nginx, da Nginx PHP zum Parsen an PHP-CGI weiterleitet, sodass der Benutzer PHP ist -cgi Der Besitzer, normalerweise www-data
user nginx nginx;
#Die Anzahl der Prozesse, die Nginx öffnen, die Anzahl sollte sein kleiner oder gleich der Gesamtzahl der CPU-Kerne, verbessert die Parallelität des Programms
worker_processes 4;
#Globales Zugriffs- und Fehlerprotokoll | ;
error_log /var/nginx/error.log warn;
#Standardeinstellung für das Protokollformat
log_format access $remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'" $http_user_agent" $http_x_forwarded_for';
#Datei, wenn der Prozess ausgeführt wird
pid /run/nginx.pid ;
#Arbeitsmodus und maximale Anzahl von Verbindungen
Ereignisse
#Ereignismodell, verwenden Sie [ kqueue |. /dev/poll | ];
# Das Epoll-Modell ist ein leistungsstarkes Netzwerk-I/O-Modell im Linux-Kernel 2.6 oder höher. Verwenden Sie bei Ausführung unter FreeBSD das kqueue-Modell.
epoll verwenden;
#Maximale Anzahl von Verbindungen für einen einzelnen Prozess (maximale Anzahl von Verbindungen = Anzahl von Verbindungen * Anzahl von Prozessen) , meine Konfiguration ist 768 *4
worker_connections 768;
#Aktiviert die gleichzeitige Annahme mehrerer Anfragen, hohe Parallelität
multi_accept on;
}
# Einstellungen http-Server
http
{
include mime. Typen; #MIME-Format, Dateierweiterung und Dateitypzuordnungstabelle verwenden
default_type application/octet-stream; #Standarddateityp, Dateistream
#charset utf- 8; #Standardkodierung
server_names_hash_bucket_size 128; #Hash-Tabellengröße des Servernamens
#Legen Sie die Obergrenze fest der Upload-Dateigröße auf 8 MB 🎜>Rufen Sie die Sendfile-Funktion (Null-Kopier-Modus) auf, um Dateien auszugeben , für normale Anwendungen auf „Ein“ setzen, bei Verwendung für Festplatten-IO-Anwendungen mit hoher Auslastung wie Downloads kann #ausgeschaltet werden, um Festplatten- und Netzwerk-I auszugleichen/ O Verarbeitungsgeschwindigkeiten und reduzieren die Systemlast und Verfügbarkeit
. Hinweis: Wenn das Bildungewöhnlich angezeigt wird, ändern Sie dies auf „Aus“.
sendfile on;
#Zugriffs-Schwarz- und Weißliste festlegen, Dateiname, Größe
white_black_list_conf conf/white.list zone=white1:4m;white_black_list_conf conf/black.list zone=black1:4m;white_list white1 on ; #Whitelist white1 ist durchgehend aktiviert{} black_list black1 on; #Blacklist black1 ist durchgehend aktiviert{}
tcp_nodelay on; #Netzwerkblockierung verhindern
keepalive_timeout 65; #Lange Verbindungszeitüberschreitung, die Einheit beträgt Sekunden
gzip_min_length 1k; #Mindestdateigrößenbeschränkung für die Komprimierung aktivieren
gzip_buffers 4 16k;
#Stellen Sie das System so ein, dass es mehrere Cache-Einheiten zum Speichern des GZIP-Komprimierungsergebnisdatenstroms erhält, und beantragen Sie jeweils 4*16=64k Cache
gzip_http_version 1.0;
#Dateien mit http1.0 und höher komprimieren
gzip_comp_level 2; #Komprimierungsstufe , 1 -10, je größer der Wert, desto höher die Komprimierungsrate
#Komprimierte Dateitypen, CSS, JS, PHP, JPG, PNG gzip_types
text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/pnggzip_vary on;
#Ausnahmen zulassen gzip_disable"MISE[1-6]"#Komprimierung für IE6 und niedriger deaktivieren #limit_zone crawler $binary_remote_addr 10m; #Einschränkung aktivieren IP Sie müssen upstream www.xxx.com { # Für verwenden Vorgelagerter Lastausgleich, Gewicht ist das Gewicht, das entsprechend der Maschinenkonfiguration definiert werden kann. 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; }
#FastCGI-bezogene Parameter sollen die Leistung der Website verbessern: den Ressourcenverbrauch reduzieren und die Zugriffsgeschwindigkeit erhöhen. 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;
# Konfiguration jedes Servers
Server
{
#Standardmäßiger Überwachungs-HTTP-Port 80, sowohl IPv4 als auch IPv6
listen 80;
listen [::]:80 default_server ipv6only=on;
#Sie können mehrere Domänennamen haben, getrennt durch Leerzeichen
Servername www.xx.com xx.com;
index index.php;
root /data/www/ xx;
#Das Mobiltelefon führt zu einer anderen Seite
Standort / {
# Bestimmen Sie den Zugriffsterminaltyp
if ($http_user_agent ~* '(Android|iPhone|iPad|webOS|iPod|BlackBerry)') {
rewrite ^.+ http://m. xx. com;
}
root /usr/share/nginx/html;
index index.php index.html index.htm; >
#Bild-Cache-Zeiteinstellung , ähnlich wie beim HTML-Seiten-Meta-Tag, können Sie Ablauf oder maximales Alter
Speicherort ~ .(html |htm|gif|jpg|jpeg|png| festlegen bmp|swf
)$ {
läuft 10 Tage ab; root /usr/share /nginx/html; 🎜>location ~ .php$ {
$ ;
# HINWEIS: Sie sollten „cgi.fix_pathinfo = 0;“ haben php.ini
# Mit php5-cgi allein: 🎜> # Mit php5-fpm : #fastcgi_pass unix:/var/run/php5-fpm.sock; gi_script_name;
}
#JS- und CSS-Cache-Zeiteinstellungen
}
# Fehlerseite
error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html;
}#Reverse-Proxy für „/“ aktivieren
Standort / {
proxy_pass http:// 127.0.0.1:88 ; proxy_redirect off;
# Der Back-End-Webserver kann die echte IP des Benutzers über X-Forwarded-For erhalten
proxy_set_header Es handelt sich um eine optionale Reverse-Proxy-Konfiguration.
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; #Buffer-Proxy puffert die maximale Anzahl der vom Client angeforderten Bytes,
proxy_connect_timeout 90; #nginx-Verbindungszeitlimit mit der Rückseite -Endserver (Proxy-Verbindungs-Timeout)
proxy_send_timeout 90; #Backend-Server-Datenrückgabezeit (Proxy-Sende-Timeout)
proxy_read_timeout 90; #Nach erfolgreicher Verbindung wird die Back-End-Server-Antwortzeit (Proxy-Empfang) angezeigt Timeout)
proxy_buffer_size 4k; #Legen Sie die Puffergröße für den Proxyserver (nginx) fest, um Benutzer-Header-Informationen zu speichern
proxy_buffers 4 32k; #proxy_buffers Puffer, die durchschnittliche Webseite ist auf 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, wenn sie größer als dieser Wert ist, wird sie vom Upstream-Server übertragen
}
#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 confpasswd;
Der Inhalt der #htpasswd-Datei kann mit dem von Apache bereitgestellten Tool htpasswd generiert werden.
}
#Wenn Sie j2ee verwenden, können Sie die Seite an den Port weiterleiten 8080, Alle jsp Seiten werden von Tomcat oder Resin verarbeitet
location ~ .(jsp|jspx|do|action)?$ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
Proxy_Set_Header X-Forwarded-For $Proxy_Add_X_Forwarded_For; > }
#Richten Sie einen Server für den mobilen Zugriff ein und empfangen Sie Anfragen vom Mobiltelefon für den Zugriff auf die Hauptseite Server {
listen 80;Servername m .xx.com www.m.xx.com;
access_log /usr/share/nginx/logs/mobile_access.log;error_log /usr/share/nginx/logs/mobile_error . log;
location / {root /usr/share/nginx/html/mobile;
index index.html index.htm; }
location ~ .(html|htm| gif |jpg|png)$ {
;
# 🎜 PHP5-FPM:
#Fastcgi_pass unix: /var/Run/php5-fpm.sock; ASTCGI_PARAM SCRIPT_FILENAME $ document_root$fastcgi_script_name;
document_root$fastcgi_script_name;
Das Obige stellt die Konfigurationszusammenfassung von Nginx.conf vor, einschließlich des relevanten Inhalts. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.