Maison >Opération et maintenance >exploitation et maintenance Linux >Explication détaillée du fichier de configuration Nginx nginx.conf

Explication détaillée du fichier de configuration Nginx nginx.conf

巴扎黑
巴扎黑original
2017-08-22 13:52:101826parcourir

#Définissez l'utilisateur et le groupe d'utilisateurs sur lesquels Nginx s'exécute

utilisateur www www;

#Le nombre de processus nginx, il est recommandé de le définir égal au nombre total de cœurs de processeur .

worker_processes 8;

#Type de définition du journal des erreurs globales, [informations de débogage | avertir erreur | .log info;

#Process file

pid /var/run/nginx.pid;

#Le nombre maximum de descripteurs de fichiers ouverts par un processus nginx, le théorique la valeur doit être Il s'agit du nombre maximum de fichiers ouverts (valeur système ulimit -n) divisé par le nombre de processus nginx. Cependant, nginx alloue les requêtes de manière inégale, il est donc recommandé de garder la valeur cohérente avec ulimit -n.

worker_rlimit_nofile 65535;

#Mode de travail et nombre maximum de connexions

événements

{

#Modèle d'événement de référence, utilisez [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; Le modèle epoll est un modèle d'E/S réseau hautes performances dans le noyau Linux 2.6 ou supérieur.

use epoll;

#Nombre maximum de connexions pour un seul processus (nombre maximum de connexions = nombre de connexions * nombre de processus)

worker_connections 65535;

}

#Définir le serveur http

http

{

inclure mime.types ; #Extension de fichier et table de mappage de type de fichier

default_type application/octet-stream ; #Type de fichier par défaut

#charset utf-8 ; #Encodage par défaut

server_names_hash_bucket_size 128 ; #Taille de la table de hachage du nom du serveur

client_header_buffer_size 32k ; #Limite de taille du fichier de téléchargement

large_client_header_buffers 4 64k ; #Définir le tampon de requête

client_max_body_size 8m ; #Définir le tampon de requête

sendfile activé ; mode, L'instruction sendfile spécifie si nginx appelle la fonction sendfile pour générer des fichiers. Elle est activée pour les applications ordinaires. Si elle est utilisée pour des applications à forte charge d'E/S disque telles que le téléchargement, elle peut être désactivée pour équilibrer le disque et. vitesse de traitement des E/S du réseau et réduire la vitesse du système. Remarque : Si l'image ne s'affiche pas correctement, désactivez cette option.

autoindex activé ; #Activer l'accès à la liste des répertoires, adapté aux serveurs de téléchargement, fermé par défaut.

tcp_nopush on ; #Prévenir la congestion du réseau

tcp_nodelay on ; #Prévenir la congestion du réseau

keepalive_timeout 120 #Délai d'expiration de connexion long, en secondes

#FastCGI les paramètres associés visent à améliorer les performances du site Web : réduire l’utilisation des ressources et augmenter la vitesse d’accès. Les paramètres suivants peuvent être compris littéralement.

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;

#paramètres du module gzip

gzip activé; #Activer la sortie de compression gzip

g zip_min_length 1k #; Taille minimale du fichier de compression

gzip_buffers 4 16k ; #Tampon de compression

gzip_http_version 1.0 ; #Version de compression (par défaut 1.1, si le frontal est squid2.5, veuillez utiliser 1.0)

gzip_comp_level 2 ; #Niveau de compression

gzip_types text/plain application/x-javascript text/css application/xml;

#Le type de compression inclut déjà le texte/html par défaut, il y a donc pas besoin de l'écrire ci-dessous Oui, il n'y aura aucun problème pour l'écrire, mais il y aura un avertissement.

gzip_vary on;

#limit_zone crawler $binary_remote_addr 10m; #Besoin d'utiliser lors de l'activation de la limitation du nombre de connexions IP

blog en amont.ha97.com {

#Équilibrage de charge en amont, le poids est le poids, et le poids peut être défini selon la configuration de la machine. Le paramètre de poids représente le poids. Plus le poids est élevé, plus la probabilité d'être attribué est grande.

serveur 192.168.80.121:80 poids=3;

serveur 192.168.80.122:80 poids=2;

serveur 192.168.80.123:80 poids =3;

>

#Configuration de l'hôte virtuel

serveur{

#Port d'écoute

écoute 80 >

#Les noms de domaine peuvent avoir plusieurs noms, séparés par des espaces

nom_serveur www.pythontab.com;

index index.html index.htm index.php;

racine / data/www/pythontab;

emplacement ~ .*.(php|php5)?$

{

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fastcgi.conf;

}

#Paramètre de l'heure du cache des images

emplacement ~ .*.(gif |jpg| jpeg|png|bmp|swf)$

{

expire 10j ;

}

Paramètres de temps de cache #JS et CSS

emplacement ~ .*.(js|c ss) ? $

                                                                                                                    expire dans 1 h ;            _addr - $remote_user [ $time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent " $http_x_forwarded_for';

#Définir cet hôte virtuel Journal d'accès

access_log /var/log/nginx/pythontab.log access;

#Activer le proxy inverse pour "/ "

emplacement / {

proxy_pass http://127.0.0.1:8888;

proxy_redirect off;

proxy_set_header X-Real-IP $remote_addr ;

​ ​ ​ #Le serveur Web back-end peut transmettre X-Forwarded-For Obtenez la véritable adresse IP de l'utilisateur

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header Host $host;

client_max_body_size 10m; #Le nombre maximum d'octets d'un seul fichier pouvant être demandé par le client

client_body_buffer_size 128k #Buffer proxy buffer; client demandé Nombre maximum d'octets,

proxy_connect_timeout 90 ; délai d'expiration de la connexion #nginx avec le serveur backend (délai d'expiration de la connexion proxy)

proxy_send_timeout 90 ; #Temps de retour des données du serveur backend (délai d'expiration du proxy)

proxy_read_timeout 90 ; #Une fois la connexion réussie, le temps de réponse du serveur backend (délai de réception du proxy)

proxy_buffer_size 4k ; #Définissez la taille du tampon du serveur proxy (nginx) pour enregistrer l'en-tête de l'utilisateur. informations

proxy_buffers 4 32k ; tampon #proxy_buffers, la page Web moyenne est définie en dessous de 32k

proxy_busy_buffers_size 64k ; #Taille du tampon sous charge élevée (proxy_buffers*2)

proxy_temp_file_write_size 64k;

#Définir la taille du dossier cache, supérieure à cette valeur, sera transmis depuis le serveur en amont

}

#Définir l'adresse de l'état nginx

local /NginxStatus {

stub_status on;

access_log on;

auth_basic "NginxStatus";

auth_basic_user_file conf/htpasswd;

Le contenu du fichier htpasswd peut être généré à l'aide de l'outil htpasswd fourni par Apache.

                                                                                                                                                                                                        |jspx|do)?$ {

proxy_set _header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded -Pour $ proxy_add_x_forwarded_for;

            proxy_pass http://127.0.0.1:8080;

          }

            #Tous les fichiers statiques sont lus directement par nginx sans passer par Tomcat ou résine

        emplacement ~ .*.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3| wma)${

                                                                                                                                                                          🎜> }

}

}

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