Cara menggunakan Nginx dengan FastAPI untuk proksi terbalik dan pengimbangan beban
Pengenalan:
FastAPI dan Nginx ialah dua alatan pembangunan web yang sangat popular. FastAPI ialah rangka kerja Python berprestasi tinggi, dan Nginx ialah pelayan proksi terbalik yang berkuasa. Menggunakan kedua-dua alatan ini bersama-sama boleh meningkatkan prestasi dan kebolehpercayaan aplikasi web anda. Dalam artikel ini, kita akan belajar cara menggunakan Nginx dengan FastAPI untuk proksi terbalik dan pengimbangan beban.
Pengimbangan beban ialah teknologi yang mengedarkan permintaan kepada berbilang pelayan untuk meningkatkan prestasi dan kebolehpercayaan sistem. Apabila satu pelayan tidak dapat mengendalikan semua permintaan, pengimbangan beban mengedarkan permintaan kepada pelayan lain yang tersedia, dengan itu mengimbangi beban antara pelayan.
sudo apt update sudo apt install nginx
Selepas pemasangan selesai, kami perlu mengubah suai fail konfigurasi Nginx. Buka fail konfigurasi Nginx menggunakan arahan berikut:
sudo nano /etc/nginx/sites-available/default
Dalam fail konfigurasi, kita perlu menambah konfigurasi berikut:
upstream backend { server 127.0.0.1:8000; server 127.0.0.1:8001; } server { listen 80; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
Dalam konfigurasi di atas, kami telah menentukan gugusan pelayan huluan bernama "backend". Terdapat dua pelayan dalam kluster, masing-masing mendengar pada port 8000 dan 8001. Kami kemudiannya menentukan blok pelayan yang mendengar pada port 80 dan memajukan permintaan kepada pelayan dalam kelompok "belakang". Akhir sekali, kami menetapkan beberapa pengepala untuk permintaan proksi.
Selepas menyimpan dan keluar dari fail konfigurasi, mulakan semula pelayan Nginx:
sudo systemctl restart nginx
pip install fastapi uvicorn
Kemudian, buat fail bernama "main.py" dan tambah kod berikut:
from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"Hello": "World"}
Selepas menyimpan fail, lancarkan aplikasi FastAPI menggunakan arahan berikut:
uvicorn main:app --reload
Sekarang, aplikasi FastAPI kami sedang mendengar pada port tempatan 8000.
Untuk menguji pengimbangan beban, kami boleh menyalin fail "main.py" dan memulakan aplikasi FastAPI pada port lain. Sebagai contoh, salin "main.py" ke "main2.py" dan mulakan aplikasi pada port 8001.
Kemudian, gunakan arahan berikut untuk memulakan aplikasi FastAPI kedua:
uvicorn main2:app --port 8001 --reload
Pada ketika ini, Nginx telah menyediakan pengimbangan beban dan permintaan akan diseimbangkan kepada dua aplikasi FastAPI.
Kesimpulan:
Dengan menggabungkan FastAPI dan Nginx, kami boleh melaksanakan fungsi proksi terbalik dan pengimbangan beban untuk meningkatkan prestasi dan kebolehpercayaan aplikasi web. Menggunakan ciri proksi terbalik Nginx, kami boleh menyembunyikan butiran pelayan bahagian belakang dan menyediakan keselamatan. Melalui fungsi pengimbangan beban, kami boleh mengimbangi beban merentas berbilang pelayan untuk meningkatkan prestasi dan kebolehpercayaan sistem. Saya harap artikel ini dapat membantu anda mempelajari cara menggunakan Nginx untuk proksi terbalik dan pengimbangan beban dalam FastAPI.
Atas ialah kandungan terperinci Cara menggunakan Nginx dengan FastAPI untuk proksi terbalik dan pengimbangan beban. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!