Heim Backend-Entwicklung PHP-Tutorial Nginx-Serie (Dreizehn Nginx-Lastausgleich)

Nginx-Serie (Dreizehn Nginx-Lastausgleich)

Aug 08, 2016 am 09:24 AM
fastcgi server upstream

一.负载均衡配置

<code><span># 负载均衡</span><span>upstream</span> webserver {
    <span>server</span><span>192.168.27.134:8080</span>;
    <span>server</span><span>192.168.27.135:80</span>;
    <span>server</span><span>192.168.27.136:80</span>;
}

<span># 反向代理</span><span>server</span> { 
    <span>listen</span><span>80</span>;
    <span>server_name</span> www.test01.com;

    <span>location</span> / {
        <span>proxy_pass</span><span>http://webserver</span>;
        <span>proxy_redirect</span><span>off</span>;
        <span>proxy_set_header</span> Host <span>$host</span>;
        <span>proxy_set_header</span> X-Real-IP <span>$remote_addr</span>;
        <span>proxy_set_header</span> X-Forwarded-For <span>$proxy_add_x_forwarded_for</span>;
    }
}

<span># web服务器</span><span>server</span> {
    <span>listen</span><span>8080</span>;
    <span>server_name</span>  www.test01.com;
    <span>access_log</span>  logs/host.access.log  main;

    <span>location</span> / {
        <span>root</span>   /web/www/thinkphp;
        <span>index</span>  index.php index.html index.htm;

        <span>if</span> (!-e <span>$request_filename</span>) {
            <span>rewrite</span><span> ^/(.*)$</span> /index.php/<span>$1</span><span>last</span>;
        }
    }

    <span>location</span><span>~ [^/]\.php(/|$)</span> {
        <span>root</span> /web/www/thinkphp;
        <span>fastcgi_index</span> index.php;
        <span>fastcgi_pass</span><span>127.0.0.1:9000</span>;
        <span>include</span>      fastcgi_params;

        <span>fastcgi_split_path_info</span><span> ^(.+?\.php)(/.*)$</span>;
        <span>fastcgi_param</span> SCRIPT_FILENAME <span>$document_root</span><span>$fastcgi_script_name</span>;
        <span>fastcgi_param</span> SCRIPT_NAME <span>$fastcgi_script_name</span>;
        <span>fastcgi_param</span> PATH_INFO <span>$fastcgi_path_info</span>;
        <span>fastcgi_param</span> PATH_TRANSLATED <span>$document_root</span><span>$fastcgi_path_info</span>;
    }
}</code>
Nach dem Login kopieren

二. 负载均衡算法

1.轮询 (默认)

<code>upstream webserver {
    <span>server</span><span>192.168</span><span>.27</span><span>.134</span>:<span>8080</span>;
    <span>server</span><span>192.168</span><span>.27</span><span>.135</span>:<span>80</span>;
    <span>server</span><span>192.168</span><span>.27</span><span>.136</span>:<span>80</span>;
}</code>
Nach dem Login kopieren

2.weight

<code>upstream webserver {
    <span>server</span><span>192.168</span><span>.27</span><span>.134</span>:<span>8080</span> weight=<span>1</span>;
    <span>server</span><span>192.168</span><span>.27</span><span>.135</span>:<span>80</span> weight=<span>2</span>;
    <span>server</span><span>192.168</span><span>.27</span><span>.136</span>:<span>80</span> weight=<span>2</span>;
}</code>
Nach dem Login kopieren

3.ip_hash ( 解决session共享问题)

<code>upstream webserver {
    ip_hash;
    <span>server</span><span>192.168</span><span>.27</span><span>.134</span>:<span>8080</span>;
    <span>server</span><span>192.168</span><span>.27</span><span>.135</span>:<span>80</span>;
    <span>server</span><span>192.168</span><span>.27</span><span>.136</span>:<span>80</span>;
}</code>
Nach dem Login kopieren

4.fair 按后端服务器的响应时间来分配请求,响应时间短的优先分配。(第三方)

<code>upstream webserver {
    <span>server</span><span>192.168</span><span>.27</span><span>.134</span>:<span>8080</span>;
    <span>server</span><span>192.168</span><span>.27</span><span>.135</span>:<span>80</span>;
    <span>server</span><span>192.168</span><span>.27</span><span>.136</span>:<span>80</span>;
    fair;
}</code>
Nach dem Login kopieren

参考:http://wiki.nginx.org/HttpUpstreamFairModule

5.url_hash 按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。(第三方)

<code><span>upstream</span> webserver {
    <span>server</span><span>192.168.27.134:8080</span>;
    <span>server</span><span>192.168.27.135:80</span>;
    <span>server</span><span>192.168.27.136:80</span>;
    <span>hash</span><span>$request_uri</span>;
}</code>
Nach dem Login kopieren

参考:http://wiki.nginx.org/HttpUpstreamRequestHashModule

6.一致性hash (第三方)
参考:http://wiki.nginx.org/HttpUpstreamConsistentHash

三.相关配置

Weight:指定轮询权值,Weight值越大,分配到的访问机率截越高,主要用于后端每个服务器性能不均的情况下。

down:表示当前的server暂时不参与负载均衡,通常和ip_hash一起使用。

backup:预留的备份机器。当其他所有的非backup机器出现故障或者忙的时候,才会请求backup机器,因此这台机器的压力最轻。

max_fails:在一定时间内(这个时间在fail_timeout参数中设置)检查这个服务器是否可用时产生的最多失败请求数,默认为1。将其设置为0可以关闭检查,这些错误在proxy_next_upstream和fastcgi_next_upstream(404错误不会使max_fails增加)中定义。

fail_timeout:在这个时间内产生了max_fails所设置大小的失败尝试连接请求后这个服务器可能不可用,同样它指定了服务器不可用的时间(在下一次尝试连接请求发起之前),默认为10秒,fail_timeout与前端响应时间没有直接关系,不过可以使用proxy_connect_timeout和proxy_read_timeout来控制。

四.参考资料

http://baidutech.blog.51cto.com/4114344/1033718

http://lobert.iteye.com/blog/1929623

http://blog.csdn.net/poechant/article/details/7256184

以上就介绍了Nginx系列(十三 nginx负载均衡),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

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)

Anleitung zum Installieren, Deinstallieren und Zurücksetzen des Windows-Server-Backups Anleitung zum Installieren, Deinstallieren und Zurücksetzen des Windows-Server-Backups Mar 06, 2024 am 10:37 AM

WindowsServerBackup ist eine Funktion des WindowsServer-Betriebssystems, die Benutzern dabei helfen soll, wichtige Daten und Systemkonfigurationen zu schützen und vollständige Sicherungs- und Wiederherstellungslösungen für kleine, mittlere und große Unternehmen bereitzustellen. Nur Benutzer, die Server2022 und höher ausführen, können diese Funktion nutzen. In diesem Artikel erklären wir, wie Sie WindowsServerBackup installieren, deinstallieren oder zurücksetzen. So setzen Sie die Windows Server-Sicherung zurück: Wenn Sie Probleme mit der Sicherung Ihres Servers haben, die Sicherung zu lange dauert oder Sie nicht auf gespeicherte Dateien zugreifen können, können Sie die Sicherungseinstellungen Ihres Windows Servers zurücksetzen. Um Windows zurückzusetzen

So aktivieren Sie Keepalive im Nginx-Upstream So aktivieren Sie Keepalive im Nginx-Upstream May 14, 2023 pm 07:04 PM

nginxupstream aktiviert keepaliveupstreamtomcat{serverops-coffee.cn:8080;keepalive1024;}server{location/{proxy_http_version1.1;proxy_set_headerConnection"";proxy_passhttp://tomcat;}}nginx wird in den meisten Fällen als Reverse-Proxy verwendet Projekt: Auf Nginx folgt beispielsweise Tomcat, auf Nginx folgt PHP usw. Zu diesem Zeitpunkt aktivieren wir Nginx und das Backend

Vorschauversion von Windows Server 2025 begrüßt Update, Microsoft verbessert Insiders-Testerlebnis Vorschauversion von Windows Server 2025 begrüßt Update, Microsoft verbessert Insiders-Testerlebnis Feb 19, 2024 pm 02:36 PM

Anlässlich der Veröffentlichung der Build 26040-Version von Windows Server gab Microsoft den offiziellen Namen des Produkts bekannt: Windows Server 2025. Außerdem wurde die Windows11WindowsInsiderCanaryChannel-Version build26040 eingeführt. Einige Freunde erinnern sich vielleicht noch daran, dass vor vielen Jahren jemand Windows NT erfolgreich vom Workstation-Modus in den Server-Modus umgestellt hat und dabei die Gemeinsamkeiten verschiedener Versionen von Microsoft-Betriebssystemen aufgezeigt hat. Zwar gibt es deutliche Unterschiede zwischen Microsofts aktueller Version des Server-Betriebssystems und Windows 11, doch wer auf die Details achtet, dürfte neugierig sein: Warum Windows Server die Marke aktualisiert hat,

So konfigurieren und optimieren Sie FastCGI in Nginx So konfigurieren und optimieren Sie FastCGI in Nginx May 21, 2023 am 08:16 AM

fastcgi: fastcgi wurde aus cgi entwickelt und verbessert. Der Hauptnachteil der herkömmlichen CGI-Schnittstellenmethode ist die schlechte Leistung, da der Skriptparser jedes Mal, wenn der HTTP-Server auf ein dynamisches Programm trifft, neu gestartet werden muss, um die Analyse durchzuführen, und die Ergebnisse dann an den HTTP-Server zurückgegeben werden. Dies ist bei hohem gleichzeitigem Zugriff nahezu nicht verfügbar. Darüber hinaus weist die traditionelle CGI-Schnittstellenmethode eine geringe Sicherheit auf und wird derzeit nur noch selten verwendet. Der Fastcgi-Schnittstellenmodus übernimmt die C/S-Struktur, die den http-Server und den Skript-Parsing-Server trennen und einen oder mehrere Skript-Parsing-Daemons auf dem Skript-Parsing-Server starten kann. Jedes Mal, wenn der http-Server auf ein dynamisches Programm trifft, kann es direkt an fastcg übermittelt werden

So ändern Sie den Nginx-Versionsnamen, um jeden Webserver zu verschleiern So ändern Sie den Nginx-Versionsnamen, um jeden Webserver zu verschleiern May 14, 2023 pm 09:19 PM

So ändern Sie den Standardnamen von Nginx: Sie können ihn ein wenig verschleiern oder installieren Tipp: Im Allgemeinen werden Änderungen vorgenommen, bevor Nginx kompiliert wird. Nach der Änderung muss der Code wie folgt neu kompiliert werden: scr/core/nginx.conf#definenginx_version"1.4.7"#definenginx_ver"nginx/"n

Microsoft veröffentlicht die Windows Server vNext-Vorschauversion 25335 Microsoft veröffentlicht die Windows Server vNext-Vorschauversion 25335 Jan 10, 2024 am 08:49 AM

Während Microsoft das Win11-Vorschau-Update für den Desktop veröffentlicht hat, hat es heute auch die Windows Server Long Term Service Channel (LTSC)-Vorschau Build 25335 veröffentlicht. Wie üblich hat Microsoft weder ein vollständiges Änderungsprotokoll veröffentlicht noch einen entsprechenden Blog-Beitrag bereitgestellt. Microsoft hat das Aktualisierungsprotokoll der Windows Server-Vorschauversion so angepasst, dass es mit der Version des kanarischen Kanals übereinstimmt. Wenn keine neuen Inhalte eingeführt werden, wird der offizielle Blogbeitrag nicht veröffentlicht. Hinweis von IT Home: Die Servermarke wurde nicht aktualisiert und ist weiterhin Windows Server 2022 in der Vorschauversion. Zudem nennt Microsoft diese Versionen Windows Server vNext statt der bereits auf dem Markt befindlichen Windows Server 2019-Version.

Schritte zur Installation von GNOME 3 auf Ubuntu Server 11.04 Schritte zur Installation von GNOME 3 auf Ubuntu Server 11.04 Dec 31, 2023 pm 03:59 PM

Wenn Sie der Meinung sind, dass bei der Installation von Ubuntu Server 11.04 keine grafische Benutzeroberfläche installiert werden muss, geschweige denn GNOME 3, das noch nicht perfekt ist. . Oder es sollte mit ARCH+GNOME3 erstellt werden. Verschwenden Sie also bitte nicht Ihre Zeit mit der Lektüre. Es dauerte zwei Nächte und einen Tag und wurde N-mal neu installiert. Endlich ist etwas dabei herausgekommen. Es ist nicht einfach. Kommen wir ohne Umschweife zum Punkt: Hardware: Ein ThinkPad (Für X61) 2. Rufen Sie die Boot-Optionsoberfläche auf, wählen Sie USB-Boot und entscheiden Sie sich dann für die Installation von Ubu

Microsoft veröffentlicht Vorschau-Update für Windows Server 26080: Behebt Feedback-Hub-Fehler Microsoft veröffentlicht Vorschau-Update für Windows Server 26080: Behebt Feedback-Hub-Fehler Mar 14, 2024 pm 07:11 PM

IT House berichtete am 14. März, dass Microsoft heute zusätzlich zum Vorschau-Update für Windows 11 Build 26080 für den Desktop auch das Vorschau-Update für Windows Server Build 26080 veröffentlicht hat. Als neueste Vorschauversion des kommenden Windows Server Long Term Servicing Channel (LTSC) bietet Windows Server Build 26080 die Data Center Edition und die Standard Edition, und Benutzer können zwischen Desktop-Erfahrung und Server Core-Installationsoptionen wählen. Diese Version umfasst außerdem eine Jahreskarte für Container-Hosts und eine Azure-Version speziell für die Evaluierung virtueller Maschinen. IT House fragt X in den sozialen Medien ab und klickt auf die Copilot-Schaltfläche in der unteren rechten Ecke.

See all articles