Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menggunakan pelayan proksi Nginx di Docker untuk mencapai pengimbangan beban berbilang pelayan web?
Bagaimana untuk menggunakan pelayan proksi Nginx dalam Docker untuk mencapai pengimbangan beban berbilang pelayan web?
Abstrak:
Dalam seni bina aplikasi web moden, pengimbangan beban adalah topik penting. Dengan mengedarkan trafik merentas berbilang pelayan, anda boleh meningkatkan ketersediaan sistem, prestasi dan kebolehskalaan. Artikel ini akan memperkenalkan cara menggunakan pelayan proksi Docker dan Nginx untuk mencapai pengimbangan beban berbilang pelayan web.
FROM nginx:latest COPY index.html /usr/share/nginx/html/ COPY nginx.conf /etc/nginx/nginx.conf EXPOSE 80
Di sini, kami menggunakan imej rasmi yang disediakan oleh Nginx dan menyalin fail index.html dan nginx.conf ke lokasi yang sepadan. Dalam index.html, anda boleh meletakkan sebarang kandungan web yang anda ingin paparkan. Dalam nginx.conf, anda boleh mengkonfigurasi tetapan berkaitan Nginx.
http { upstream backend { server web1:80; server web2:80; } server { listen 80; location / { proxy_pass http://backend; proxy_set_header Host $host; } } }
Di sini, kami mentakrifkan kumpulan pelayan huluan yang dipanggil backend, yang mengandungi alamat dua pelayan web. Dalam blok pelayan, kami mengikat port 80 ke pelayan proksi Nginx dan trafik proksi ke kumpulan pelayan bahagian belakang. Arahan proxy_set_header digunakan untuk menetapkan pengepala Hos permintaan kepada alamat pelayan.
Pertama, kita perlu membina imej pelayan web. Dalam direktori di mana imej terletak, jalankan arahan berikut.
docker build -t web-server .
Kemudian, kita boleh menjalankan berbilang contoh pelayan web. Jalankan arahan berikut dua kali untuk mencipta dua contoh.
docker run -d --name web1 web-server docker run -d --name web2 web-server
Seterusnya, kita perlu mencipta contoh pelayan proksi Nginx. Jalankan arahan berikut.
docker run -d -p 80:80 --name nginx-proxy --link web1 --link web2 nginx
Di sini, kami telah menggunakan parameter --link untuk menyambungkan pelayan proksi Nginx kepada dua kejadian pelayan web.
Dengan melihat log bekas pelayan web, kita dapat melihat cara permintaan diedarkan kepada kejadian yang berbeza.
docker logs web1 docker logs web2
Kesimpulan:
Dengan menggunakan pelayan proksi Docker dan Nginx, kami boleh mencapai pengimbangan beban berbilang pelayan web dengan mudah. Kaedah ini bukan sahaja mudah dan cekap, tetapi juga sangat fleksibel dan berskala. Saya harap artikel ini dapat membantu anda, terima kasih kerana membaca!
Atas ialah kandungan terperinci Bagaimana untuk menggunakan pelayan proksi Nginx di Docker untuk mencapai pengimbangan beban berbilang pelayan web?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!