Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk melaksanakan pengimbangan beban perkhidmatan web dalam bekas Docker melalui pelayan proksi Nginx?
Bagaimana untuk melaksanakan pengimbangan beban perkhidmatan web dalam bekas Docker melalui pelayan proksi Nginx?
Dalam aplikasi Internet moden, pengimbangan beban merupakan pertimbangan penting Ia boleh membantu kami mencapai peruntukan dan penggunaan sumber di antara berbilang pelayan dan meningkatkan ketersediaan sistem dan kapasiti beban. Perkhidmatan web yang dijalankan dalam bekas Docker juga boleh dimuatkan secara seimbang melalui pelayan proksi Nginx. Artikel ini akan memperkenalkan cara melaksanakan pengimbangan beban perkhidmatan web dalam bekas Docker melalui pelayan proksi Nginx.
Pertama, kami perlu menyediakan persekitaran kontena Docker untuk menjalankan perkhidmatan web kami. Dalam contoh ini, kami akan menggunakan dua bekas untuk mensimulasikan situasi pengimbangan beban.
Untuk menjalankan bekas Docker, kita perlu memasang Docker terlebih dahulu. Docker boleh dipasang melalui arahan berikut:
sudo apt-get update sudo apt-get install docker.io
Kami boleh menggunakan imej Docker untuk mencipta bekas perkhidmatan web. Di sini kami menggunakan imej Nginx yang mudah sebagai contoh.
docker run -d -p 8081:80 --name=web1 nginx docker run -d -p 8082:80 --name=web2 nginx
Arahan di atas akan mencipta dua bekas, masing-masing dipetakan ke port 8081 dan 8082 tempatan, dan dinamakan web1 dan web2.
Dalam penyelesaian pengimbangan beban kami, Nginx akan bertindak sebagai pelayan proksi dan memajukan permintaan pelanggan ke bekas perkhidmatan web bahagian belakang. Mari konfigurasikan Nginx sekarang.
Mula-mula, pasang Nginx:
sudo apt-get install nginx
Kemudian, edit fail konfigurasi Nginx /etc/nginx/nginx.conf
: /etc/nginx/nginx.conf
:
user nginx; worker_processes auto; http { ... upstream backend { server 127.0.0.1:8081; server 127.0.0.1:8082; } ... server { listen 80; server_name example.com; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } ... }
在上述配置中,我们使用upstream指令定义了两个后端服务器:127.0.0.1:8081和127.0.0.1:8082。然后,在server指令中,我们使用proxy_pass指令将请求转发到后端服务器,并通过proxy_set_header指令设置了一些请求头。
完成Nginx配置后,需要重启Nginx服务才能使配置生效。
sudo systemctl restart nginx
现在我们可以通过浏览器访问Nginx代理服务器,并观察负载均衡的效果。
在浏览器中输入http://example.com
rrreee
Selepas melengkapkan konfigurasi Nginx, anda perlu memulakan semula perkhidmatan Nginx untuk konfigurasi berkuat kuasa.
rrreeehttp://example.com
ke dalam penyemak imbas dan muat semula halaman beberapa kali. Anda akan mendapati bahawa permintaan akan dimajukan sama rata ke dua bekas perkhidmatan web di bahagian belakang. 🎜🎜Pada ketika ini, kami telah berjaya melaksanakan pengimbangan beban perkhidmatan web dalam bekas Docker melalui pelayan proksi Nginx. 🎜🎜Ringkasan: 🎜🎜Pengimbangan beban boleh membantu kami mencapai peruntukan dan penggunaan sumber antara berbilang pelayan, meningkatkan ketersediaan sistem dan kapasiti beban. Melalui pelayan proksi Nginx, kami boleh mencapai pengimbangan beban perkhidmatan web dalam bekas Docker. Di atas adalah langkah dan kod sampel untuk melaksanakan pengimbangan beban melalui pelayan proksi Nginx. Harap artikel ini membantu anda! 🎜Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pengimbangan beban perkhidmatan web dalam bekas Docker melalui pelayan proksi Nginx?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!