Table des matières
Les principaux scénarios d'application de Nginx
Déploiement de sites Web statiques
Équilibrage de charge
Exemples d'utilisation de Nginx
1. Serveur de ressources statiques
2. Proxy inverse
3.负载均衡器
4.缓存服务器
5.反向代理服务器
6.WebSocket服务器
Maison Opération et maintenance Nginx Quels sont les principaux scénarios d'application dans Nginx ?

Quels sont les principaux scénarios d'application dans Nginx ?

May 16, 2023 pm 02:55 PM
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

    Quels sont les principaux scénarios dapplication dans Nginx ?

    Téléchargez index.html sur Linux /opt/www/test

    Quels sont les principaux scénarios dapplication dans Nginx ?

    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;
            }
    Copier après la connexion

    Démarrez nginx ou rechargez nginx

    Quels sont les principaux scénarios dapplication dans Nginx ?

    Visitez : http://192.168.253.130/ test /

    Quels sont les principaux scénarios dapplication dans Nginx ?

    É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;
            }
        }
    }
    Copier après la connexion

    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;
            }
        }
    }
    Copier après la connexion

    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;
        }
    Copier après la connexion

    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;
        }
    Copier après la connexion

    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;
        }
    Copier après la connexion

    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;
        }
    Copier après la connexion
    • 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/;
        }
    }
    Copier après la connexion

    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;
        }
    }
    Copier après la connexion

    上述配置中,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;
        }
    }
    Copier après la connexion

    上述配置中,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;
        }
    }
    Copier après la connexion

    上述配置中,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;
        }
    }
    Copier après la connexion

    上述配置中,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;
        }
    }
    Copier après la connexion

    上述配置中,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!

    Déclaration de ce site Web
    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

    Outils d'IA chauds

    Undresser.AI Undress

    Undresser.AI Undress

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

    AI Clothes Remover

    AI Clothes Remover

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

    Undress AI Tool

    Undress AI Tool

    Images de déshabillage gratuites

    Clothoff.io

    Clothoff.io

    Dissolvant de vêtements AI

    AI Hentai Generator

    AI Hentai Generator

    Générez AI Hentai gratuitement.

    Article chaud

    R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
    2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    Repo: Comment relancer ses coéquipiers
    4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    Hello Kitty Island Adventure: Comment obtenir des graines géantes
    3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    Combien de temps faut-il pour battre Split Fiction?
    3 Il y a quelques semaines By DDD

    Outils chauds

    Bloc-notes++7.3.1

    Bloc-notes++7.3.1

    Éditeur de code facile à utiliser et gratuit

    SublimeText3 version chinoise

    SublimeText3 version chinoise

    Version chinoise, très simple à utiliser

    Envoyer Studio 13.0.1

    Envoyer Studio 13.0.1

    Puissant environnement de développement intégré PHP

    Dreamweaver CS6

    Dreamweaver CS6

    Outils de développement Web visuel

    SublimeText3 version Mac

    SublimeText3 version Mac

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

    Comment autoriser l'accès au réseau externe au serveur Tomcat Comment autoriser l'accès au réseau externe au serveur Tomcat Apr 21, 2024 am 07:22 AM

    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.

    Quelles sont les commandes de démarrage et d'arrêt de nginx ? Quelles sont les commandes de démarrage et d'arrêt de nginx ? Apr 02, 2024 pm 08:45 PM

    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.

    Comment exécuter thinkphp Comment exécuter thinkphp Apr 09, 2024 pm 05:39 PM

    É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.

    Comment déployer le projet nodejs sur le serveur Comment déployer le projet nodejs sur le serveur Apr 21, 2024 am 04:40 AM

    É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

    Bienvenue sur nginx !Comment le résoudre ? Bienvenue sur nginx !Comment le résoudre ? Apr 17, 2024 am 05:12 AM

    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.

    Comment s'inscrire à phpmyadmin Comment s'inscrire à phpmyadmin Apr 07, 2024 pm 02:45 PM

    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.

    Comment résoudre le problème de nginx lors de l'accès au site Web Comment résoudre le problème de nginx lors de l'accès au site Web Apr 02, 2024 pm 08:39 PM

    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.

    Comment communiquer entre les conteneurs Docker Comment communiquer entre les conteneurs Docker Apr 07, 2024 pm 06:24 PM

    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.

    See all articles