Heim >Backend-Entwicklung >PHP-Tutorial >Zusammenfassung der Nginx.conf-Konfiguration

Zusammenfassung der Nginx.conf-Konfiguration

WBOY
WBOYOriginal
2016-08-08 09:30:47966Durchsuche

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 Bild

ungewö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 einschalten, GNU komprimiert statische Ressourcen und optimiert die Website-Zugriffsgeschwindigkeit gzip ein; 🎜>#Gzip-Komprimierungsausgabe aktivieren

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;

include fastc gi_params;

}

#JS- und CSS-Cache-Zeiteinstellungen


Standort ~ .*.(js|css)?$



{



läuft 1 Stunde ab;

}

# 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;



proxy_set_header X-Real-IP $remote_addr;

# 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)$ {
                                                                                                                                                                                                                                         ;

FastCGI_SPLIT_PATH_INFO ^(.+. PHP) (/.+) $; .0.1:9000;

# 🎜 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.


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