Detaillierte Erläuterung der Nginx-Hochleistungskonfiguration
#Globale Konfiguration
#Konfiguration auf hoher Ebene
Benutzer www-data#Benutzerstandardkonfiguration ausführen
pid /var/run/nginx.pid;#Portnummer Standardkonfiguration
worker_processes 8;#Definiert die Anzahl der Worker-Prozesse, wenn Nginx Webdienste für die Außenwelt bereitstellt
#Der optimale Wert hängt von vielen Faktoren ab, einschließlich (aber nicht beschränkt auf) der Anzahl der CPU-Kerne Anzahl der Festplatten, auf denen Daten gespeichert sind, und der Lademodus
#Normalerweise auf die Anzahl der CPUs eingestellt (bei Einstellung auf „Auto“ wird versucht, diese automatisch zu erkennen)
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 10000000; #Ordnen Sie 8 CPUs 8 Prozesse zu. Natürlich können Sie mehr schreiben oder einen Prozess mehreren CPUs zuweisen
worker_rlimit_nofile 200000;#Ändern Sie die maximale Anzahl geöffneter Dateien des Worker-Prozesses
#Wenn nicht festgelegt, dieser Wert ist das Limit des Betriebssystems
#Nachdem Sie es festgelegt haben, können Ihr Betriebssystem und Nginx mehr Dateien als „ulimit -a“ verarbeiten. Stellen Sie diesen Wert daher hoch ein, damit Nginx nicht über „zu viele offene Dateien“ verfügt. Problem
# Wenn Sie 10240 eingeben, beträgt die Gesamtparallelität. Wenn 30.000 bis 40.000 erreicht werden, kann die Anzahl der Prozesse 10.240 überschreiten und ein 502-Fehler wird zurückgegeben.
#Dieser Befehl bezieht sich auf die maximale Anzahl von Dateideskriptoren Der theoretische Wert sollte die maximale Anzahl geöffneter Dateien (ulimit -n) geteilt durch die Anzahl der Nginx-Prozesse sein, aber Nginx-Zuweisungsanforderungen sind nicht so einheitlich, daher ist es am besten, ihn mit dem Wert konsistent zu halten of ulimit -n
events {
worker_connections 102400; #Legen Sie die Verbindungen fest, die von einem Worker-Prozess gleichzeitig geöffnet werden können. Maximale Anzahl von Verbindungen
#Wenn die oben erwähnte worker_rlimit_nofile festgelegt ist, können wir festlegen dieser Wert ist sehr hoch.
#Wichtig: Die maximale Anzahl von Clients ist auch durch die Anzahl der verfügbaren Socket-Verbindungen im System begrenzt (~ 64K), daher bringt es keinen Vorteil, eine unrealistisch hohe Zahl festzulegen.
#Theoretisch ist die maximale Anzahl von Verbindungen für jeden Nginx-Server sind worker_processes*worker_connections
multi_accept on; #Sagen Sie Nginx, dass es nach Erhalt einer neuen Verbindungsbenachrichtigung so viele Verbindungen wie möglich akzeptieren soll
verwenden Sie epoll; #Legen Sie die Abfragemethode für die Wiederverwendung von Client-Threads fest
}
http {
server_tokens off; #Es führt nicht dazu, dass Nginx schneller ausgeführt wird, aber es kann die Nginx-Versionsnummer auf der Fehlerseite deaktivieren, was der Sicherheit dient.
Sendfile aktivieren ( ) kommt ins Spiel
tcp_nopush on; #Sagen Sie Nginx, dass es alle Header-Dateien in einem Paket senden soll, anstatt sie nacheinander zu senden
tcp_nodelay on; Stückweise – Wenn Daten rechtzeitig gesendet werden müssen, sollte dieses Attribut auf die Anwendung festgelegt werden, damit der Rückgabewert beim Senden einer kleinen Dateninformation nicht sofort abgerufen werden kann
access_log off; #Legen Sie fest, ob Nginx dies tun wird Zugriffsprotokolle speichern. Das Deaktivieren dieser Option kann Lese-/Festplatten-E/A-Vorgänge beschleunigen (auch bekannt als YOLO).
error_log /var/log/nginx/error.log crit; weist ein Keep-Alive-Link-Timeout zu. Nach diesem Timeout schließt der Server den Link. Wir setzen es niedriger, damit ngnix länger weiterarbeiten kann
client_header_timeout 10; #Legen Sie das Timeout für den Anforderungsheader fest. Wir können dies auch niedriger einstellen.
client_body_timeout 10; #Legen Sie das Timeout für den Anfragetext fest. Wir können dies auch niedriger einstellen.
reset_timedout_connection on; #Nginx anweisen, nicht reagierende Clientverbindungen zu schließen. Dadurch wird der von diesem Client belegte Speicherplatz freigegeben.
send_timeout 10;#Geben Sie das Antwort-Timeout des Clients an. Diese Einstellung wird nicht auf die gesamte Weiterleitung angewendet, sondern zwischen Client-Lesevorgängen. Wenn der Client in diesem Zeitraum keine Daten liest, schließt nginx die Verbindung
limit_conn_zone $binary_remote_addr z>
#Legen Sie die Parameter des gemeinsam genutzten Speichers fest, der zum Speichern verschiedener Schlüssel verwendet wird (z. B. die aktuelle Anzahl der Verbindungen). . #5m ist 5 Megabyte. Dieser Wert sollte groß genug eingestellt werden, um (32K*5) 32-Byte-Status oder (16K*5) 64-Byte-Status zu speichern.
limit_conn #Legen Sie die maximale Anzahl von Verbindungen für einen bestimmten Schlüssel fest. Der Schlüssel hier ist addr, und der von uns festgelegte Wert ist 100, was bedeutet, dass wir zulassen, dass jede IP-Adresse bis zu 100 Verbindungen gleichzeitig öffnet
include /etc/nginx/mime.types; #Nur eine, die einschließt eine andere in der aktuellen Datei Eine Anweisung für den Inhalt einer Datei. Hier verwenden wir es, um eine Reihe von MIME-Typen zu laden, die später verwendet werden
default_type text/html; #Legen Sie den von der Datei verwendeten Standard-MIME-Typ fest
charset UTF-8; #Legen Sie den Standard im Header fest file Der Zeichensatz
gzip on; # weist nginx an, Daten in gzip-Komprimierung zu senden. Dadurch wird die von uns gesendete Datenmenge reduziert.
gzip_disable "msie6" # GZIP-Funktionalität für den angegebenen Client deaktivieren. Wir setzen es auf IE6 oder niedriger, um unsere Lösung weitgehend kompatibel zu machen. So können Sie das höchste Komprimierungsverhältnis verwenden, sodass Nginx diese Dateien nicht mehr komprimieren muss.
gzip_proxied any; #Komprimierung von Antwortströmen basierend auf Anfragen und Antworten zulassen. Wir setzen es auf „any“, was bedeutet, dass alle Anfragen komprimiert werden.
gzip_min_length 1000; #Legen Sie die Mindestanzahl an Bytes fest, um die Datenkomprimierung zu ermöglichen.Wenn eine Anfrage weniger als 1000 Bytes umfasst,
#Wir sollten sie besser nicht komprimieren, da die Komprimierung dieser kleinen Daten alle Prozesse verlangsamt, die diese Anfrage verarbeiten.
gzip_comp_level 4; #Legen Sie die Komprimierungsstufe der Daten fest. Diese Stufe kann ein beliebiger Wert zwischen 1 und 9 sein, wobei 9 die langsamste Stufe ist, aber das höchste Komprimierungsverhältnis aufweist.
#Wir setzen es auf 4, was eine kompromisslosere Einstellung ist
gzip_buffers 16 8k;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/ xml +rss text/javascript;#Legen Sie das zu komprimierende Datenformat fest
open_file_cache max=100000 inactive=20s; #Beim Öffnen des Caches geben Sie auch die maximale Anzahl der Caches und die Cache-Zeit an.
#Wir können eine relativ hohe Maximalzeit festlegen, damit wir sie löschen können, nachdem sie länger als 20 Sekunden inaktiv waren
open_file_cache_valid 30s; #Geben Sie das Intervall für die Erkennung korrekter Informationen in open_file_cache an
open_file_cache_min_uses 2; Definieren Sie die Mindestanzahl von Dateien während der Inaktivitätszeit des Befehlsparameters in open_file_cache
open_file_cache_errors on
include /etc/nginx/sites-; aktiviert/*;
}
Das Obige enthält eine ausführliche Erläuterung der Nginx-Hochleistungskonfiguration, einschließlich inhaltlicher Aspekte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

PHPSSIONS CANSTORESTRINGEN, ZUGNALTEN, ARRAYS, ANDOBjekte.1.

TostartaphpSession, useSession_start () atthescript'Sbeginning.1) PlaCEITBEFOREANYOUTPUTTOTHESESSIONSCOOKIE.2) useSsionsforuserDatalikeloginStatusOrShopingCarts

Die Sitzung der Sitzung bezieht sich auf die Generierung einer neuen Sitzungs -ID und die Ungültigmachung der alten ID, wenn der Benutzer sensible Vorgänge bei festgelegten Sitzungsangriffen ausführt. Die Implementierungsschritte umfassen: 1. Erkennen sensibler Vorgänge, 2. Erstellen neuer Sitzungs-ID, 3..

PHP -Sitzungen haben erhebliche Auswirkungen auf die Anwendungsleistung. Zu den Optimierungsmethoden gehören: 1. Verwenden Sie eine Datenbank, um Sitzungsdaten zu speichern, um die Antwortgeschwindigkeit zu verbessern; 2. Reduzieren Sie die Verwendung von Sitzungsdaten und speichern Sie nur die erforderlichen Informationen. 3.. Verwenden Sie einen nicht blockierenden Sitzungsprozessor, um die Parallelitätsfunktionen zu verbessern. 4. Passen Sie die Ablaufzeit der Sitzung an, um Benutzererfahrung und Serverbelastung auszugleichen. 5. Verwenden Sie persistente Sitzungen, um die Anzahl der Les- und Schreibzeiten zu verringern.

PhpSessionsaresServer-Side, whilecookiesareclient-Side.1) SESSIsions Storedataontheserver, Aremoresecure und Handlelargerdata.2) CookieStoredataoneTheClient, AslosenSecure und LimitedInsiesindaSsibilitäts- und -Stasibilitäts- und -Stasibilitäts- und -Anssibilitäts- und -Anssibilitätsporsedataandcookiesefornonsesibel, adailliertes, adailliertes, adailliertes, adailliertes, adailliertes, addiertes-addiertes- und -Staillieren- und -Anssistieren, und -Anssibilitätsporsedaten- und -Sta- und addierta und -Anssibilitäts- und addiertes- und addailliert.

PhpidentifiesAsersSSessionUsingSSessionCookiesAndSessionIDs.1) WHANE Session_Start () iscalled, phpGeneratesAuniqueSessionIDStoredInacookienMamePhpSsidontonTheusers.2) thisidallowStoretrieVessionDataFromtheServer.

Die Sicherheit von PHP -Sitzungen kann durch folgende Maßnahmen erreicht werden: 1. Verwenden Sie Session_regenerate_id (), um die Sitzungs -ID zu regenerieren, wenn sich der Benutzer anmeldet oder eine wichtige Operation ist. 2. Verschlüsseln Sie die Übertragungssitz -ID durch das HTTPS -Protokoll. A. Verwenden Sie Session_save_path (), um das sichere Verzeichnis anzugeben, um Sitzungsdaten zu speichern und Berechtigungen korrekt festzulegen.

PhpSessionFilesArestoredinTHedRectorySpecifiedBySession.save_path, typischerweise/tmponunix-likesystemsorc: \ windows \ temponwindows


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

MantisBT
Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.
