Inhaltsverzeichnis
Einführung:
Vorteile:
Installation:
Konfigurationsdetails:
Zusammenfassung:
Heim Backend-Entwicklung PHP-Tutorial Eintrittsfall für den Nginx-Lastausgleichsserver

Eintrittsfall für den Nginx-Lastausgleichsserver

Apr 04, 2018 pm 03:00 PM
nginx 入门 服务器


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.

Nginx

Die 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 dem Login kopieren

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!

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

Video Face Swap

Video Face Swap

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

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 überprüfen Sie den Namen des Docker -Containers So überprüfen Sie den Namen des Docker -Containers Apr 15, 2025 pm 12:21 PM

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 überprüfen Sie, ob Nginx gestartet wird So überprüfen Sie, ob Nginx gestartet wird Apr 14, 2025 pm 01:03 PM

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 den Namen des Cloud -Server -Domänennamens in Nginx So konfigurieren Sie den Namen des Cloud -Server -Domänennamens in Nginx Apr 14, 2025 pm 12:18 PM

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.

So überprüfen Sie die Nginx -Version So überprüfen Sie die Nginx -Version Apr 14, 2025 am 11:57 AM

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.

So konfigurieren Sie Nginx in Windows So konfigurieren Sie Nginx in Windows Apr 14, 2025 pm 12:57 PM

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.

So starten Sie den Nginx -Server So starten Sie den Nginx -Server Apr 14, 2025 pm 12:27 PM

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

So erstellen Sie Container für Docker So erstellen Sie Container für Docker Apr 15, 2025 pm 12:18 PM

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]

So starten Sie einen Container von Docker So starten Sie einen Container von Docker Apr 15, 2025 pm 12:27 PM

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.

See all articles