Maison  >  Article  >  développement back-end  >  Explication détaillée de la configuration et des paramètres de base de nginx

Explication détaillée de la configuration et des paramètres de base de nginx

高洛峰
高洛峰original
2017-03-12 13:44:081652parcourir

Cet article explique en détail la configuration et les paramètres de base de nginx

utilisateur personne;

#Démarrer le processus, généralement défini pour être égal au nombre de processeurs

worker_processes 1;

#Journal des erreurs global et fichier PID

#error_log logs/error.log;

#error_log logs/error.log avis;

#error_log logs/error.log info;

#pid logs/nginx.pid;

#Workingmodeet nombre maximum de connexions

événements {

#epoll est une méthode de multiplexage IO (I/O Multiplexing),

#Utilisé uniquement pour linux2.6 ou supérieur noyau, peut améliorer considérablement les performances de nginx

use epoll;

#Le nombre maximum de connexions simultanées pour un seul processus de travail en arrière-plan

worker_connections 1024;

#Le nombre total de connexions simultanées est le produit de Worker_processes et Worker_connections

# Autrement dit, max_clients = Worker_processes * Worker_connections

# Lorsqu'un proxy inverse est défini, max_clients = Worker_processes * Worker_connections / 4 Pourquoi

# Pourquoi le proxy inverse ci-dessus devrait-il être divisé par 4 Il faut dire qu'il s'agit d'une valeur empirique

# Selon les conditions ci-dessus, le nombre maximum de connexions que Nginx ? Le serveur peut gérer dans des circonstances normales : 4 * 8000 = 32000

# Le paramètre de la valeur worker_connections est lié à la taille de la mémoire physique

# Parce que la concurrence est soumise aux contraintes IO , la valeur de max_clients doit être inférieure au nombre maximum de fichiers que le système peut ouvrir

# Le nombre maximum de fichiers pouvant être ouverts par le système est proportionnel à la taille de la mémoire. le nombre de fichiers pouvant être ouverts sur une machine avec 1 Go de mémoire est d'environ 100 000

# Jetons un coup d'œil aux descripteurs de fichiers pouvant être ouverts par un VPS avec 360 Mo de mémoire.

# $ cat /proc/sys/fs/file-max

# Sortie 34336

# 32000 < le nombre total de connexions simultanées est inférieur au nombre total de descripteurs de fichiers que le système peut ouvrir, ce qui est dans la plage que le système d'exploitation peut supporter

# Par conséquent, la valeur de worker_connections doit être déterminée en fonction de le nombre de processus work_processes et le nombre total maximum de fichiers que le système peut ouvrir de manière appropriée

# Rendre le nombre total de connexions simultanées inférieur au nombre maximum de fichiers que le système d'exploitation peut ouvrir

# L'essence est de le configurer en fonction du processeur physique et de la mémoire de l'hôte

# Bien entendu, le nombre total théorique de simultanéités peut différer du nombre réel, car l'hôte a d'autres processus de travail qui doivent consommer des ressources système.

# ulimit -SHn 65535

}

http {

#Définissez le type MIME, le type est défini par le fichier mime.type

include mime.types;

default_type application/octet-stream;

#Définir le format du journal

log_format main '$remote_addr - $remote_user [$time_local] "$request" '

' $status $body_bytes_sent " $http_referer " '

                               '"$http_user_agent" "$http_x_forwarded_for"';

access_log logs/access.log main;

#sendfile directive spécifie si nginx appelle sendfile fonction (zéro copie méthode ) pour sortir des fichiers,

#Pour les applications ordinaires , il doit être activé,

#S'il est utilisé pour des applications à forte charge d'E/S disque telles que le téléchargement, il peut être désactivé,

#Pour équilibrer la vitesse de traitement des E/S du disque et du réseau, réduisez la disponibilité du système.

sendfile on;

#tcp_nopush on;

#Délai d'expiration de la connexion

#keepalive_timeout 0;

keepalive_timeout 65;

tcp_nodelay on;

#Activer gzipcompression

gzip on;

gzip_disable "MSIE [1-6].";

#Set request buffer

client_head er_buffer_size 128k;

large_client_header_buffers 4 128k;

#ParamètresHôte virtuelConfiguration

serveur {

#Écoute 8 Port 0

                                                                                                                                        #Définir l'emplacement du répertoire racine du site Web par défaut du serveur

racine html ;

#Définir le journal d'accès de cet hôte virtuel

access_log logs/nginx .access.log main; #Demande par défaut

emplacement / {

#Définir la page d'accueil

index

nom du fichier

index index.php index.html index.html; emplacement = /50x.html {

                                                                                                                                                   

|js|css|flash|media|

static<.>)/ {                                                                                                                                                                                                                                  ​ ,

            #Si vous mettez à jour fréquemment, vous pouvez le réduire.

expire 30 jours ;

}

Les requêtes de script #PHP sont toutes transmises à FastCGI pour traitement. Utilisez la configuration par défaut de FastCGI.

emplacement ~ .php$. {

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_para ms;

}

#Pas d'accès aux fichiers .htxxx

emplacement ~ /.ht {

refuser tout;

}

}

}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn