Inhaltsverzeichnis
Hauptanwendungsszenarien von Nginx
Statische Website-Bereitstellung
Software-Lastausgleich wie Nginx, LVS, HAProxy usw. haben den Vorteil, dass sie kostenlos und Open Source sind und kostengünstig sind.
3.负载均衡器
4.缓存服务器
5.反向代理服务器
6.WebSocket服务器
Heim Betrieb und Instandhaltung Nginx Was sind die Hauptanwendungsszenarien in Nginx?

Was sind die Hauptanwendungsszenarien in Nginx?

May 16, 2023 pm 02:55 PM
nginx

    Hauptanwendungsszenarien von Nginx

    Statische Website-Bereitstellung

    nginx ist ein http-Web Der Server kann statische Dateien (HTML, CSS, Bilder) auf dem Server über das HTTP-Protokoll an den Browser-Client zurückgeben.

    Zum Beispiel: Wir stellen eine statische Ressource index.html auf dem Server bereit

    Was sind die Hauptanwendungsszenarien in Nginx?

    Index.html auf Linux hochladen /opt /www/test

    Was sind die Hauptanwendungsszenarien in Nginx?

    Ändern Sie nginx.conf und fügen Sie einen Speicherort hinzu, um die /test-Anfrage abzufangen Root-Pfad. Das heißt, der /slash vor /test

    location /test {
                root   /opt/www;
                index  index.html;
            }
    Nach dem Login kopieren

    Starten Sie Nginx oder laden Sie Nginx neu : http://192.168.253.130/test/

    Was sind die Hauptanwendungsszenarien in Nginx?

    Lastausgleich

    Der Lastausgleich kann in Hardware-Lastausgleich unterteilt werden und Software-Lastausgleich Was sind die Hauptanwendungsszenarien in Nginx?

    Hardware-Lastausgleich wie F5, Sangfor, Array usw. hat den Vorteil, dass er vom professionellen Team des Herstellers unterstützt wird und eine stabile Leistung aufweist; der Nachteil ist, dass er teuer ist; 🎜🎜#

    Software-Lastausgleich wie Nginx, LVS, HAProxy usw. haben den Vorteil, dass sie kostenlos und Open Source sind und kostengünstig sind.

    Abfragemethode: Anfragen dem zuordnen Die Back-End-Server werden der Reihe nach behandelt. Dabei wird jeder Back-End-Server ausgewogen behandelt, ohne sich um die tatsächliche Anzahl der Verbindungen zum Server und die aktuelle Systemlast zu kümmern.

    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;
            }
        }
    }
    Nach dem Login kopieren

    Gewichtete Abfragemethode: Verschiedene Backend-Server können unterschiedliche Maschinenkonfigurationen und aktuelle Systemlasten haben, daher ist auch ihre Druckfestigkeit unterschiedlich.

    Weisen Sie Maschinen mit hoher Konfiguration und geringer Auslastung höhere Gewichtungen zu, damit diese mehr Anfragen bearbeiten können. Weisen Sie Maschinen mit niedriger Konfiguration und hoher Auslastung niedrigere Gewichtungen zu, um deren Systemleistung zu verringern dies gut und verteilt Anfragen sequentiell und gewichtet an das Backend.

    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;
            }
        }
    }
    Nach dem Login kopieren

    Quelladresse-Hash-Methode: Basierend auf der IP-Adresse des Clients wird ein Wert über die Hash-Funktion berechnet und der Wert wird verwendet, um die Größe der Serverliste zu modulieren. Das Ergebnis ist Kundenservice Die Seriennummer des Servers, auf den der Client zugreifen möchte.

    Mit der Quelladress-Hash-Methode für den Lastausgleich wird ein Client mit derselben IP-Adresse jedes Mal demselben Backend-Server für den Zugriff zugeordnet, wenn die Backend-Serverliste unverändert bleibt.

    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;
        }
    Nach dem Login kopieren

    Methode der minimalen Anzahl von Verbindungen: Da die Konfiguration des Back-End-Servers unterschiedlich ist, kann die Anforderungsverarbeitung schneller oder langsamer sein. Die Methode der minimalen Anzahl von Verbindungen wählt dynamisch eine davon basierend auf aus Der aktuelle Verbindungsstatus des Back-End-Servers verarbeitet die aktuelle Anforderung, verbessert die Auslastungseffizienz des Back-End-Dienstes so weit wie möglich und verteilt die Verantwortung angemessen auf jeden Server.

    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;
        }
    Nach dem Login kopieren

    down: Zeigt das Stoppen eines bestimmten Dienstes an.

    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;
        }
    Nach dem Login kopieren

    backup: Gibt den Backup-Server an, solange andere Server normal darauf zugreifen können Wenn nicht darauf zugegriffen werden kann, wird der Sicherungsserver nur verwendet, wenn andere Server ausgefallen sind. Daher wird diese Methode im Allgemeinen verwendet, um den Code zuerst auf dem Sicherungsserver zu aktualisieren und dann den normalen Server zu stoppen Der normale Server ist abgeschlossen, der Backup-Server Der Server befindet sich wieder im Wartezustand und der gesamte Bereitstellungsprozess ermöglicht Benutzern keine Ausfallzeiten.

    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;
        }
    Nach dem Login kopieren

    statischer Proxy

    • Statisch und dynamisch Trennung# Nginx-Nutzungsszenarien und Beispiele

      Nginx ist ein leistungsstarker, hochparalleler HTTP-Server und Reverse-Proxy-Server, der in einer Vielzahl von Szenarien wie statischen Ressourcenservern, Load Balancern und Reverse verwendet werden kann Proxys, Cache-Server und Webserver.
    • Im Folgenden finden Sie mehrere Verwendungsszenarien und Beispiele:

      1. Statischer Ressourcenserver

      Wenn Nginx als statischer Ressourcenserver verwendet wird, wird Nginx direkt verwendet Gibt die angeforderte Datei zurück und entlastet dadurch den Webserver. Dieses Szenario wird normalerweise verwendet, um statische Dateidownloads oder den Zugriff auf große Dateien wie Videos bereitzustellen.
    • Das Folgende ist eine Beispiel-Nginx-Konfiguration:

      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/;
          }
      }
      Nach dem Login kopieren
      In der obigen Konfiguration ordnet Nginx Anforderungen für den Zugriff auf das Stammverzeichnis (/) dem /usr/share/nginx zu /html-Verzeichnis Wenn eine Datei im Verzeichnis /images/ angefordert wird, wird Nginx dem Verzeichnis /var/www/images/ zugeordnet. Wenn eine Datei im Verzeichnis /downloads/ angefordert wird, wird Nginx dem Verzeichnis /var/ zugeordnet. www /downloads/-Verzeichnis.

      2. Reverse-Proxy
    Wenn Nginx als Reverse-Proxy-Server verwendet wird, leitet Nginx die Anfrage zur Verarbeitung an den Webserver weiter und gibt die Verarbeitungsergebnisse dann an den Client zurück .

    Dieses Szenario wird normalerweise verwendet, um einen Lastausgleich zu erreichen, die Sicherheit des Webservers zu verbessern, die tatsächliche IP des Webservers zu verbergen usw.

    Hier ist eine Beispiel-Nginx-Konfiguration:

    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;
        }
    }
    Nach dem Login kopieren

    上述配置中,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;
        }
    }
    Nach dem Login kopieren

    上述配置中,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;
        }
    }
    Nach dem Login kopieren

    上述配置中,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;
        }
    }
    Nach dem Login kopieren

    上述配置中,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;
        }
    }
    Nach dem Login kopieren

    上述配置中,Nginx会将WebSocket请求转发到http://backend上,并设置HTTP头信息中的Upgrade、Connection、Host和X-Real-IP字段,从而实现WebSocket协议的连接管理。

    总之,Nginx具有很多的使用场景,可以根据不同的需求配置不同的服务器功能。以上仅是一些示例,实际应用中还有很多其他的使用场景。

    Das obige ist der detaillierte Inhalt vonWas sind die Hauptanwendungsszenarien in Nginx?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

    Heiße KI -Werkzeuge

    Undresser.AI Undress

    Undresser.AI Undress

    KI-gestützte App zum Erstellen realistischer Aktfotos

    AI Clothes Remover

    AI Clothes Remover

    Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

    Undress AI Tool

    Undress AI Tool

    Ausziehbilder kostenlos

    Clothoff.io

    Clothoff.io

    KI-Kleiderentferner

    AI Hentai Generator

    AI Hentai Generator

    Erstellen Sie kostenlos Ai Hentai.

    Heißer Artikel

    R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
    3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Beste grafische Einstellungen
    3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
    3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
    WWE 2K25: Wie man alles in Myrise freischaltet
    4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

    Heiße Werkzeuge

    Notepad++7.3.1

    Notepad++7.3.1

    Einfach zu bedienender und kostenloser Code-Editor

    SublimeText3 chinesische Version

    SublimeText3 chinesische Version

    Chinesische Version, sehr einfach zu bedienen

    Senden Sie Studio 13.0.1

    Senden Sie Studio 13.0.1

    Leistungsstarke integrierte PHP-Entwicklungsumgebung

    Dreamweaver CS6

    Dreamweaver CS6

    Visuelle Webentwicklungstools

    SublimeText3 Mac-Version

    SublimeText3 Mac-Version

    Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

    So erlauben Sie den externen Netzwerkzugriff auf den Tomcat-Server So erlauben Sie den externen Netzwerkzugriff auf den Tomcat-Server Apr 21, 2024 am 07:22 AM

    Um dem Tomcat-Server den Zugriff auf das externe Netzwerk zu ermöglichen, müssen Sie Folgendes tun: Ändern Sie die Tomcat-Konfigurationsdatei, um externe Verbindungen zuzulassen. Fügen Sie eine Firewallregel hinzu, um den Zugriff auf den Tomcat-Server-Port zu ermöglichen. Erstellen Sie einen DNS-Eintrag, der den Domänennamen auf die öffentliche IP des Tomcat-Servers verweist. Optional: Verwenden Sie einen Reverse-Proxy, um Sicherheit und Leistung zu verbessern. Optional: Richten Sie HTTPS für mehr Sicherheit ein.

    So führen Sie thinkphp aus So führen Sie thinkphp aus Apr 09, 2024 pm 05:39 PM

    Schritte zum lokalen Ausführen von ThinkPHP Framework: Laden Sie ThinkPHP Framework herunter und entpacken Sie es in ein lokales Verzeichnis. Erstellen Sie einen virtuellen Host (optional), der auf das ThinkPHP-Stammverzeichnis verweist. Konfigurieren Sie Datenbankverbindungsparameter. Starten Sie den Webserver. Initialisieren Sie die ThinkPHP-Anwendung. Greifen Sie auf die URL der ThinkPHP-Anwendung zu und führen Sie sie aus.

    Willkommen bei Nginx! Wie kann ich es lösen? Willkommen bei Nginx! Wie kann ich es lösen? Apr 17, 2024 am 05:12 AM

    Um den Fehler „Willkommen bei Nginx!“ zu beheben, müssen Sie die Konfiguration des virtuellen Hosts überprüfen, den virtuellen Host aktivieren, Nginx neu laden. Wenn die Konfigurationsdatei des virtuellen Hosts nicht gefunden werden kann, erstellen Sie eine Standardseite und laden Sie Nginx neu. Anschließend wird die Fehlermeldung angezeigt verschwindet und die Website wird normal angezeigt.

    So generieren Sie eine URL aus einer HTML-Datei So generieren Sie eine URL aus einer HTML-Datei Apr 21, 2024 pm 12:57 PM

    Für die Konvertierung einer HTML-Datei in eine URL ist ein Webserver erforderlich. Dazu sind die folgenden Schritte erforderlich: Besorgen Sie sich einen Webserver. Richten Sie einen Webserver ein. Laden Sie eine HTML-Datei hoch. Erstellen Sie einen Domainnamen. Leiten Sie die Anfrage weiter.

    So stellen Sie das NodeJS-Projekt auf dem Server bereit So stellen Sie das NodeJS-Projekt auf dem Server bereit Apr 21, 2024 am 04:40 AM

    Serverbereitstellungsschritte für ein Node.js-Projekt: Bereiten Sie die Bereitstellungsumgebung vor: Erhalten Sie Serverzugriff, installieren Sie Node.js, richten Sie ein Git-Repository ein. Erstellen Sie die Anwendung: Verwenden Sie npm run build, um bereitstellbaren Code und Abhängigkeiten zu generieren. Code auf den Server hochladen: über Git oder File Transfer Protocol. Abhängigkeiten installieren: Stellen Sie eine SSH-Verbindung zum Server her und installieren Sie Anwendungsabhängigkeiten mit npm install. Starten Sie die Anwendung: Verwenden Sie einen Befehl wie node index.js, um die Anwendung zu starten, oder verwenden Sie einen Prozessmanager wie pm2. Konfigurieren Sie einen Reverse-Proxy (optional): Verwenden Sie einen Reverse-Proxy wie Nginx oder Apache, um den Datenverkehr an Ihre Anwendung weiterzuleiten

    Kann von außen auf Nodejs zugegriffen werden? Kann von außen auf Nodejs zugegriffen werden? Apr 21, 2024 am 04:43 AM

    Ja, auf Node.js kann von außen zugegriffen werden. Sie können die folgenden Methoden verwenden: Verwenden Sie Cloud Functions, um die Funktion bereitzustellen und öffentlich zugänglich zu machen. Verwenden Sie das Express-Framework, um Routen zu erstellen und Endpunkte zu definieren. Verwenden Sie Nginx, um Proxy-Anfragen an Node.js-Anwendungen umzukehren. Verwenden Sie Docker-Container, um Node.js-Anwendungen auszuführen und sie über Port-Mapping verfügbar zu machen.

    So stellen Sie eine Website mit PHP bereit und pflegen sie So stellen Sie eine Website mit PHP bereit und pflegen sie May 03, 2024 am 08:54 AM

    Um eine PHP-Website erfolgreich bereitzustellen und zu warten, müssen Sie die folgenden Schritte ausführen: Wählen Sie einen Webserver (z. B. Apache oder Nginx). Installieren Sie PHP. Erstellen Sie eine Datenbank und verbinden Sie PHP. Laden Sie Code auf den Server hoch. Richten Sie den Domänennamen und die DNS-Überwachung der Website-Wartung ein Zu den Schritten gehören die Aktualisierung von PHP und Webservern sowie die Sicherung der Website, die Überwachung von Fehlerprotokollen und die Aktualisierung von Inhalten.

    So schützen Sie Ihren Server mit Fail2Ban vor Brute-Force-Angriffen So schützen Sie Ihren Server mit Fail2Ban vor Brute-Force-Angriffen Apr 27, 2024 am 08:34 AM

    Eine wichtige Aufgabe für Linux-Administratoren besteht darin, den Server vor illegalen Angriffen oder Zugriffen zu schützen. Linux-Systeme verfügen standardmäßig über gut konfigurierte Firewalls wie iptables, Uncomplicated Firewall (UFW), ConfigServerSecurityFirewall (CSF) usw., die eine Vielzahl von Angriffen verhindern können. Jeder mit dem Internet verbundene Computer ist ein potenzielles Ziel für böswillige Angriffe. Es gibt ein Tool namens Fail2Ban, mit dem illegale Zugriffe auf den Server eingedämmt werden können. Was ist Fail2Ban? Fail2Ban[1] ist eine Intrusion-Prevention-Software, die Server vor Brute-Force-Angriffen schützt. Es ist in der Programmiersprache Python geschrieben

    See all articles