1. Introduction à Nginx :
1.1 Qu'est-ce que Nginx ?
Nginx ("engine x") est un logiciel open source qui prend en charge les services www et les services proxy hautes performances et à haute concurrence.
a été développé par le Russe Igor Sysoev et a été utilisé à l'origine sur le grand site Web russe www.rambler.ru.
Nginx présente les caractéristiques d'une concurrence élevée et d'une faible consommation de ressources système.
Nginx peut fonctionner sur des systèmes d'exploitation tels que UNIX, Linux, DSB, Mac OS X, Solaris et Windows.
1.2 Principales fonctionnalités de Nginx
Prise en charge d'une concurrence élevée : peut prendre en charge des dizaines de milliers de connexions simultanées
Faible consommation de ressources : avec 30 000 connexions simultanées, start 10 Chaque thread consomme moins de 200 Mo de mémoire.
Peut effectuer un proxy inverse HTTP et une mise en cache accélérée, c'est-à-dire une fonction d'équilibrage de charge, une fonction de vérification de l'état intégrée pour le serveur de nœud RS
Possède la fonction de mise en cache d'un logiciel de mise en cache professionnel tels que Squid#🎜 🎜#
Supporte le modèle d'événement d'E/S réseau asynchrone1.3 La principale application fonctionnelle du logiciel NginxEn tant que logiciel de service Web#🎜 🎜#Service de proxy inverse et d'équilibrage de charge
Service de mise en cache des données d'entreprise frontales
2.1 Nginx. comme scénario d'application de serveur Web#🎜🎜 #
Utilisez Nginx pour exécuter HTML, JS, CSS, de petites images et d'autres données statiques Nginx combiné avec FastCGI pour exécuter des programmes dynamiques tels que PHP # 🎜🎜#Nginx combiné avec Tomcat/Resin et d'autres programmes dynamiques Java de support
2.2 Comment choisir un serveur Web
Au travail, choisissez le service métier approprié logiciel selon vos besoins :
# 🎜🎜#Entreprise statique : Dans les scénarios de forte concurrence, Nginx est préféré 🎜#Entreprise statique + dynamique : Recommander Nginx
- 3 Compilez et installez Nginx
Il existe de nombreuses méthodes d'installation, cet article utilise la méthode de compilation et d'installation. Si un déploiement à grande échelle est requis, le package RPM peut être personnalisé en fonction des besoins de l'entreprise, puis installé via Ansible.
3.1 Installer la bibliothèque pcre-
Afficher la version actuelle du système :
cat /etc/redhat-release uname -r
Résultat : CentOS release 6.10 (Final) 2.6.32-754.el6.x86_64
Utilisez la méthode yum pour install pcre :
yum -y install pcre pcre-devel rpm -qa pcre pcre-devel
Résultat :
pcre-7.8-7.el6.x86_64 #🎜 🎜#
3.2 Installer Nginx
Vérifiez si openssl et openssl-devel sont installés :
rpm -qa openssl openssl-devel
Résultat : Sinon, utilisez yum pour install#🎜 🎜#
openssl-1.0.1e-57.el6.x86_64 openssl-devel-1.0.1e-57.el6.x86_64Créer le répertoire de stockage du package nginx :
mkdir -p /app/nginx-1.8.1 mkdir -p /server/tools cd /server/tools/Télécharger le package logiciel nginx : Adresse officielle : www.nginx.rog
Compile :wget -q http://nginx.org/download/nginx-1.8.1.tar.gz#🎜 🎜#Créez un utilisateur nginx :useradd nginx -s /sbin/nologin -M
Décompressez le progiciel et entrez dans le répertoire décompressé :tar xf nginx-1.8.1.tar.gz cd nginx-1.8.1
Le module compilé peut être passé . /configure -- vue d'aide
./configure --user=nginx --group=nginx --prefix=/app/nginx-1.8.1/ --with-http_stub_status_module --with-http_ssl_module
Installation :
make make install
Créer un lien logiciel : pratique à utiliser et à mettre à niveau la version
ln -s /app/nginx-1.8.1/ /app/nginx
Test avant le lancement : # 🎜🎜#
/app/nginx/sbin/nginx -t# 🎜🎜#Result : nginx : le fichier de configuration /app/nginx-1.8.1//conf/nginx.conf la syntaxe est oknginx : fichier de configuration /app /nginx-1.8.1//conf/nginx.conf Le test est réussi
Démarrez le service Nginx et vérifiez le port :
/app/nginx/sbin/nginx netstat -utpln | grep 80
Résultat : #🎜 🎜#
# 🎜🎜#tcp 0 0 0.0.0.0:80 0.0.0.0:* 13689/nginx
curl 192.168.1.31
Résultat :<!DOCTYPE html> <html> <head> <title>Welcome to nginx!</title> <style> body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; } </style> </head> <body> <h2 id="Welcome-nbsp-to-nbsp-nginx">Welcome to nginx!</h2> <p>If you see this page, the nginx web server is successfully installed and working. Further configuration is required.</p> <p>For online documentation and support please refer to <a href="http://nginx.org/" rel="external nofollow" >nginx.org</a>.<br/> Commercial support is available at <a href="http://nginx.com/" rel="external nofollow" >nginx.com</a>.</p> <p><em>Thank you for using nginx.</em></p> </body> </html>4. 🎜🎜#
4.1 Répertoire Nginx Description structurelletree /app/nginx/app/nginx ├── client_body_temp ├── conf #nginx配置文件目录 │ ├── fastcgi.conf #fastcgi相关参数配置文件 │ ├── fastcgi.conf.default │ ├── fastcgi_params #fastcgi参数文件 │ ├── fastcgi_params.default │ ├── koi-utf │ ├── koi-win │ ├── mime.types #媒体类型 │ ├── mime.types.default │ ├── nginx.conf #Nginx主配置文件 │ ├── nginx.conf.default │ ├── scgi_params #scgi配置文件 │ ├── scgi_params.default │ ├── uwsgi_params #uwsgi配置文件 │ ├── uwsgi_params.default │ └── win-utf ├── fastcgi_temp #fastcgi临时数据文件 ├── html #默认站点目录 │ ├── 50x.html #错误页面显示文件 │ └── index.html #默认的站点首页文件 ├── logs #默认日志路径 │ ├── access.log #默认访问日志文件 │ ├── error.log #默认错误日志文件 │ └── nginx.pid #Nginx的pid文件 ├── proxy_temp #临时目录 ├── sbin #Nginx命令目录 │ ├── nginx #启动命令 │ └── nginx.old ├── scgi_temp #临时目录 └── uwsgi_temp #临时目录 9 directories, 22 files4.2 Fichier de configuration principal Nginx
Aller commenter et afficher le fichier de configuration :
egrep -v "#|^$" /app/nginx/conf/nginx.conf.default#🎜 🎜#Résultat :
worker_processes 1; #worker进程数量 events { #事件区块开始 worker_connections 1024; #单worker进程支持的最大连接 } #事件区块结束 http { #HTTP区块开始 include mime.types; #支持的媒体类型库 default_type application/octet-stream; #默认媒体类型 sendfile on; #开启高效传输模式 keepalive_timeout 65; #连接超时 server { #server区块开始 listen 80; #服务端口,默认80 server_name localhost; #域名主机名 location / { #location区块开始 root html; #站点根目录 index index.html index.htm; #默认首页文件 } #location区块结束 error_page 500 502 503 504 /50x.html;#对应状态码及回应 location = /50x.html { #location开始回应50x.html root html; #站点目录为html } } } #HTTP区块结束Remarque : Il peut y avoir plusieurs blocages de serveurs et d'emplacements.
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!

Le but de Nginxunit est de simplifier le déploiement et la gestion des applications Web. Ses avantages incluent: 1) prend en charge plusieurs langages de programmation, tels que Python, PHP, Go, Java et Node.js; 2) Fournit des fonctions de configuration dynamique et de rechargement automatique; 3) Gère le cycle de vie de l'application via une API unifiée; 4) Adoptez un modèle d'E / S asynchrone pour soutenir une concurrence élevée et un équilibrage de charge.

Nginx a commencé en 2002 et a été développé par Igorsysoev pour résoudre le problème C10K. 1.Nginx est un serveur Web haute performance, une architecture asynchrone motivée par des événements, adaptée à une concurrence élevée. 2. Fournir des fonctions avancées telles que le proxy inverse, l'équilibrage de la charge et la mise en cache pour améliorer les performances et la fiabilité du système. 3. Les techniques d'optimisation comprennent l'ajustement du nombre de processus de travail, permettant la compression GZIP, en utilisant HTTP / 2 et la configuration de sécurité.

La principale différence d'architecture entre Nginx et Apache est que Nginx adopte le modèle non bloquant asynchrone axé sur les événements, tandis qu'Apache utilise un modèle de processus ou de thread. 1) Nginx gère efficacement les connexions à haut contrat à haut contrat à travers des boucles d'événements et des mécanismes de multiplexage d'E / S, adaptés à la teneur en statique et à l'inverse proxy. 2) Apache adopte un modèle multiproce ou multithread, qui est très stable mais a une consommation élevée de ressources, et convient aux scénarios où une expansion riche en modules est requise.

Nginx convient pour gérer un contenu simultané et statique élevé, tandis qu'Apache convient aux configurations complexes et au contenu dynamique. 1. Nginx gère efficacement les connexions simultanées, adaptées aux scénarios à haut trafic, mais nécessite une configuration supplémentaire lors du traitement du contenu dynamique. 2. Apache fournit des modules riches et des configurations flexibles, qui conviennent aux besoins complexes, mais ont de mauvaises performances de concurrence élevées.

Nginx et Apache ont chacun leurs propres avantages et inconvénients, et le choix doit être basé sur des besoins spécifiques. 1.Nginx convient aux scénarios de concurrence élevés en raison de son architecture asynchrone non bloquant. 2. Apache convient aux scénarios à faible monnaie qui nécessitent des configurations complexes, en raison de sa conception modulaire.

NginxUnit est un serveur d'applications open source qui prend en charge plusieurs langages de programmation et fournit des fonctions telles que la configuration dynamique, les mises à jour de temps d'arrêt zéro et l'équilibrage de charge intégré. 1. Configuration dynamique: vous pouvez modifier la configuration sans redémarrer. 2. Prise en charge multilingue: compatible avec Python, GO, Java, PHP, etc. 3. MISE À JOUR DE TEMPS D'INFORMATION ZERO: prend en charge les mises à jour d'application qui n'interrompent pas les services. 4. Équilibrage de charge intégré: les demandes peuvent être distribuées à plusieurs instances d'application.

Nginxunit est meilleur que les serveurs HTTP intégrés Apachetomcat, Gunicorn et Node.js, adaptés aux projets multilingues et aux exigences de configuration dynamique. 1) prend en charge plusieurs langages de programmation, 2) fournit un rechargement de configuration dynamique, 3) une fonction d'équilibrage de charge intégrée, adaptée aux projets qui nécessitent une évolutivité et une fiabilité élevées.

Nginxunit améliore les performances et la gestion des applications avec ses capacités d'architecture modulaire et de reconfiguration dynamique. 1) La conception modulaire comprend des processus de maîtrise, des routeurs et des processus d'application, soutenant une gestion et une expansion efficaces. 2) La reconfiguration dynamique permet une mise à jour transparente de la configuration à l'exécution, adaptée aux environnements CI / CD. 3) Le support multilingue est implémenté par le chargement dynamique de l'exécution du langage, améliorant la flexibilité du développement. 4) Les performances élevées sont obtenues grâce à des modèles axés sur des événements et à des E / S asynchrones, et reste efficace même sous une concurrence élevée. 5) La sécurité est améliorée en isolant les processus d'application et en réduisant l'influence mutuelle entre les applications.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Télécharger la version Mac de l'éditeur Atom
L'éditeur open source le plus populaire

Version crackée d'EditPlus en chinois
Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Navigateur d'examen sécurisé
Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

Adaptateur de serveur SAP NetWeaver pour Eclipse
Intégrez Eclipse au serveur d'applications SAP NetWeaver.
