Eintrittsfall für den Nginx-Lastausgleichsserver
Ich hatte kürzlich Zeit, Nginx zu studieren und habe einen einfachen Einführungsfall erstellt.
Einführung:
Nginx (Engine x) ist ein leichter Web- Server und Reverse-Proxy-Server und E-Mail (IMAP/POP3) Proxyserver.
Der normale Client-Zugriffsservermodus ist der direkte Zugriff. Mit dem nginx-Server können wir dieselbe Anwendung auf verschiedenen Servern bereitstellen. Der Zugriffsmodus ist wie folgt Verbessert die Parallelitätsfähigkeiten erheblich, verringert den Serverdruck und verbessert die Leistung.
Normaler Zugriffsmodus:
NginxZugriffsmodus:
Vorteile:
Als Web- Server: Im Vergleich zu Apache, Nginx verbrauchen weniger Ressourcen, unterstützen mehr gleichzeitige Verbindungen und weisen eine höhere Effizienz auf, was Nginx ausmacht ist besonders bei Webhosting-Anbietern beliebt. Kann Antworten von bis zu 50.000 gleichzeitigen Verbindungen unterstützen, dank Nginx für die Auswahl von epoll und kqueue für uns Als Entwicklungsmodell.
Als Lastausgleichsserver: Nginx beides intern Unterstützt direkt Rails und PHP und kann auch die externe Verwendung als HTTP Proxy-Server Dienste ausführen. Nginx ist in C geschrieben, unabhängig vom Systemressourcenaufwand oder CPU -Nutzungseffizienz ist viel besser als Perlbal .
Als Mail-Proxy-Server: Nginx ist auch ein sehr ausgezeichneter Mail-Proxy-Server (einer der frühesten Zwecke bei der Entwicklung dieses Produkts war auch als Mail-Proxy-Server (Mail-Proxy-Server), Last.fm beschreibt ein gelungenes und wunderbares Erlebnis.
NginxDie Installation ist sehr einfach und die Konfigurationsdatei ist sehr prägnant (sie unterstützt auch die Perl-Syntax). ), BugsSehr wenige Server: Nginx Starten ist besonders einfach und fast möglich7*24 Läuft ohne Unterbrechung, kein Neustart erforderlich, auch wenn es mehrere Monate läuft. Sie können die Softwareversion auch ohne Serviceunterbrechung aktualisieren.
Installation:
verfügt über Linux und Windows. Grundsätzlich müssen Sie die entsprechenden Versionen installieren. Ich nehme Windows als Beispiel:
Laden Sie das Installationspaket herunterhttp://nginx.org/en/download. html
Entpacken Sie, klicken Sie auf nginx.exe , um den Dienst auszuführen, geben Sie localhost in den Browser ein (Standardüberwachung 127.0.0.1:80) Wenn Sie die folgende Seite aufrufen, wird angezeigt, dass der nginx-Server erfolgreich gestartet wurde.
Demo:
Ich habe selbst eins gebautspringboot ist ein einfaches Projekt, das auf verschiedenen Ports bereitgestellt wird (kann auf verschiedenen Servern bereitgestellt werden). Um das Testen zu erleichtern, habe ich eine einfache Unterscheidung zwischen den Ausgabeinhalten getroffen:
Konfigurationsdetails:
Hinweis: conf/nginx.conf ist die Standardkonfigurationsdatei von nginx . Sie können auch nginx -c verwenden, um Ihre Konfigurationsdatei anzugeben
#运行用户 #user nobody; #启动进程,通常设置成和cpu的数量相等 worker_processes 1; #全局错误日志 #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #PID文件,记录当前启动的nginx的进程ID #pid logs/nginx.pid; #工作模式及连接数上限 events { worker_connections 1024; } #设定http服务器,利用它的反向代理功能提供负载均衡支持 http { #设定mime类型(邮件支持类型),类型由mime.types文件定义 include mime.types; default_type application/octet-stream; #设定日志 #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; #sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用, #必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime. sendfile on; #tcp_nopush on; #连接超时时间 keepalive_timeout 65; #gzip压缩开关 #gzip on; #设定负载均衡的服务器列表(或者一个反向代理服务器,一个的话不需要分配权重) upstream hello_server { #weigth参数表示权值,权值越高被分配到的几率越大 server 127.0.0.1:8888 weight=1; server 127.0.0.1:8899 weight=3; } server { #监听80端口,80端口是知名端口号,用于HTTP协议 listen 80; #定义使用localhost访问 server_name localhost; #编码格式 charset utf-8; #access_log logs/host.access.log main; #反向代理的路径,location 后面设置映射的路径 #对所有请求进行负载均衡请求(和upstream绑定) location / { root /root; #定义服务器的默认网站根目录位置 index index.html index.htm; #定义首页索引文件的名称 proxy_pass http://hello_server; #请求转向hello_server 定义的服务器列表 #以下是一些反向代理的配置(可选择性配置) #proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP proxy_set_header X-Forwarded-For $remote_addr; proxy_connect_timeout 90; #nginx跟后端服务器连接超时时间(代理连接超时) proxy_send_timeout 90; #后端服务器数据回传时间(代理发送超时) proxy_read_timeout 90; #连接成功后,后端服务器响应时间(代理接收超时) proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小 proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置 proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2) proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传 client_max_body_size 10m; #允许客户端请求的最大单文件字节数 client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数 } }
Nach der Konfiguration starten Sie nginx neu Server, Zugriff auf localhost:
Neustartbefehl: nginx -s reload
Sie greifen immer noch auf den nginx(localhost)-Server zu, aber Sie greifen tatsächlich auf den bereitgestellten Server zuSpringbootProjekt(localhost:8899). Wenn Sie noch ein paar Mal aktualisieren, sehen Sie das Bild unten, das anzeigt, dass auf die auf beiden Ports bereitgestellten Dienste zugegriffen wurde.
Hinweis: Die von den beiden Diensten zugewiesenen Gewichtswerte sind unterschiedlich, also Hallo Welt b erscheint !!!(Tatsächlich auf localhost:8899 zugreifen) ist wahrscheinlicher, und Hallo Welt a!!!(Der tatsächliche Zugriff auf localhost:8888) ist weniger wahrscheinlich. Sie können den Berechtigungswert selbst ändern und ihn noch ein paar Mal testen!
Zusammenfassung:
NginxAllgemeine Befehle:
Verwandte Empfehlungen:
Verwenden Sie Nginx, um domänenübergreifende Ajax-Anfragen zu vermeiden
Der Nginx-Reverse-Proxy-Mechanismus löst Front-End-Cross- Domainprobleme
Das obige ist der detaillierte Inhalt vonEintrittsfall für den Nginx-Lastausgleichsserver. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Sie können den Namen des Docker -Containers abfragen, indem Sie den Schritten folgen: Alle Container auflisten (Docker PS). Filtern Sie die Containerliste (unter Verwendung des GREP -Befehls). Ruft den Containernamen ab (befindet sich in der Spalte "Namen").

So bestätigen Sie, ob Nginx gestartet wird: 1. Verwenden Sie die Befehlszeile: SystemCTL Status Nginx (Linux/Unix), Netstat -ano | FindStr 80 (Windows); 2. Überprüfen Sie, ob Port 80 geöffnet ist; 3. Überprüfen Sie die Nginx -Startmeldung im Systemprotokoll. 4. Verwenden Sie Tools von Drittanbietern wie Nagios, Zabbix und Icinga.

So konfigurieren Sie einen Nginx -Domänennamen auf einem Cloud -Server: Erstellen Sie einen Datensatz, der auf die öffentliche IP -Adresse des Cloud -Servers zeigt. Fügen Sie virtuelle Hostblöcke in die NGINX -Konfigurationsdatei hinzu, wobei der Hörport, Domänenname und das Root -Verzeichnis der Website angegeben werden. Starten Sie Nginx neu, um die Änderungen anzuwenden. Greifen Sie auf die Konfiguration des Domänennamens zu. Weitere Hinweise: Installieren Sie das SSL -Zertifikat, um HTTPS zu aktivieren, sicherzustellen, dass die Firewall den Verkehr von Port 80 ermöglicht, und warten Sie, bis die DNS -Auflösung wirksam wird.

Die Methoden, die die Nginx -Version abfragen können, sind: Verwenden Sie den Befehl nginx -v; Zeigen Sie die Versionsrichtlinie in der Datei nginx.conf an. Öffnen Sie die Nginx -Fehlerseite und sehen Sie sich den Seitentitel an.

Wie konfiguriere ich Nginx in Windows? Installieren Sie NGINX und erstellen Sie eine virtuelle Hostkonfiguration. Ändern Sie die Hauptkonfigurationsdatei und geben Sie die Konfiguration der virtuellen Host ein. Starten oder laden Nginx neu. Testen Sie die Konfiguration und sehen Sie sich die Website an. Aktivieren Sie selektiv SSL und konfigurieren Sie SSL -Zertifikate. Stellen Sie die Firewall selektiv fest, damit Port 80 und 443 Verkehr.

Das Starten eines Nginx-Servers erfordert unterschiedliche Schritte gemäß verschiedenen Betriebssystemen: Linux/UNIX-System: Installieren Sie das NGINX-Paket (z. B. mit APT-Get oder Yum). Verwenden Sie SystemCTL, um einen Nginx -Dienst zu starten (z. B. sudo systemctl start nginx). Windows -System: Laden Sie Windows -Binärdateien herunter und installieren Sie sie. Starten Sie Nginx mit der ausführbaren Datei nginx.exe (z. B. nginx.exe -c conf \ nginx.conf). Unabhängig davon, welches Betriebssystem Sie verwenden, können Sie auf die Server -IP zugreifen

Erstellen Sie einen Container in Docker: 1. Ziehen Sie das Bild: Docker Pull [Spiegelname] 2. Erstellen Sie einen Container: Docker Ausführen [Optionen] [Spiegelname] [Befehl] 3. Starten Sie den Container: Docker Start [Containername]

Startschritte des Docker -Containers: Ziehen Sie das Containerbild: Führen Sie "Docker Pull [Mirror Name]" aus. Erstellen eines Containers: Verwenden Sie "Docker erstellen [Optionen] [Spiegelname] [Befehle und Parameter]". Starten Sie den Container: Führen Sie "Docker Start [Container Name oder ID]" aus. Containerstatus überprüfen: Stellen Sie sicher, dass der Container mit "Docker PS" ausgeführt wird.
