Résumé : Configuration de base de Nginx et description des paramètres
#Utilisateur en cours d'exécution
utilisateur personne;
#Démarrer le process , généralement défini pour être égal au nombre de cpu
worker_processes 1;
#Journal des erreurs global et fichier PID
#error_log logs/error.log;
#error_log logs/error .log notice ;
#error_log logs/error.log info;
#pid logs/nginx.pid;
#Mode de travail et nombre maximum de connexions
événements {
#epoll C'est une méthode de multiplexage des E/S (I/O Multiplexing).
# Utilisé uniquement pour les noyaux Linux2.6 et supérieurs, ce qui peut grandement améliorer les performances de nginx.
utilisez 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 = work_processes * work_connections
# Lorsque reverse est défini Dans le cas d'un proxy, max_clients = work_processes * work_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 serveur Nginx peut le gérer dans des circonstances normales. Le nombre maximum de connexions est : 4 * 8000 = 32000
# Le paramètre de la valeur worker_connections est lié à la taille de la mémoire physique
# La concurrence étant soumise aux contraintes d'E/S, la valeur de max_clients doit être inférieure au nombre maximum de fichiers que le système peut ouvrir
# Et le nombre maximum de fichiers pouvant être ouverts par le système est proportionnel à la taille de la mémoire . Généralement, 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 au nombre de descripteurs de fichiers pouvant être ouverts par un VPS avec 360 Mo de mémoire :
# $ cat /proc/sys/fs/file-max
# Output 34336
# 32000 < 34336, c'est-à-dire que le nombre total de connexions simultanées est inférieur au nombre total de descripteurs de fichiers que le système peut ouvert, de sorte que lorsque le système d'exploitation peut Dans la plage acceptable
# Par conséquent, la valeur de worker_connections doit être définie de manière appropriée en fonction du nombre de processus worker_processes et du nombre total maximum de fichiers que le système peut ouvrir
# pour que le nombre total de concurrence soit inférieur au nombre maximum de fichiers que le système d'exploitation peut ouvrir
# L'essence est de configurer en fonction du CPU physique et de la mémoire de l'hôte
# Bien sûr, la théorie Le nombre total de simultanéités peut différer du nombre réel, car l'hôte dispose 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;
#Set log format
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;
La directive #sendfile spécifie si nginx appelle la fonction sendfile (mode zéro copie) pour générer des fichiers,
#Pour les applications normales, elle doit être activée ,
#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 et réduire 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 la compression gzip
gzip activé;
gzip_disable "MSIE [1-6].";
#Définir le tampon de requête
client_header_buffer_size 128k;
large_client_header_buffers 4 128k;
# Définir la configuration de l'hôte virtuel
serveur {
#Écouter le port 80
écouter 80;
#Définir à l'aide de www.nginx.cn pour accéder à
nom_serveur www.nginx.cn;
#Définir la valeur par défaut de l'emplacement du répertoire racine du site Web du serveur
root 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 le nom du fichier d'index de la page d'accueil
index index.php index.html index.htm;
}
#Définir la page d'invite d'erreur
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
#Fichier statique, nginx le gère par lui-même
emplacement ~ ^/(images|javascript| js|css|flash|media|static)/ {
#Expiration est de 30 jours, les fichiers statiques ne sont pas beaucoup mis à jour, l'expiration peut être définie plus grande,
#S'il est mis à jour fréquemment, il peut être défini plus petit.
expire 30j;
}
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_params;
}
#Aucun accès aux fichiers .htxxx
emplacement ~ /. ht {
tout refuser;
}
}
}
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!