Nginx系列(十三 nginx负载均衡)
一.负载均衡配置
<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>
二. 负载均衡算法
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>
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>
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>
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>
参考: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>
参考: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教程有兴趣的朋友有所帮助。

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

WindowsServerBackup est une fonction fournie avec le système d'exploitation WindowsServer, conçue pour aider les utilisateurs à protéger les données importantes et les configurations système, et à fournir des solutions complètes de sauvegarde et de récupération pour les petites, moyennes et grandes entreprises. Seuls les utilisateurs exécutant Server2022 et versions ultérieures peuvent utiliser cette fonctionnalité. Dans cet article, nous expliquerons comment installer, désinstaller ou réinitialiser WindowsServerBackup. Comment réinitialiser la sauvegarde de Windows Server Si vous rencontrez des problèmes avec la sauvegarde de votre serveur, si la sauvegarde prend trop de temps ou si vous ne parvenez pas à accéder aux fichiers stockés, vous pouvez envisager de réinitialiser vos paramètres de sauvegarde de Windows Server. Pour réinitialiser Windows

nginxupstream active keepaliveupstreamtomcat{serverops-coffee.cn:8080;keepalive1024;}server{location/{proxy_http_version1.1;proxy_set_headerConnection"";proxy_passhttp://tomcat;}}nginx sera utilisé comme proxy inverse dans la plupart des cas dans le project , par exemple, nginx est suivi de tomcat, nginx est suivi de php, etc. À ce stade, nous activons nginx et le backend

A l'occasion de la sortie de la version build 26040 de Windows Server, Microsoft a annoncé le nom officiel du produit : Windows Server 2025. La version build26040 de Windows11WindowsInsiderCanaryChannel est également lancée. Certains amis se souviennent peut-être encore qu'il y a de nombreuses années, quelqu'un a réussi à convertir Windows NT du mode poste de travail au mode serveur, montrant ainsi les points communs entre les différentes versions des systèmes d'exploitation Microsoft. Bien qu'il existe des différences évidentes entre la version actuelle du système d'exploitation serveur de Microsoft et Windows 11, ceux qui prêtent attention aux détails peuvent être curieux : pourquoi Windows Server a mis à jour la marque,

fastcgi : fastcgi est développé et amélioré à partir de cgi. Le principal inconvénient de la méthode d'interface cgi traditionnelle est la faible performance, car chaque fois que le serveur http rencontre un programme dynamique, l'analyseur de script doit être redémarré pour effectuer l'analyse, puis les résultats sont renvoyés au serveur http. Ceci est presque indisponible lorsqu’il s’agit d’un accès simultané élevé. De plus, la méthode d'interface cgi traditionnelle est peu sécurisée et est rarement utilisée aujourd'hui. Le mode d'interface fastcgi adopte la structure c/s, qui peut séparer le serveur http et le serveur d'analyse de script, et démarrer un ou plusieurs démons d'analyse de script sur le serveur d'analyse de script. Chaque fois que le serveur http rencontre un programme dynamique, il peut être livré directement à fastcg

Comment modifier le nom par défaut de nginx, vous pouvez le déguiser un peu, ou vous pouvez l'installer Astuce : Généralement, les modifications sont apportées avant la compilation de nginx. Après modification, le code doit être recompilé comme suit : scr/core/nginx.conf#definenginx_version"1.4.7"#definenginx_ver"nginx/"n.

Alors que Microsoft a publié la mise à jour préliminaire de Win11 pour le bureau, il a également publié aujourd'hui la version préliminaire 25335 de Windows Server Long Term Service Channel (LTSC). Comme d'habitude, Microsoft n'a pas publié de journal complet des modifications, ni même fourni d'article de blog correspondant. Microsoft a ajusté le journal de mise à jour de la version préliminaire de Windows Server pour qu'il soit identique à la version Canary Channel. Si aucun nouveau contenu n'est introduit, le billet de blog officiel ne sera pas publié. Remarque d'IT Home : La marque du serveur n'a pas été mise à jour et est toujours Windows Server 2022 dans la version d'aperçu. De plus, Microsoft appelle ces versions Windows Server vNext au lieu de la version Windows Server 2019 déjà disponible sur le marché.

Si vous pensez qu'il n'est pas nécessaire d'installer une interface graphique lors de l'installation d'Ubuntu Server 11.04, encore moins de GNOME 3, qui n'est pas encore terminé. . Ou il devrait être construit avec ARCH+GNOME3. Alors s'il vous plaît, ne perdez pas votre temps à lire ceci. Cela a pris 2 nuits et un jour et a été réinstallé N fois. Finalement, quelque chose en est sorti. Ce n'est pas facile. Sans plus tarder, entrons dans le vif du sujet : Matériel : un ThinkPad (Pour X61) 2. Entrez dans l'interface des options de démarrage, sélectionnez le démarrage USB, puis choisissez d'installer Ubu.

Selon des rapports du 16 janvier, le média technologique étranger WindowsLatest a rapporté qu'après l'installation de la mise à jour KB5034129 par Windows Server 2022, les navigateurs Chrome, Edge et Firefox, ainsi qu'Adobe et d'autres applications avaient un écran blanc et étaient incapables d'afficher du contenu. Lors de l'événement Patch Tuesday de janvier 2024, Microsoft a publié la mise à jour KB5034129, conçue pour résoudre les problèmes d'adaptateur Wi-Fi dans Windows Server 2022. Cette mise à jour est largement recommandée et devrait être installée par de nombreuses entreprises pour garantir la stabilité et les performances du système. Cependant, de nombreux utilisateurs après l'installation et la mise à niveau ont signalé que la mise à jour de Windows Server 2022 entraînerait
