Panduan terperinci untuk penggunaan kontena dan pengurusan kluster pelayan Nginx

PHPz
Lepaskan: 2023-08-06 11:03:15
asal
1848 orang telah melayarinya

Panduan Terperinci untuk Penerapan Kontena dan Pengurusan Kluster Pelayan Nginx

Pengenalan:
Dengan pembangunan pengkomputeran awan dan teknologi kontena, penggunaan kontena telah menjadi cara biasa pembangunan dan penggunaan aplikasi perusahaan. Sebagai pelayan web berprestasi tinggi dan pelayan proksi terbalik, Nginx juga boleh digunakan dan diurus melalui kontena. Artikel ini akan memperkenalkan secara terperinci cara menyimpan pelayan Nginx dan meningkatkan ketersediaan tinggi melalui pengurusan kluster.

1. Persediaan
Pertama, kita perlu memasang persekitaran Docker dan pastikan untuk memulakan perkhidmatan Docker. Seterusnya, kita perlu menulis fail Dockerfile untuk membina imej Nginx Docker. Berikut ialah contoh fail Docker yang mudah:

FROM nginx:latest
COPY nginx.conf /etc/nginx/nginx.conf
COPY default.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
Salin selepas log masuk

Fail Docker ini mula-mula memilih imej Nginx terkini sebagai imej asas, dan kemudian menyalin fail konfigurasi Nginx dan fail konfigurasi hos maya lalai yang kami sediakan terlebih dahulu. Akhirnya, port 80 bekas terdedah dan pelayan Nginx dijalankan dalam mod latar depan.

2. Bina imej Docker
Selepas menyediakan fail Docker, kita boleh menggunakan arahan binaan docker untuk membina imej Docker. Dengan mengandaikan bahawa kami menyimpan Dockerfile dalam direktori semasa, kami boleh menggunakan arahan berikut untuk membinanya:

docker build -t my_nginx .
Salin selepas log masuk

Arahan ini akan membina imej Docker bernama my_nginx berdasarkan Dockerfile. Selepas binaan selesai, anda boleh menggunakan arahan imej docker untuk melihat senarai imej sedia ada untuk mengesahkan bahawa imej my_nginx telah berjaya dibina.

3 Jalankan satu bekas Nginx
Kini, kita boleh mencipta bekas Nginx berdasarkan imej my_nginx dan menjalankannya. Anda boleh menggunakan arahan docker run untuk melaksanakan operasi ini:

docker run -d -p 80:80 my_nginx
Salin selepas log masuk

Perintah ini akan menjalankan bekas Nginx baharu di latar belakang dan memetakan port kontena 80 ke port 80 hos. Anda boleh mengesahkan sama ada pelayan Nginx berfungsi dengan betul dengan mengakses http://localhost melalui pelayar anda.

4. Bina kluster Nginx
Untuk meningkatkan ketersediaan pelayan Nginx yang tinggi, kami boleh menggunakan alat pengurusan kluster Docker untuk membina kluster Nginx. Dalam artikel ini, kami menggunakan Docker Swarm untuk melaksanakan pengurusan kluster.

Pertama, kita perlu memulakan nod pengurusan Swarm. Nod semasa boleh ditetapkan sebagai nod pengurusan Swarm dengan menjalankan arahan berikut:

docker swarm init
Salin selepas log masuk

Kemudian, kita boleh mencipta dua nod pekerja (hos) dengan menjalankan arahan berikut:

docker swarm join-token worker
Salin selepas log masuk

Selepas menjalankan arahan di atas, output yang serupa dengan yang berikut akan dijana :

docker swarm join --token xxxxxxxxxxxxxxxx
Salin selepas log masuk
Salin selepas log masuk

Kita perlu menggunakan output ini untuk menyertai dua nod pekerja ke kluster Swarm:

docker swarm join --token xxxxxxxxxxxxxxxx
Salin selepas log masuk
Salin selepas log masuk

Dengan cara ini, kami telah berjaya menambah dua nod pekerja pada kluster Swarm. Seterusnya, kita perlu membuat perkhidmatan Nginx. Anda boleh menggunakan arahan berikut untuk mencipta perkhidmatan Nginx:

docker service create --name nginx --replicas 3 -p 80:80 my_nginx
Salin selepas log masuk

Arahan ini akan mencipta perkhidmatan bernama nginx dalam kluster dan menentukan 3 replika. Perkhidmatan secara automatik mencipta dan mengedarkan replika ini pada nod yang berbeza dalam kluster, dengan itu membina kluster Nginx. Anda boleh menggunakan arahan perkhidmatan docker ls untuk melihat semua perkhidmatan dalam kelompok dan statusnya.

5 Operasi pengurusan kluster
Setelah kami menubuhkan kluster Nginx, kami boleh melaksanakan beberapa operasi pengurusan kluster asas.

  1. Peluasan dan pengurangan
    Peluasan dan pengurangan perkhidmatan Nginx boleh dicapai melalui arahan berikut:
docker service scale nginx=5
docker service scale nginx=2
Salin selepas log masuk

Arahan pertama mengembangkan bilangan replika perkhidmatan nginx kepada 5, dan arahan kedua menambah bilangan replika dikurangkan kepada 2.

  1. Kemas kini perkhidmatan
    Apabila kita perlu mengemas kini imej Nginx atau fail konfigurasi, kita boleh menggunakan arahan berikut untuk mengemas kini perkhidmatan:
docker service update --image my_nginx:latest nginx
Salin selepas log masuk

Arahan ini akan mengemas kini imej perkhidmatan nginx kepada versi terkini. Begitu juga, kami juga boleh mengemas kini parameter konfigurasi lain perkhidmatan melalui arahan kemas kini perkhidmatan docker.

  1. Pengurusan kebolehskalaan perkhidmatan
    Anda boleh melihat dan mengurus kebolehskalaan perkhidmatan melalui arahan berikut:
docker service ps nginx
docker service inspect --pretty nginx
Salin selepas log masuk

Arahan pertama akan memaparkan status dan maklumat semua salinan perkhidmatan nginx, dan arahan kedua akan memaparkan perkhidmatan nginx Maklumat terperinci, termasuk peruntukan nod dan status larian replika, dsb.

Kesimpulan:
Dengan memasukkan pelayan Nginx untuk penempatan dan pengurusan kluster, kami boleh mencapai ketersediaan dan fleksibiliti yang lebih tinggi. Artikel ini memperkenalkan secara terperinci penggunaan Docker untuk membina imej Nginx, menjalankan satu bekas dan menggunakan Docker Swarm untuk membina dan mengurus kelompok Nginx. Saya berharap pembaca dapat mengetahui tentang penggunaan kontena Nginx dan pengurusan kluster melalui artikel ini, dan dapat menerapkan dan mengembangkannya dalam senario sebenar.

Atas ialah kandungan terperinci Panduan terperinci untuk penggunaan kontena dan pengurusan kluster pelayan Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan