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教程有兴趣的朋友有所帮助。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



WindowsServerBackup ialah fungsi yang disertakan dengan sistem pengendalian WindowsServer, direka untuk membantu pengguna melindungi data penting dan konfigurasi sistem, serta menyediakan penyelesaian sandaran dan pemulihan yang lengkap untuk perusahaan peringkat kecil, sederhana dan perusahaan. Hanya pengguna yang menjalankan Server2022 dan lebih tinggi boleh menggunakan ciri ini. Dalam artikel ini, kami akan menerangkan cara memasang, menyahpasang atau menetapkan semula WindowsServerBackup. Cara Menetapkan Semula Sandaran Pelayan Windows Jika anda mengalami masalah dengan sandaran pelayan anda, sandaran mengambil masa terlalu lama, atau anda tidak dapat mengakses fail yang disimpan, maka anda boleh mempertimbangkan untuk menetapkan semula tetapan sandaran Pelayan Windows anda. Untuk menetapkan semula Windows

nginxupstream menghidupkan keepaliveupstreamtomcat{serverops-coffee.cn:8080;keepalive1024;}server{location/{proxy_http_version1.1;proxy_set_headerConnection"";proxy_passhttp://tomcat;}}nginx akan digunakan sebagai proksi terbalik dalam kebanyakan kes project , sebagai contoh, nginx diikuti oleh tomcat, nginx diikuti oleh php, dll. Pada masa ini, kami mendayakan nginx dan backend

Sempena mengeluarkan versi Windows Server binaan 26040, Microsoft mengumumkan nama rasmi produk: Windows Server 2025. Turut dilancarkan ialah versi Windows11WindowsInsiderCanaryChannel build26040. Sesetengah rakan mungkin masih ingat bahawa bertahun-tahun yang lalu seseorang berjaya menukar Windows NT daripada mod stesen kerja kepada mod pelayan, menunjukkan persamaan antara pelbagai versi sistem pengendalian Microsoft. Walaupun terdapat perbezaan yang jelas antara versi semasa sistem pengendalian pelayan Microsoft dan Windows 11, mereka yang memberi perhatian kepada butiran mungkin tertanya-tanya: mengapa Windows Server mengemas kini jenama,

fastcgi: fastcgi dibangunkan dan ditambah baik daripada cgi. Kelemahan utama kaedah antara muka cgi tradisional ialah prestasi yang lemah, kerana setiap kali pelayan http menghadapi program dinamik, penghurai skrip perlu dimulakan semula untuk melakukan penghuraian, dan kemudian hasilnya dikembalikan kepada pelayan http. Ini hampir tidak tersedia apabila berurusan dengan akses serentak yang tinggi. Di samping itu, kaedah antara muka cgi tradisional mempunyai keselamatan yang lemah dan jarang digunakan sekarang. Mod antara muka fastcgi menggunakan struktur c/s, yang boleh memisahkan pelayan http dan pelayan parsing skrip, dan memulakan satu atau lebih daemon parsing skrip pada pelayan parsing skrip. Setiap kali pelayan http menemui program dinamik, ia boleh dihantar terus ke fastcg

Bagaimana untuk mengubah suai nama lalai nginx, anda boleh menyamarkannya sedikit, atau anda boleh memasang Petua: Secara amnya, pengubahsuaian dibuat sebelum nginx disusun Selepas pengubahsuaian, kod tersebut perlu disusun semula seperti berikut: scr/core/nginx.conf#definenginx_version"1.4.7"#definenginx_ver"nginx/"n

Semasa Microsoft mengeluarkan kemas kini pratonton Win11 untuk desktop, hari ini ia turut mengeluarkan pratonton Saluran Perkhidmatan Jangka Panjang (LTSC) Windows Server Build 25335. Seperti biasa, Microsoft tidak menerbitkan log perubahan yang lengkap, malah menyediakan catatan blog yang sepadan. Microsoft telah melaraskan log kemas kini versi pratonton Windows Server untuk menjadikannya sama dengan versi saluran Canary Jika tiada kandungan baharu diperkenalkan, catatan blog rasmi tidak akan disiarkan. Nota daripada Laman Utama IT: Jenama pelayan belum dikemas kini dan masih Windows Server 2022 dalam versi pratonton. Di samping itu, Microsoft memanggil versi ini Windows Server vNext dan bukannya versi Windows yang sudah ada di pasaran.

Jika anda rasa tidak perlu memasang antara muka grafik semasa memasang Ubuntu Server 11.04, apatah lagi GNOME 3 yang masih belum sempurna. . Atau ia harus dibina dengan ARCH+GNOME3. Jadi tolong jangan buang masa anda membaca ini. Ia mengambil masa 2 malam dan sehari dan dipasang semula N kali. Akhirnya sesuatu telah datang daripadanya. Ia tidak mudah. Tanpa berlengah-lengah lagi, mari kita ke intinya: Perkakasan: One ThinkPad (Untuk X61) 2. Masukkan antara muka pilihan but, pilih but USB, dan kemudian pilih untuk memasang Ubu

Berita Rumah IT pada 14 Mac, Microsoft hari ini mengeluarkan kemas kini versi pratonton Windows 11 Build 26080 untuk desktop, dan juga mengemas kini kemas kini versi pratonton Windows Server Build 26080. Sebagai versi pratonton terkini Saluran Servis Jangka Panjang (LTSC) Windows Server akan datang, Windows Server Build 26080 menyediakan Edisi Pusat Data dan Edisi Standard, dan pengguna boleh memilih pengalaman desktop dan pilihan pemasangan Teras Pelayan. Keluaran ini juga termasuk pas tahunan untuk hos kontena, dan keluaran Azure khusus untuk penilaian mesin maya. Pertanyaan Rumah IT X Maklum balas pengguna mengklik butang Copilot di sudut kanan bawah.
