# Utilisateur exécutant l'utilisateur le WWW - Données; # démarrer le processus, et le plus souvent mis à égal au nombre de cpu worker_processes 1 ; # log global d'erreur et les fichiers PID error_log / var / log / nginx / error.log; pid / var / RUN / nginx. pid; #Mode de travail et nombre maximal d' événements de connexion { use epoll; #epoll est un moyen de multiplexer les E / S (multiplexage d'E / S), mais uniquement pour les noyaux Linux2.6 et supérieurs, peut considérablement améliorer les performances de nginx worker_connections 1024 ; #Maximum de connexions simultanées d'un seul processus de travail en arrière-plan # multi_accept on; } #Définissez le serveur http, utilisez sa fonction de proxy inverse pour fournir un support d'équilibrage de charge http { type mime, type is mime.type file Définition include / etc / nginx / mime.types; default_type application / octetstream ; #Set log format access_log / var / log / nginx / access.log; #sendfile directive spécifie si nginx appelle la fonction sendfile (méthode de copie nulle) pour sortir Pour les applications courantes, # doit être activé. S'il est utilisé pour télécharger des applications telles que des applications de charge élevée d' E / S de disque, il peut être défini sur off 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; # ON tcp_nopush; # temps de connexion #keepalive_timeout 0 ; keepalive_timeout 65 ; TCP_NODELAY ON; # ouvert gzip compression gzip; gzip_disable" MSIE [1-6] \. (?!. * SV1) " ; #Set request buffer client_header_buffer_size 1k; large_client_header_buffers 4 4k; include /etc/nginx/conf.d / * .conf; include / etc / nginx / sites-enabled / *; #Set load balancing server list upstream mysvr { #weigth parameter says the weight, the more the weight, the more the probabilité of being assigned # Squid on this machine opens port 3128 server 192.168.8.1:3128 weight = 5; server 192.168.8.2:80 weight = 1; server 192.168.8.3:80 weight = 6; } server { #listening 80 port listen 80; #define access using www.xx.com #listen server_name www.xx.com; #set the log access of this virtual host access_log logs / www.xx.com.access.log main; #default request location / { root / root; #define the default website website root location of the server index index.php index.html index.htm; #define the homepage index file Nom fastcgi_pass www.xx.com; fastcgi_param SCRIPT_FILENAME $ document_root / $ fastcgi_script_name; include / etc / nginx / fastcgi_params; } # Définir la page d'erreur error_page 500 502 503 504 /50x.html; location = /50x.html { racine / racine ; } # Fichiers statiques, nginx gère emplacement ~ ^ / (images | javascript | js | css | flash | media | static) / { root / var / www / virtual / htdocs; # Expiré pendant 30 jours, les fichiers statiques ne sont pas beaucoup mis à jour, l'expiration peut être définie plus grande, si elle est mise à jour fréquemment, elle peut être définie plus petite. expire 30 jours; } Les requêtes de script #PHP sont toutes transmises au traitement FastCGI. Utilisez la configuration par défaut de FastCGI. Emplacement ~ \ .php $ { root / root; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME / home / www / www $ fastcgi_script_name; fastcgi_params le comprennent; } # Vérifier Nginx adresse de configuration de l' Etat LIEU / NginxStatus { stub_status ON, access_log ON, auth_basic "NginxStatus", auth_basic_user_file la conf / la htpasswd; } # interdisent .htxxx d'accès fichier LOCALISATION ~ /\.ht { Nginx Fichier de configuration détaillé tout refuser; } } } #Run utilisateur utilisateur www-data; #Démarrer le processus, généralement défini pour égaler le nombre de CPU worker_processes 1; #Global error error and PID file error_log /var/log/nginx/error.log; pid / var / run /nginx.pid; #Mode de travail et nombre maximal d' événements de connexion { use epoll; #epoll est une méthode en E / S multiplexées (multiplexage d'E / S), mais uniquement pour Linux2.6 et au-dessus des noyaux, qui peut être grandement améliorée nginx performance worker_connections 1024; # Nombre maximal de connexions simultanées pour un seul processus de travail en arrière-plan # multi_accept on; } # Définir le serveur http, utiliser sa fonction de proxy inverse pour fournir une prise en charge de l'équilibrage de charge http { # Définir le type mime, taper par mime La définition du fichier .type inclut /etc/nginx/mime.types; application par défaut_type / octet-stream; format de journal #set access_log /var/log/nginx/access.log; L'instruction #sendfile spécifie si nginx appelle la fonction sendfile (méthode de copie nulle) pour sortir le fichier. Pour les applications ordinaires, # doit être défini sur on. S'il est utilisé pour le téléchargement et d'autres applications IO à charge lourde de disque d'application, il peut être désactivé pour équilibrer le disque et La vitesse de traitement des E / S réseau réduit la disponibilité du système. Sendfile on; #tcp_nopush on; #Connection timeout time # keepalive_timeout 0; keepalive_timeout 65; tcp_nodelay on; #Activer la compression gzip gzip on; gzip_disable "MSIE [1-6] \. « (* SVL?!.), tampon de demande # réglage client_header_buffer_size 1K, large_client_header_buffers 4K 4,. la comprennent /etc/nginx/conf.d/*.conf, include / etc / Nginx / sites activés / *; # set liste de serveurs d'équilibrage de charge # Squid sur la machine ouvre le port 3128 #set amont mysvr { Le paramètre #weigth indique le poids. Plus le plus les chances d'être attribuées sont élevées. fastcgi_param SCRIPT_FILENAME $ document_root / $ fastcgi_script_name; serveur 192.168.8.1:3128 poids = 5; serveur 192.168.8.2:80 poids = 1; serveur 192.168.8.3:80 poids = 6; } serveur { #listening 80 port listen 80; #define access using www.xx.com server_name www.xx.com; #Définissez le journal d'accès de cet hôte virtuel access_log logs / www.xx.com.access.log main; #Default request location / { root / root; #Define the default website root directory location index index of the server index.php index.html index.htm; #Définissez le nom du fichier d'index sur la page d'accueil fastcgi_pass www.xx.com; incluez / etc / nginx / fastcgi_params; } # Définissez l'invite d'erreur page error_page 500 502 503 504 /50x.html; location = /50x.html { root / root; } # Fichier statique , nginx gère l' emplacement ~ ^ / (images | javascript | js | css | flash | media | static) / { root / var / www / virtual / htdocs; # Expiré depuis 30 jours, les fichiers statiques ne sont pas beaucoup mis à jour, l'expiration peut être définie plus grande, si elle est mise à jour fréquemment, elle peut être définie plus petite. expire 30 jours; } les requêtes de script #PHP sont toutes transmises à FastCGI. Utilisez la configuration par défaut de FastCGI. location ~ \ .php $ { root / root; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME / home / www / www $ fastcgi_script_name; include fastcgi_params; #Set location / NginxStatus { stub_status on; } l'adresse pour afficher l'état Nginx access_log on; auth_basic "NginxStatus"; auth_basic_user_file conf / htpasswd; } #Prohibit access to location .htxxx files location ~ /\.ht { deny all; } } }