Maison > Article > développement back-end > Explication détaillée de la configuration et des paramètres de base de nginx
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
indexnom du fichier
index index.php index.html index.html; emplacement = /50x.html {
|js|css|flash|media|
#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!