Rumah pembangunan bahagian belakang tutorial php Bagaimana untuk mengkonfigurasi pelayan proksi Nginx dalam bekas Docker untuk meningkatkan kebolehskalaan anjal perkhidmatan web?

Bagaimana untuk mengkonfigurasi pelayan proksi Nginx dalam bekas Docker untuk meningkatkan kebolehskalaan anjal perkhidmatan web?

Sep 05, 2023 pm 06:03 PM
bekas buruh pelabuhan proksi nginx Penskalaan elastik

Bagaimana untuk mengkonfigurasi pelayan proksi Nginx dalam bekas Docker untuk meningkatkan kebolehskalaan anjal perkhidmatan web?

Bagaimana untuk mengkonfigurasi pelayan proksi Nginx dalam bekas Docker untuk meningkatkan kebolehskalaan anjal perkhidmatan web?

Dalam era pengkomputeran awan hari ini, penskalaan elastik merupakan cara penting untuk mengekalkan ketersediaan tinggi dan prestasi tinggi perkhidmatan web. Sebagai teknologi kontena yang ringan, Docker telah menjadi alat penting untuk membina seni bina penskalaan anjal. Sebagai pelayan proksi terbalik berprestasi tinggi, Nginx boleh mengagihkan trafik dengan berkesan dan meningkatkan kebolehpercayaan perkhidmatan dan keupayaan mengimbangi beban. Artikel ini akan memperkenalkan cara mengkonfigurasi pelayan proksi Nginx dalam bekas Docker untuk meningkatkan kebolehskalaan anjal perkhidmatan web.

Pertama, kita perlu membina perkhidmatan web mudah untuk ujian. Kami menggunakan Node.js sebagai pelayan web dan rangka kerja Express.js untuk membina aplikasi Hello World yang ringkas. Berikut ialah contoh kod untuk aplikasi Node.js yang mudah:

// app.js
const express = require('express');
const app = express();

app.get('/', (req, res) => {
    res.send('Hello, World!');
});

app.listen(3000, () => {
    console.log('Server is running on port 3000');
});
Salin selepas log masuk

Seterusnya, kami menggunakan Docker untuk menyimpan aplikasi kami. Cipta Fail Docker dalam direktori akar projek dan isikan kandungan berikut:

# Dockerfile
FROM node:alpine

WORKDIR /app

COPY package*.json ./

RUN npm install

COPY . .

EXPOSE 3000

CMD ["node", "app.js"]
Salin selepas log masuk

Fail Docker di atas menentukan imej asas kami sebagai nod:alpine, menetapkan direktori kerja sebagai /app dan menyalin kebergantungan aplikasi dan kod ke Mirroring. Pada masa yang sama, kami mendedahkan port 3000 bekas dan melaksanakan perintah nod app.js untuk menjalankan aplikasi kami semasa memulakan bekas.

Seterusnya, kami menggunakan Docker untuk membina imej dan menjalankan bekas. Jalankan arahan berikut pada baris arahan:

$ docker build -t myapp .
$ docker run -dp 3000:3000 myapp
Salin selepas log masuk

Arahan di atas akan membina imej bernama myapp dan memulakan bekas untuk menjalankan aplikasi kami. Kami memetakan port 3000 kontena ke port 3000 hos dan menetapkan kontena untuk dijalankan di latar belakang.

Kini, aplikasi kami berjaya dijalankan dalam bekas Docker dan boleh diakses dengan mengakses port 3000 alamat IP hos.

Seterusnya, kami akan mengkonfigurasi pelayan proksi Nginx untuk menyediakan pengimbangan beban dan fungsi penskalaan anjal. Pertama, kita perlu memasang Nginx dan mengedit fail konfigurasi Nginx. Jalankan arahan berikut dalam baris arahan:

$ sudo apt-get update
$ sudo apt-get install nginx
$ sudo nano /etc/nginx/conf.d/default.conf
Salin selepas log masuk

Dalam fail konfigurasi Nginx yang dibuka, isikan kandungan berikut:

# /etc/nginx/conf.d/default.conf
upstream app_servers {
    # 在这里填入你的Docker容器IP和端口信息,可以有多个
    server <CONTAINER_IP>:3000;
}

server {
    listen 80;

    location / {
        proxy_pass http://app_servers;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
Salin selepas log masuk

Dalam fail konfigurasi di atas, kami menggunakan blok huluan untuk menentukan kluster pelayan aplikasi kami, iaitu, kami Bekas buruh pelabuhan. Kami mengisi alamat IP bekas dan port ke dalam blok pelayan dan menggunakan arahan proxy_pass untuk memproksi permintaan kepada kluster pelayan aplikasi.

Selepas menyimpan dan keluar dari fail konfigurasi Nginx, mulakan semula perkhidmatan Nginx:

$ sudo service nginx restart
Salin selepas log masuk

Kini, pelayan proksi Nginx kami telah dikonfigurasikan. Kami boleh mengakses aplikasi kami dengan mengakses alamat IP hos Di bawah fungsi pengimbangan beban Nginx, permintaan akan diedarkan kepada mana-mana contoh dalam kelompok kontena Docker kami.

Apabila kita perlu menambah contoh bekas untuk penskalaan elastik, kita hanya perlu menjalankan semula arahan docker untuk memulakan bekas baharu. Nginx secara automatik menemui contoh kontena baharu dan memasukkannya dalam pengimbang beban.

Ringkasan:

Dengan memasukkan aplikasi kami dengan Docker dan mengkonfigurasi pelayan proksi Nginx, kami boleh mencapai kebolehskalaan anjal perkhidmatan web. Menggunakan Docker dan Nginx bersama-sama boleh mengembangkan dan mengurus perkhidmatan web dengan sangat fleksibel. Saya harap artikel ini akan membantu anda memahami cara mengkonfigurasi pelayan proksi Nginx dalam bekas Docker untuk meningkatkan kebolehskalaan anjal perkhidmatan web.

Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi pelayan proksi Nginx dalam bekas Docker untuk meningkatkan kebolehskalaan anjal perkhidmatan web?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk melaksanakan teknologi kontena docker di java Bagaimana untuk melaksanakan teknologi kontena docker di java Mar 08, 2024 am 10:19 AM

Kaedah pelaksanaan: 1. Tambahkan kebergantungan Docker Java API pada projek anda 2. Buat klien Docker 3. Gunakan klien Docker untuk mencipta dan memulakan bekas Docker;

Konfigurasi kemas kini cache proksi Nginx untuk bertindak balas terhadap perubahan dalam kandungan tapak web dalam masa nyata Konfigurasi kemas kini cache proksi Nginx untuk bertindak balas terhadap perubahan dalam kandungan tapak web dalam masa nyata Jul 07, 2023 am 08:06 AM

Konfigurasi kemas kini cache proksi Nginx, tindak balas masa nyata kepada perubahan kandungan laman web Pengenalan: Dengan peningkatan jumlah lawatan tapak web, cara meningkatkan prestasi laman web telah menjadi isu penting. Nginx ialah pelayan HTTP berprestasi tinggi dan pelayan proksi terbalik, dan caching proksi merupakan bahagian penting daripadanya. Dalam operasi dan penyelenggaraan harian, selalunya perlu untuk mengemas kini dan mengubah suai kandungan tapak web sambil mengekalkan kelajuan tindak balas apabila pengguna mengaksesnya. Artikel ini akan memperkenalkan cara mengkonfigurasi caching proksi dalam Nginx dan membolehkannya bertindak balas ke tapak web dalam masa nyata

Bekas Docker dalam bahasa Go dibangunkan secara tempatan Bekas Docker dalam bahasa Go dibangunkan secara tempatan Jun 01, 2023 pm 07:31 PM

Bahasa Go ialah salah satu bahasa yang paling popular untuk pembangunan Internet hari ini Dalam pembangunan harian, selalunya perlu menggunakan bekas Docker untuk membina persekitaran pembangunan tempatan untuk perkhidmatan. Artikel ini akan menerangkan secara ringkas aplikasi bekas Docker dalam pembangunan bahasa Go. Pengenalan kepada Docker Containers Docker ialah teknologi virtualisasi yang boleh membantu pembangun menyediakan persekitaran pembangunan dengan pantas, membina imej, menggunakan aplikasi, dsb. secara tempatan, dengan itu mengelakkan ketidakkonsistenan dalam pembangunan, ujian, penggunaan, dsb. yang disebabkan oleh persekitaran yang berbeza. Bekas Docker ialah Doc

Bagaimanakah rangka kerja Java menyokong penskalaan elastik dalam seni bina perkhidmatan mikro? Bagaimanakah rangka kerja Java menyokong penskalaan elastik dalam seni bina perkhidmatan mikro? Jun 04, 2024 pm 03:41 PM

Rangka kerja Java menyokong penskalaan anjal dalam seni bina perkhidmatan mikro melalui mekanisme berikut: Kubernetes: platform untuk mengurus dan menskalakan aplikasi dalam kontena yang secara automatik melaraskan bilangan replika kontena berdasarkan beban. SpringBootActuator: Menyediakan titik akhir untuk memantau dan mengurus aplikasi, yang boleh digunakan untuk mengumpul metrik beban dan mencetuskan operasi penskalaan.

Di luar asas pengimbangan beban PHP: Selami konsep lanjutan Di luar asas pengimbangan beban PHP: Selami konsep lanjutan Mar 02, 2024 pm 01:30 PM

Dasar pengimbangan beban lanjutan berwajaran round-robin: tetapkan pemberat berdasarkan kapasiti atau prestasi pelayan, memberi keutamaan kepada pelayan dengan beban yang lebih rendah. //Contoh undian berwajaran $servers=array("server1" =>1,"server2" =>2,"server3" =>3);//Pilih pelayan secara rawak berdasarkan berat $selected_server=array_rand($servers,1) ;Sambungan minimum: Berikan sambungan baharu kepada pelayan dengan bilangan sambungan terkecil. //Contoh sambungan minimum $servers=array();$min_connections=null;$selected_server=n

Spring Cloud Kubernetes: Terima kontena dan biarkan aplikasi anda berjalan di awan Spring Cloud Kubernetes: Terima kontena dan biarkan aplikasi anda berjalan di awan Mar 09, 2024 am 09:50 AM

Dalam era pengkomputeran awan, kontena telah menjadi asas seni bina aplikasi moden. springcloudkubernetes ialah bahagian penting dalam ekosistem springCloud Ia menyediakan pembangun set alat yang komprehensif untuk menggunakan dan mengurus aplikasi SpringBoot dengan lancar ke dalam kelompok Kubernetes. Kelebihan Teknologi Kontena Kontena membawa banyak kelebihan, termasuk: Pengasingan dan mudah alih: Bekas mengasingkan aplikasi daripada infrastruktur asas, memastikan aplikasi boleh berjalan secara normal dalam persekitaran yang berbeza. Penskalaan elastik: Kubernetes boleh menskalakan salinan bekas secara automatik mengikut beban untuk memenuhi keperluan aplikasi dan meningkatkan penggunaan sumber. Penemuan Perkhidmatan: Kubernetes

Bagaimana untuk menyediakan pelayan proksi Nginx untuk mencapai pengimbangan beban antara berbilang pelayan? Bagaimana untuk menyediakan pelayan proksi Nginx untuk mencapai pengimbangan beban antara berbilang pelayan? Sep 05, 2023 am 08:30 AM

Bagaimana untuk menyediakan pelayan proksi Nginx untuk mencapai pengimbangan beban antara berbilang pelayan? Pengenalan: Dalam aplikasi Internet moden, pengimbangan beban pelayan adalah salah satu faktor penting untuk memastikan ketersediaan tinggi, prestasi dan kebolehskalaan aplikasi. Nginx ialah pelayan proksi sumber terbuka berprestasi tinggi dengan fungsi pengimbangan beban yang berkuasa. Artikel ini akan memperkenalkan cara menggunakan pelayan proksi Nginx untuk mencapai pengimbangan beban dan memberikan contoh kod yang berkaitan. Langkah 1: Pasang Nginx Mula-mula, kita perlu memasang Nginx. Boleh lulus sebagai

Bagaimana untuk mengkonfigurasi pelayan proksi Nginx menggunakan bekas Docker untuk menyulitkan perkhidmatan web? Bagaimana untuk mengkonfigurasi pelayan proksi Nginx menggunakan bekas Docker untuk menyulitkan perkhidmatan web? Sep 06, 2023 am 08:48 AM

Cara Mengkonfigurasi Pelayan Proksi Nginx untuk Menyulitkan Perkhidmatan Web Menggunakan Bekas Docker Dalam dunia Internet hari ini, melindungi keselamatan perkhidmatan Web telah menjadi semakin penting. Untuk melindungi data sensitif daripada dicuri atau diganggu semasa penghantaran, ia telah menjadi amalan standard untuk menggunakan protokol HTTPS untuk menyulitkan perkhidmatan web. Artikel ini akan memperkenalkan cara menggunakan bekas Docker untuk mengkonfigurasi pelayan proksi Nginx untuk melaksanakan penyulitan perkhidmatan web. Docker ialah platform kontena sumber terbuka yang membantu pembangun memudahkan aplikasi

See all articles