【Nginx學習筆記】:Fastapi服務部署單機Nginx配置說明

服務部署單機Nginx配置說明

服務.conf配置文件:

upstream asr_backend {server 127.0.0.1:8010;
}server {listen 80;server_name your_domain.com;location / {proxy_pass http://localhost:8000;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
}

這個 Nginx 配置 主要用于設置反向代理和負載均衡,接收客戶端請求并轉發給指定的 FastAPI 后端服務。以下是詳細解釋:


1?? upstream 區域

upstream asr_backend {server 127.0.0.1:8000;
}
  • upstream:用來定義一組服務器的地址,通常用于負載均衡。如果有多個后端服務節點,可以在這里列出并設置負載均衡策略。
    • asr_backend:這是給一組后端服務器(即 FastAPI 服務節點)定義的名字。在后續的 proxy_pass 中使用。
    • server 127.0.0.1:8000:指定后端服務器的 IP 和端口號。在這個配置中,后端服務是運行在 本機 上的 8000 端口。如果有多個后端服務節點,也可以繼續增加 server 行(如:server 127.0.0.1:8011;),實現負載均衡。

2?? server 區域

server {listen 80;server_name your_domain.com;location / {proxy_pass http://localhost:8010;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
}
  • server:定義一個虛擬服務器,接收來自客戶端的請求。

配置項解析

  1. listen 80;
    • 指定 Nginx 監聽 80 端口,HTTP 默認端口。
    • 這是公開的入口端口,用戶通過 http://your_domain.comhttp://<nginx_ip> 發起請求。
  2. server_name your_domain.com;
    • 配置域名,告訴 Nginx 哪個域名(或 IP 地址)會由此虛擬服務器處理。
    • 如果沒有特殊需求,可以使用 localhost 或任何你希望接受請求的域名。如果是實際部署,your_domain.com 需要替換為實際的域名或服務器 IP 地址。
  3. location / { ... }
    • 配置請求的路徑。這里使用了 /,表示匹配所有請求路徑。
    • 可以通過 location 指定不同路徑的轉發規則,比如 /api//media/,等等。

proxy_pass 和頭部設置

  • proxy_pass http://localhost:8000;
    • 這行表示 Nginx 將所有請求轉發到 localhost:8000(即后端 FastAPI 服務)。
    • 如果在 upstream 配置中有多個服務器,proxy_pass 會通過負載均衡將請求分發到這些服務器。
  • proxy_set_header Host $host;
    • 設置傳遞給后端服務器的 Host 請求頭,保留原始的主機名或 IP 地址。這對于某些后端服務的處理非常重要,尤其是當后端需要知道請求的目標主機名時。
  • proxy_set_header X-Real-IP $remote_addr;
    • 設置 X-Real-IP 請求頭,將客戶端的 IP 地址傳遞給后端服務。由于請求是通過代理(Nginx)轉發的,后端服務默認只能看到 Nginx 的 IP 地址,X-Real-IP 確保后端能獲取到真實的客戶端 IP。
  • proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    • X-Forwarded-For 是一個標準 HTTP 請求頭,表示請求經過了哪些代理服務器。
    • 這里將真實的客戶端 IP 地址添加到該頭部,便于后端服務了解請求的源頭。每次請求經過 Nginx 時,Nginx 會將它自己的 IP 地址附加到這個頭部。

總結

  • upstream 用于定義一個后端服務池,如果有多個后端節點,Nginx 會將請求負載均衡地分發到這些節點。
  • server 區域配置了 Nginx 如何監聽客戶端請求并將其轉發到后端服務。
  • proxy_pass 指定了請求的轉發目標。
  • proxy_set_header 用來修改或添加請求頭,確保后端服務能正確獲取客戶端的請求信息。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/81062.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/81062.shtml
英文地址,請注明出處:http://en.pswp.cn/web/81062.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Qt網絡編程

前言 Qt為了支持跨平臺&#xff0c;對系統網絡編程的API&#xff08;socket API&#xff09;也進行了重新分裝。 實際Qt中進行網絡編程也不一定使用Qt封裝的網絡API&#xff0c;也有可能使用的是系統原生API或者其他第三方框架的API。 若要使用Qt中的網絡編程的API&#xff…

矩陣短劇系統:如何用1個后臺管理100+小程序?技術解析與實戰應用

引言&#xff1a;短劇行業的效率革命 2025年&#xff0c;短劇市場規模已突破千億&#xff0c;但傳統多平臺運營模式面臨重復開發成本高、用戶數據分散、內容同步效率低等痛點。行業亟需一種既能降本增效又能聚合流量的解決方案——“矩陣短劇系統”。通過“1個后臺管理100小程…

嵌入式STM32學習——ESP8266 01S的基礎介紹

簡介 ESP8266 系列模組是深圳市安信可科技有限公司開發的一系列基于樂鑫ESP8266EX的低功耗UART-WiFi芯片模組&#xff0c;可以方便地進行二次開發&#xff0c;接入云端服務&#xff0c;實現手機3/4G全球隨時隨地的控制&#xff0c;加速產品原型設計。 模塊核心處理器 ESP8266 在…

form-create-designer中$inject參數的數據結構及各項屬性說明

FcDesigner 是一款基于Vue的開源低代碼可視化表單設計器工具&#xff0c;通過數據驅動表單渲染。可以通過拖拽的方式快速創建表單&#xff0c;提高開發者對表單的開發效率&#xff0c;節省開發者的時間。并廣泛應用于在政務系統、OA系統、ERP系統、電商系統、流程管理等領域。 …

Jasypt概述及整合SpringBoot實現敏感數據加密

前言 在實際開發中&#xff0c;Spring Boot應用的配置文件中經常包含數據庫密碼、API密鑰等敏感信息。如果這些信息以明文形式存儲&#xff0c;會帶來嚴重的安全隱患。本文將詳細介紹如何使用Jasypt&#xff08;Java Simplified Encryption&#xff09;對Spring Boot配置文件中…

Better Faster Large Language Models via Multi-token Prediction 原理

目錄 模型結構&#xff1a; Memory-efficient implementation&#xff1a; 實驗&#xff1a; 1. 在大規模模型上效果顯著&#xff1a; 2. 在不同類型任務上的效果&#xff1a; 為什么MLP對效果有提升的幾點猜測&#xff1a; 1. 并非所有token對生成質量的影響相同 2. 關…

git merge解沖突后,add、continue提交

git merge解沖突后&#xff0c;add、continue提交 git merge操作沖突后&#xff0c;需要手動解沖突&#xff0c;解完沖突后&#xff0c;需要: git add . 然后&#xff0c;進入一般的正常git代碼提交流程。 git合并‘merge’其他分支的個別文件到當前branch_gitbash 合并branc…

3.8.1 利用RDD實現詞頻統計

在本次實戰中&#xff0c;我們通過Spark的RDD實現了詞頻統計功能。首先&#xff0c;準備了包含單詞的文件并上傳至HDFS。接著&#xff0c;采用交互式方式逐步完成詞頻統計&#xff0c;包括創建RDD、單詞拆分、映射為二元組、按鍵歸約以及排序等操作。此外&#xff0c;還通過創建…

應對進行性核上性麻痹,健康護理鑄就溫暖防線

進行性核上性麻痹&#xff08;PSP&#xff09;是一種罕見的神經退行性疾病&#xff0c;主要影響患者的運動、平衡及吞咽等功能。針對這類患者&#xff0c;有效的健康護理對提升其生活質量、延緩病情發展至關重要。 在日常生活護理方面&#xff0c;由于患者存在平衡障礙和肌肉僵…

融合蛋白質語言模型和圖像修復模型,麻省理工與哈佛聯手提出PUPS ,實現單細胞級蛋白質定位

蛋白質亞細胞定位&#xff08;subcellular localization of a protein&#xff09;是指蛋白質在細胞結構中具體的定位情況&#xff0c; 這對蛋白質行使其生物學功能至關重要。舉個簡單例子&#xff0c;如果把細胞想象成一個龐大的企業&#xff0c;其中細胞核、線粒體、細胞膜等…

lanqiaoOJ 4330:歐拉函數模板

【題目來源】 https://www.lanqiao.cn/problems/4330/learning/ 【問題描述】 這是一道模板題。 首先給出歐拉函數的定義&#xff1a;即 φ(n) 表示的是小于等于 n 的數中和 n 互質的數的個數。 比如說 φ(6)2&#xff0c;當 n 是質數的時候&#xff0c;顯然有φ(n)n-1。 【題…

無人機電子防抖技術要點概述!

一、技術要點 1. 傳感器數據融合 電子防抖需結合陀螺儀、加速度計、視覺傳感器等多源數據&#xff0c;實時檢測無人機的姿態變化和振動頻率。例如&#xff0c;IMU&#xff08;慣性測量單元&#xff09;通過加速度計和陀螺儀測量飛行器的姿態和運動狀態&#xff0c;結合視覺感…

Win10 安裝單機版ES(elasticsearch),整合IK分詞器和安裝Kibana

一. 先查看本機windows是否安裝了ES(elasticsearch)&#xff0c;檢查方法如下&#xff1a; 檢查進程 按 Ctrl Shift Esc 組合鍵打開 “任務管理器”。在 “進程” 選項卡中&#xff0c;查看是否有 elasticsearch 相關進程。如果有&#xff0c;說明系統安裝了 ES。 檢查端口…

BIO、NIO、AIO 的區別與實戰應用解析

導語&#xff1a; BIO、NIO 和 AIO 是后端面試中的經典話題&#xff0c;尤其在高并發、高性能場景下更是重中之重。本文將從面試官視角出發&#xff0c;深入剖析三者的區別、典型題目和實戰解答&#xff0c;助你掌握答題技巧&#xff0c;輕松拿下這一高頻考點&#xff01; 一、…

電腦風扇轉速不正常的原因

一、硬件故障或接觸問題 1. 風扇本身損壞 扇葉卡頓或軸承磨損&#xff1a;灰塵堆積、異物纏繞&#xff08;如頭發、線纜&#xff09;會導致扇葉轉動阻力增大&#xff0c;發出異響并轉速下降&#xff1b;軸承潤滑脂干涸或老化會引起風扇噪音大、轉速不穩定。電機故障&#xff…

運維打鐵:生產服務器用戶權限管理方案全解析

文章目錄 一、引言二、方案設計2.1 權限模型選擇2.2 角色定義2.3 權限分配2.4 用戶與角色關聯 三、相關代碼注釋&#xff08;以 Linux 系統為例&#xff09;3.1 用戶創建與角色分配腳本3.2 權限設置腳本 四、常見問題解決4.1 用戶無法登錄4.2 用戶權限不足4.3 權限文件修改后不…

在tp6模版中加減法

實際項目中&#xff0c;我們經常需要標簽變量加減運算的操作。但是&#xff0c;在ThinkPHP中&#xff0c;并不支持模板變量直接運算的操作。幸運的是&#xff0c;它提供了自定義函數的方法&#xff0c;我們可以利用自定義函數解決&#xff1a;ThinkPHP模板自定義函數語法如下&a…

Fastjson利用鏈JdbcRowSetImpl分析

首先創建客戶端 package com.yq1ng.vul;import com.alibaba.fastjson.JSON;/*** FastJsonTest** author yq1ng* date 2021/12/29 19:45* since 1.0.0*/ public class FastJsonTest {public static void main(String[] args) {String ser "{\"type\":\"co…

基于OAuth2-proxy和Keycloak為comfyui實現SSO

背景 comfyui無認證被漏掃后易被rce挖礦 攻擊過程 https://www.oschina.net/news/340226 https://github.com/comfyanonymous/ComfyUI/discussions/5165 阿里云漏洞庫關于comfyui的漏洞 https://avd.aliyun.com/search?qcomfyui&timestamp__1384n4%2BxBD0GitGQ0QD8ID%2F…

第R7周:糖尿病預測模型優化探索

文章目錄 1.數據預處理1.1 設置GPU1.2 數據導入1.3 數據檢查 2. 數據分析2.1 數據分布分析2.2 相關性分析 3. LSTM模型3.1 劃分數據集3.2 數據集構建3.3 定義模型 4. 訓練模型4.1 定義訓練函數4.2 定義測試函數4.3 訓練模型 5. 模型評估5.1 Loss與Accuracy圖 6. 總結 &#x1f…