


Quels sont les principaux scénarios d'application dans Nginx ?
Les principaux scénarios d'application de Nginx
Déploiement de sites Web statiques
nginx est un serveur Web http qui peut renvoyer des fichiers statiques (html, css, images) sur le serveur au client du navigateur via le protocole HTTP.
Exemple : Nous déployons une ressource statique index.html sur le serveur
Téléchargez index.html sur Linux /opt/www/test
Modifiez nginx.conf pour ajouter un emplacement pour intercepter/tester la requête , le chemin /opt/www correspondant à root représente le chemin racine, c'est-à-dire la barre oblique / devant /test
location /test { root /opt/www; index index.html; }
Démarrez nginx ou rechargez nginx
Visitez : http://192.168.253.130/ test /
Équilibrage de charge
L'équilibrage de charge peut être divisé en équilibrage de charge matériel et équilibrage de charge logiciel
Équilibrage de charge matérielle, tel que F5, Sangfor, Array, etc. L'avantage est qu'il est pris en charge par le fabricant équipe professionnelle et a des performances stables ; l'inconvénient est le prix Cher
Les logiciels d'équilibrage de charge, tels que Nginx, LVS, HAProxy, etc., ont l'avantage d'être gratuits, open source et peu coûteux
Méthode d'interrogation : attribuer les requêtes à les serveurs back-end tour à tour dans l'ordre, et il traite chaque serveur back-end de manière égale, quel que soit le nombre réel de connexions au serveur et la charge actuelle du système.
http { upstream test{ ##后端实际服务器 nginx在轮询访问以下几台服务器 server 10.100.30.1:8080; server 10.100.30.2:8080; server 10.100.30.3:8080; server 10.100.30.4:8080; } server { ##前端拦截入口 listen 80; server_name www.test.com; location / { proxy_pass http://test; } } }
Méthode d'interrogation pondérée : différents serveurs backend peuvent avoir des configurations de machine et des charges système actuelles différentes, leur résistance à la pression est donc également différente.
Configurez des poids plus élevés pour les machines avec une configuration élevée et une faible charge pour leur permettre de gérer plus de demandes ; et attribuez des poids plus faibles aux machines avec une configuration faible et une charge élevée pour réduire la charge de leur système. L'interrogation pondérée peut bien gérer cela et distribuer les demandes au système. backend de manière séquentielle et pondérée.
http { upstream test{ ##后端实际服务器 nginx在轮询访问以下几台服务器 server 10.100.30.1:8080 weight=1; server 10.100.30.2:8080 weight=3; server 10.100.30.3:8080 weight=1; server 10.100.30.4:8080 weight=1; } server { ##前端拦截入口 listen 80; server_name www.test.com; location / { proxy_pass http://test; } } }
Méthode de hachage de l'adresse source : en fonction de l'adresse IP du client, une valeur est calculée via la fonction de hachage, et la valeur est utilisée pour moduler la taille de la liste des serveurs. Le résultat est le numéro de série du serveur qui. le client souhaite accéder.
En utilisant la méthode de hachage de l'adresse source pour l'équilibrage de charge, un client avec la même adresse IP sera mappé au même serveur backend pour y accéder à chaque fois que la liste des serveurs backend reste inchangée.
upstream test{ ip_hash; server 10.100.30.1:8080 weight=1; server 10.100.30.2:8080 weight=3; server 10.100.30.3:8080 weight=1; server 10.100.30.4:8080 weight=1; }
Méthode du nombre minimum de connexions : étant donné que la configuration des serveurs backend est différente, le traitement des demandes peut être plus rapide ou plus lent. La méthode du nombre minimum de connexions sélectionne dynamiquement celle avec le plus petit retard de connexions actuel en fonction du courant. état de connexion du serveur back-end. Un serveur gère la demande actuelle, améliore autant que possible l'efficacité d'utilisation du service back-end et répartit raisonnablement la responsabilité entre chaque serveur.
upstream test{ least_conn; server 10.100.30.1:8080; server 10.100.30.2:8080; server 10.100.30.3:8080; server 10.100.30.4:8080; }
down : Indique l'arrêt d'un certain service
upstream test{ server 10.100.30.1:8080 down; server 10.100.30.2:8080; server 10.100.30.3:8080; server 10.100.30.4:8080; }
backup : Spécifiez le serveur de sauvegarde. Dans des circonstances normales, tant que d'autres serveurs peuvent y accéder normalement, le serveur de sauvegarde ne sera pas accessible uniquement lorsque d'autres serveurs le seront. down.Utilisez un serveur de secours, cette méthode est donc généralement utilisée pour implémenter un déploiement à chaud. Commencez par mettre à jour le code sur le serveur de secours, puis arrêtez le serveur normal. Une fois le déploiement normal du serveur terminé, le serveur de secours est en attente. état à nouveau. L'ensemble du processus de déploiement permet aux utilisateurs de ne ressentir aucun temps d'arrêt.
upstream test{ server 10.100.30.1:8080 backup; server 10.100.30.2:8080 backup; server 10.100.30.3:8080; server 10.100.30.4:8080; }
Proxy statique
Séparation statique et dynamique
Hôte virtuel
Exemples d'utilisation de Nginx
Ngin x est un serveur HTTP hautes performances et hautement concurrent et Le serveur proxy inverse peut être utilisé dans divers scénarios tels qu'un serveur de ressources statiques, un équilibreur de charge, un proxy inverse, un serveur de cache et un serveur Web.
Voici plusieurs scénarios et exemples d'utilisation :
1. Serveur de ressources statiques
Lors de l'utilisation de Nginx comme serveur de ressources statiques, Nginx renverra directement le fichier demandé, réduisant ainsi la charge sur le serveur Web. Ce scénario est généralement utilisé pour fournir des téléchargements de fichiers statiques ou accéder à des fichiers volumineux tels que des vidéos.
Ce qui suit est un exemple de configuration Nginx :
server { listen 80; server_name example.com; location / { root /usr/share/nginx/html; index index.html index.htm; } location /images/ { alias /var/www/images/; } location /downloads/ { alias /var/www/downloads/; } }
Dans la configuration ci-dessus, Nginx mappera les demandes d'accès au répertoire racine (/) au répertoire /usr/share/nginx/html si la demande se trouve sous le répertoire /images. / répertoire Fichiers, Nginx sera mappé au répertoire /var/www/images/ Si la demande concerne un fichier dans le répertoire /downloads/, Nginx sera mappé au répertoire /var/www/downloads/.
2. Proxy inverse
Lors de l'utilisation de Nginx comme serveur proxy inverse, Nginx transmettra la demande au serveur Web pour traitement, puis renverra les résultats du traitement au client.
Ce scénario est généralement utilisé pour réaliser un équilibrage de charge, améliorer la sécurité du serveur Web, masquer la véritable adresse IP du serveur Web, etc.
Voici un exemple de configuration Nginx :
upstream backend { server backend1.example.com:8080 weight=3; server backend2.example.com:8080; } server { listen 80; server_name example.com; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
上述配置中,Nginx会将访问根目录(/)的请求转发给后端的Web服务器(backend1.example.com和backend2.example.com),其中backend1.example.com的权重为3,backend2.example.com的权重为1,表示backend1.example.com的处理能力更强。
在转发请求时,Nginx还会设置HTTP头信息中的Host和X-Real-IP字段,从而隐藏Web服务器的真实IP。
3.负载均衡器
在使用Nginx作为负载均衡器时,Nginx会将请求均衡地分发到多个Web服务器上,从而实现高并发、高可用的服务。这种场景通常用于Web应用程序的集群部署、分布式系统的部署等。下面是一个示例Nginx配置:
upstream backend { server backend1.example.com:8080; server backend2.example.com:8080; server backend3.example.com:8080; } server { listen 80; server_name example.com; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
上述配置中,Nginx会将请求均衡地分发到三个Web服务器(backend1.example.com、backend2.example.com和backend3.example.com)上,从而实现负载均衡。
在转发请求时,Nginx还会设置HTTP头信息中的Host和X-Real-IP字段,从而隐藏Web服务器的真实IP。
4.缓存服务器
在使用Nginx作为缓存服务器时,Nginx会缓存Web服务器返回的响应,从而减少对Web服务器的请求。这种场景通常用于提高Web应用程序的性能、降低Web服务器的负载等。下面是一个示例Nginx配置:
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m; server { listen 80; server_name example.com; location / { proxy_cache my_cache; proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
上述配置中,Nginx会将Web服务器返回的响应缓存到/var/cache/nginx/my_cache目录下,并设置缓存有效期为60分钟。在缓存命中时,Nginx会直接返回缓存的响应,从而减少对Web服务器的请求。
总之,Nginx具有很强的可扩展性和灵活性,可以根据不同的需求配置不同的使用场景。以上仅是一些示例,实际应用中还有很多其他的使用场景。
5.反向代理服务器
在使用Nginx作为反向代理服务器时,Nginx会将客户端请求转发到后端的Web服务器上,并将后端服务器返回的响应转发给客户端。这种场景通常用于隐藏后端服务器的真实IP、提高Web应用程序的可用性等。下面是一个示例Nginx配置:
server { listen 80; server_name example.com; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
上述配置中,Nginx会将客户端请求转发到http://backend上,并设置HTTP头信息中的Host和X-Real-IP字段,从而隐藏后端服务器的真实IP。
6.WebSocket服务器
在使用Nginx作为WebSocket服务器时,Nginx会将客户端请求转发到后端的WebSocket服务器上,并实现WebSocket协议的连接管理。这种场景通常用于实时通信、游戏等应用程序。
下面是一个示例Nginx配置:
map $http_upgrade $connection_upgrade { default upgrade; '' close; } server { listen 80; server_name example.com; location / { proxy_pass http://backend; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
上述配置中,Nginx会将WebSocket请求转发到http://backend上,并设置HTTP头信息中的Upgrade、Connection、Host和X-Real-IP字段,从而实现WebSocket协议的连接管理。
总之,Nginx具有很多的使用场景,可以根据不同的需求配置不同的服务器功能。以上仅是一些示例,实际应用中还有很多其他的使用场景。
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!

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

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

Pour permettre au serveur Tomcat d'accéder au réseau externe, vous devez : modifier le fichier de configuration Tomcat pour autoriser les connexions externes. Ajoutez une règle de pare-feu pour autoriser l'accès au port du serveur Tomcat. Créez un enregistrement DNS pointant le nom de domaine vers l'adresse IP publique du serveur Tomcat. Facultatif : utilisez un proxy inverse pour améliorer la sécurité et les performances. Facultatif : configurez HTTPS pour une sécurité accrue.

Les commandes de démarrage et d'arrêt de Nginx sont respectivement nginx et nginx -s quit. La commande start démarre directement le serveur, tandis que la commande stop arrête le serveur en douceur, permettant ainsi de traiter toutes les requêtes en cours. Les autres signaux d'arrêt disponibles incluent l'arrêt et le rechargement.

Étapes pour exécuter ThinkPHP Framework localement : Téléchargez et décompressez ThinkPHP Framework dans un répertoire local. Créez un hôte virtuel (facultatif) pointant vers le répertoire racine ThinkPHP. Configurez les paramètres de connexion à la base de données. Démarrez le serveur Web. Initialisez l'application ThinkPHP. Accédez à l'URL de l'application ThinkPHP et exécutez-la.

Étapes de déploiement de serveur pour un projet Node.js : Préparez l'environnement de déploiement : obtenez l'accès au serveur, installez Node.js, configurez un référentiel Git. Créez l'application : utilisez npm run build pour générer du code et des dépendances déployables. Téléchargez le code sur le serveur : via Git ou File Transfer Protocol. Installer les dépendances : connectez-vous en SSH au serveur et installez les dépendances de l'application à l'aide de npm install. Démarrez l'application : utilisez une commande telle que node index.js pour démarrer l'application ou utilisez un gestionnaire de processus tel que pm2. Configurer un proxy inverse (facultatif) : utilisez un proxy inverse tel que Nginx ou Apache pour acheminer le trafic vers votre application

Pour résoudre l'erreur "Bienvenue sur nginx!", vous devez vérifier la configuration de l'hôte virtuel, activer l'hôte virtuel, recharger Nginx, si le fichier de configuration de l'hôte virtuel est introuvable, créer une page par défaut et recharger Nginx, puis le message d'erreur. disparaîtra et le site Web sera affiché normalement.

Pour vous inscrire à phpMyAdmin, vous devez d'abord créer un utilisateur MySQL et lui accorder des autorisations, puis télécharger, installer et configurer phpMyAdmin, et enfin vous connecter à phpMyAdmin pour gérer la base de données.

nginx apparaît lors de l'accès au site Web. Les raisons peuvent être : maintenance du serveur, serveur occupé, cache du navigateur, problèmes DNS, blocage du pare-feu, mauvaise configuration du site Web, problèmes de connexion réseau ou site Web en panne. Essayez les solutions suivantes : attendez la fin de la maintenance, visitez pendant les heures creuses, videz le cache de votre navigateur, videz votre cache DNS, désactivez le pare-feu ou le logiciel antivirus, contactez l'administrateur du site, vérifiez votre connexion réseau ou utilisez un moteur de recherche ou archive Web pour trouver une autre copie du site. Si le problème persiste, veuillez contacter l'administrateur du site.

Il existe cinq méthodes de communication de conteneur dans l'environnement Docker : réseau partagé, Docker Compose, proxy réseau, volume partagé et file d'attente de messages. En fonction de vos besoins d'isolation et de sécurité, choisissez la méthode de communication la plus appropriée, par exemple en utilisant Docker Compose pour simplifier les connexions ou en utilisant un proxy réseau pour augmenter l'isolation.
