Major Changes: - Add StreamingService with OpenAI Compatible format - Upgrade Chat component V2 with Ant Design X integration - Implement AIA module with 12 intelligent agents - Update API routes to unified /api/v1 prefix - Update system documentation Backend (~1300 lines): - common/streaming: OpenAI Compatible adapter - modules/aia: 12 agents, conversation service, streaming integration - Update route versions (RVW, PKB to v1) Frontend (~3500 lines): - modules/aia: AgentHub + ChatWorkspace (100% prototype restoration) - shared/Chat: AIStreamChat, ThinkingBlock, useAIStream Hook - Update API endpoints to v1 Documentation: - AIA module status guide - Universal capabilities catalog - System overview updates - All module documentation sync Tested: Stream response verified, authentication working Status: AIA V2.0 core completed (85%)
31 KiB
<EFBFBD>滨垢 Nginx - SAE <20>函蔡<E587BD>滢<EFBFBD><E6BBA2>见<EFBFBD>
<EFBFBD><EFBFBD>﹝<EFBFBD><EFBFBD>𧋦: v1.0
<EFBFBD>𥕦遣<EFBFBD>園𡢿: 2025-12-23
<EFBFBD><EFBFBD>鍂<EFBFBD><EFBFBD>凒: AIclinicalresearch 撟喳蝱<E596B3>滨垢<E6BBA8>滚𦛚
<EFBFBD>函蔡<EFBFBD>格<EFBFBD>: <20>輸<EFBFBD>鈭?SAE嚗𠄎erverless 摨𠉛鍂撘閙<E69298>嚗?
<EFBFBD>𨅯<EFBFBD>隞枏<EFBFBD>: <20>輸<EFBFBD>鈭?ACR 銝芯犖<E88AAF>?
<EFBFBD><EFBFBD> <20>桀<EFBFBD>
- [<5B>滨蔭<E6BBA8>∩辣璉<E8BEA3><E79289>包(#1-<2D>滨蔭<E6BBA8>∩辣璉<E8BEA3><E79289>?
- <EFBFBD>𨅯<EFBFBD>靽⊥<EFBFBD>蝖株恕
- <EFBFBD>𥕦遣SAE摨𠉛鍂
- <EFBFBD>滨蔭<EFBFBD>臬<EFBFBD><EFBFBD>㗛<EFBFBD>
- [<5B>滨蔭<E6BBA8>亙熒璉<E78692><E79289>包(#5-<2D>滨蔭<E6BBA8>亙熒璉<E78692><E79289>?
- <EFBFBD>滨蔭<EFBFBD>祉<EFBFBD>霈輸䔮
- <EFBFBD>函蔡摨𠉛鍂
- 撉諹<EFBFBD><EFBFBD>函蔡
- 撣貉<EFBFBD><EFBFBD>桅<EFBFBD><EFBFBD>埝䰻
- <EFBFBD>亙虜餈鞟輕
1. <20>滨蔭<E6BBA8>∩辣璉<E8BEA3><E79289>?
<EFBFBD>?<EFBFBD>函蔡<EFBFBD>滚<EFBFBD>憿餃<EFBFBD><EFBFBD>鞟<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
| 璉<EFBFBD><EFBFBD>仿★ | <EFBFBD>嗆<EFBFBD>? | 霂湔<EFBFBD> |
|---|---|---|
| *ACR<EFBFBD>𨅯<EFBFBD>撌脫綫<EFBFBD>? | <EFBFBD>𡢅<EFBFBD> | <EFBFBD>𨅯<EFBFBD><EFBFBD>啣<EFBFBD>嚗䫤crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ai-clinical_frontend-nginx:v1.0.0` |
| *<EFBFBD>𡒊垢<EFBFBD>滚𦛚撌脤<EFBFBD>蝵? | 漎? | <EFBFBD><EFBFBD>閬<EFBFBD>繮<EFBFBD>硋<EFBFBD>蝡狽PC<EFBFBD><EFBFBD><EFBFBD><EFBFBD>啣<EFBFBD>嚗<EFBFBD>聢撘𧶏<EFBFBD>172.17.x.x:3001嚗? |
| *VPC蝵𤑳<EFBFBD>撌脣<EFBFBD>撱? | <EFBFBD>𡢅<EFBFBD> | VPC ID: vpc-2ze055cptkew9c38w4r06 |
| 鈭斗揢<EFBFBD>箏歇<EFBFBD>𥕦遣 | <EFBFBD>𡢅<EFBFBD> | 鈭斗揢<EFBFBD>?ID: vsw-2zevacop039bxrmj6yc0c (<28>舐鍂<E88890>慚) |
| 摰匧<EFBFBD>蝏<EFBFBD>歇<EFBFBD>𥕦遣 | <EFBFBD>𡢅<EFBFBD> | 摰匧<EFBFBD>蝏?ID: sg-2zedk6fi8sgmmcwdu7tu |
<EFBFBD><EFBFBD> *敹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝵桐縑<EFBFBD>?
<EFBFBD><EFBFBD><EFBFBD>隞乩<EFBFBD>靽⊥<EFBFBD>嚗<EFBFBD>銁<EFBFBD>函蔡餈<EFBFBD><EFBFBD>銝剝<EFBFBD>閬<EFBFBD><EFBFBD>嚗?
# ACR <20>𨅯<EFBFBD>靽⊥<E99DBD>
ACR<EFBFBD>笔<EFBFBD>嚗<EFBFBD><EFBFBD><EFBFBD>厩<EFBFBD>蝏頣<EFBFBD>: crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com
<EFBFBD>賢<EFBFBD>蝛粹𡢿: ai-clinical
<EFBFBD>𨅯<EFBFBD><EFBFBD>滨妍: ai-clinical_frontend-nginx
<EFBFBD>𨅯<EFBFBD><EFBFBD><EFBFBD>𧋦: v1.0.0
# VPC蝵𤑳<E89DB5>靽⊥<E99DBD>
VPC ID: vpc-2ze055cptkew9c38w4r06
鈭斗揢<EFBFBD>截D: vsw-2zevacop039bxrmj6yc0c
摰匧<EFBFBD>蝏<EFBFBD>D: sg-2zedk6fi8sgmmcwdu7tu
# <20>𡒊垢<F0A1928A>滚𦛚靽⊥<E99DBD>嚗<EFBFBD><E59A97><EFBFBD>𡒊垢SAE摨𠉛鍂<F0A0899B>瑕<EFBFBD>嚗?
<EFBFBD>𡒊垢<EFBFBD><EFBFBD><EFBFBD><EFBFBD>啣<EFBFBD>: 敺<EFBFBD>繮<EFBFBD>吔<EFBFBD><EFBFBD>澆<EFBFBD>嚗?72.17.x.x嚗?
<EFBFBD>𡒊垢蝡臬藁: 3001
2. <20>𨅯<EFBFBD>靽⊥<E99DBD>蝖株恕
<EFBFBD>𣑐 ACR <20>𨅯<EFBFBD>霂行<E99C82>
<EFBFBD>滚𦛚蝐餃<EFBFBD>: 銝芯犖<EFBFBD><EFBFBD><EFBFBD><EFBFBD>滩晶嚗?
<EFBFBD>賢<EFBFBD>蝛粹𡢿: ai-clinical
隞枏<EFBFBD><EFBFBD>滨妍: ai-clinical_frontend-nginx
<EFBFBD>𨅯<EFBFBD>摰峕㟲<EFBFBD>啣<EFBFBD>嚗<EFBFBD><EFBFBD><EFBFBD>厩<EFBFBD>蝏頣<EFBFBD>:
crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ai-clinical_frontend-nginx:v1.0.0
<EFBFBD>𨅯<EFBFBD><EFBFBD><EFBFBD>倌:
- v1.0.0 (<28>煺漣<E785BA><E6BCA3>𧋦嚗𩥇igest: 68e97e28...)
- latest (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>啁<EFBFBD><E59581>?
<EFBFBD>𨅯<EFBFBD>憭批<EFBFBD>: 91.9 MB
<EFBFBD><EFBFBD>遣<EFBFBD>園𡢿: 2025-12-23
<EFBFBD><EFBFBD> 撉諹<EFBFBD><EFBFBD>𨅯<EFBFBD>摮睃銁
<EFBFBD>餃<EFBFBD>ACR<EFBFBD>批<EFBFBD><EFBFBD>圈<EFBFBD>霂<EFBFBD><EFBFBD>https://cr.console.aliyun.com/
- 餈𥕦<EFBFBD><EFBFBD>𣂷葵鈭箇<EFBFBD><EFBFBD>爗<EFBFBD><EFBFBD>鞾<EFBFBD><EFBFBD>譍<EFBFBD>摨瓐<EFBFBD>?
- <EFBFBD>曉<EFBFBD>
ai-clinical_frontend-nginx - 蝖株恕摮睃銁
v1.0.0<20><>倌
3. <20>𥕦遣SAE摨𠉛鍂
<EFBFBD><EFBFBD> *<EFBFBD>餃<EFBFBD>SAE<EFBFBD>批<EFBFBD><EFBFBD>?
霈輸䔮嚗冴ttps://sae.console.aliyun.com/
<EFBFBD>㗇𥋘<EFBFBD>啣<EFBFBD>嚗?*<2A>𤾸<EFBFBD>2嚗<32><E59A97>鈭穿<E988AD>**
<EFBFBD><EFBFBD> *<EFBFBD>𥕦遣<EFBFBD>啣<EFBFBD><EFBFBD>?
<EFBFBD>孵稬<EFBFBD>𣂼<EFBFBD>撱箏<EFBFBD><EFBFBD>具<EFBFBD>𡢅<EFBFBD><EFBFBD>劐誑銝𧢲郊撉文‵<EFBFBD>辷<EFBFBD>
*甇仿炊1嚗𡁜<EFBFBD><EFBFBD>典抅<EFBFBD>砌縑<EFBFBD>?
摨𠉛鍂<EFBFBD>滨妍: frontend-nginx-service
摨𠉛鍂<EFBFBD>讛膩: AI銝游<EFBFBD><EFBFBD>𠉛弦撟喳蝱 - <20>滨垢<E6BBA8>蹱<EFBFBD><E8B9B1><EFBFBD>皞鞉<E79A9E><E99E89>∴<EFBFBD>React SPA + Nginx嚗?
<EFBFBD>賢<EFBFBD>蝛粹𡢿: 暺䁅恕<EFBFBD>賢<EFBFBD>蝛粹𡢿嚗<EFBFBD><EFBFBD>銝𤾸<EFBFBD>蝡臬<EFBFBD>銝<EFBFBD><EFBFBD>賢<EFBFBD>蝛粹𡢿嚗?
*甇仿炊2嚗𡁜<EFBFBD><EFBFBD>券<EFBFBD>蝵脫䲮撘?
<EFBFBD>函蔡<EFBFBD>孵<EFBFBD>: <EFBFBD>𨅯<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>舀<EFBFBD>霂剛<EFBFBD>: 銝漤<EFBFBD>
*甇仿炊3嚗𡁜<EFBFBD><EFBFBD>典<EFBFBD>靘贝<EFBFBD><EFBFBD>?
摰硺<EFBFBD>閫<EFBFBD>聢: 0.5<EFBFBD>?1GB
霂湔<EFBFBD>嚗?
- <EFBFBD>滨垢Nginx<EFBFBD>删鍂韏<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
- 0.5<EFBFBD>?GB摰<42><E691B0>憭毺鍂
- 撖寞<EFBFBD>嚗𡁜<EFBFBD>蝡舫<EFBFBD>閬?<3F>?GB嚗釶ython<6F><6E>閬?<3F>?GB
摰硺<EFBFBD><EFBFBD>圈<EFBFBD>: 2
霂湔<EFBFBD>嚗?
- <EFBFBD><EFBFBD>撠?銝芸<E98A9D>靘衤<E99D98>霂<EFBFBD><E99C82><EFBFBD>舐鍂
- 1銝芸<EFBFBD>靘𧢲<EFBFBD><EFBFBD>𨀣𧒄嚗<EFBFBD>𡖂1銝芰誧蝏剜<EFBFBD><EFBFBD>?
- <EFBFBD>滨垢敺<EFBFBD><EFBFBD><EFBFBD><EFBFBD>閬<EFBFBD><EFBFBD>摰?
*銝箔<EFBFBD>銋<EFBFBD><EFBFBD>蝡臬蘨<EFBFBD><EFBFBD>閬?.5<EFBFBD>?GB嚗?
| <EFBFBD>滚𦛚蝐餃<EFBFBD> | <EFBFBD>刻<EFBFBD>閫<EFBFBD>聢 | <EFBFBD>笔<EFBFBD> |
|---|---|---|
| Node.js <20>𡒊垢 | 2<EFBFBD>?GB | 憭<EFBFBD><EFBFBD>AI撖寡<EFBFBD><EFBFBD><EFBFBD>㺭<EFBFBD>桀<EFBFBD><EFBFBD>亥砭<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⊿<EFBFBD>餉<EFBFBD> |
| Python 敺格<E695BA><E6A0BC>? | 2<EFBFBD>?GB | PDF<EFBFBD>𣂼<EFBFBD><EFBFBD>浚PU撖<EFBFBD><EFBFBD><EFBFBD>𧢲<EFBFBD>雿? |
| Nginx <20>滨垢 | 0.5<EFBFBD>?GB | *隞<EFBFBD><EFBFBD>靘偦<EFBFBD><EFBFBD><EFBFBD><EFBFBD>隞塚<EFBFBD>瘨<EFBFBD><EFBFBD>埈<EFBFBD>撠? |
甇仿炊4嚗间PC蝵𤑳<EFBFBD><EFBFBD>滨蔭
VPC: vpc-2ze055cptkew9c38w4r06 (172.17.0.0/16)
鈭斗揢<EFBFBD>? vsw-2zevacop039bxrmj6yc0c
<EFBFBD>舐鍂<EFBFBD>? <20>𤾸<EFBFBD>2<EFBFBD>舐鍂<E88890>慚
蝵烐挾: 172.17.0.0/24
摰匧<EFBFBD>蝏? sg-2zedk6fi8sgmmcwdu7tu
<EFBFBD>𩤃<EFBFBD> <20>滩<EFBFBD>嚗𡁜<E59A97>憿颱<E686BF><E9A2B1>𡒊垢<F0A1928A>滚𦛚<E6BB9A>典<EFBFBD>銝<EFBFBD>VPC嚗<43>炏<EFBFBD>蹱<EFBFBD>瘜閖<E7989C>帋縑
*甇仿炊5嚗𡁻<EFBFBD><EFBFBD>誯<EFBFBD>蝵?
<EFBFBD>𨅯<EFBFBD>蝐餃<EFBFBD>: 摰孵膥<EFBFBD>𨅯<EFBFBD><EFBFBD>滚𦛚銝芯犖<EFBFBD>?
<EFBFBD>𨅯<EFBFBD><EFBFBD>啣<EFBFBD>: crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ai-clinical_frontend-nginx:v1.0.0
<EFBFBD>𩤃<EFBFBD> 瘜冽<E7989C>鈭钅★嚗?
- 雿輻鍂銝𤘪<EFBFBD>蝵𤑳<EFBFBD><EFBFBD>笔<EFBFBD>嚗<EFBFBD>蒂-vpc<70>𡒊<EFBFBD>嚗㚁<E59A97>銝滢蝙<E6BBA2>典<EFBFBD>蝵穃<E89DB5><E7A983>?
- 摰峕㟲颲枏<EFBFBD><EFBFBD>𨅯<EFBFBD><EFBFBD>啣<EFBFBD>嚗<EFBFBD><EFBFBD><EFBFBD>砍𦶢<EFBFBD>滨征<EFBFBD>游<EFBFBD><EFBFBD><EFBFBD>倌嚗?
- 銝滩<EFBFBD><EFBFBD>埈<EFBFBD><EFBFBD><EFBFBD>𧋦<EFBFBD>?:v1.0.0
<EFBFBD>𨅯<EFBFBD><EFBFBD><EFBFBD>𧋦: v1.0.0
<EFBFBD>𨅯<EFBFBD><EFBFBD>匧<EFBFBD>蝑𣇉裦: <EFBFBD>餅糓<EFBFBD>匧<EFBFBD><EFBFBD>𨅯<EFBFBD>嚗㇁lways嚗?
霂湔<EFBFBD>嚗?
- 瘥𤩺活<EFBFBD>函蔡<EFBFBD>賣<EFBFBD><EFBFBD>𡝗<EFBFBD><EFBFBD>圈<EFBFBD><EFBFBD>?
- 蝖桐<EFBFBD>雿輻鍂<EFBFBD><EFBFBD><EFBFBD>唬誨<EFBFBD>?
- <EFBFBD>踹<EFBFBD>雿輻鍂蝻枏<EFBFBD><EFBFBD><EFBFBD>唂<EFBFBD>𨅯<EFBFBD>
*甇仿炊6嚗𡁜<EFBFBD><EFBFBD>典捆<EFBFBD>券<EFBFBD>蝵?
摰孵膥蝡臬藁: 80
霂湔<EFBFBD>嚗?
- Nginx暺䁅恕<EFBFBD>穃𨯬80蝡臬藁
- 銝𥟠ockerfile銝剔<EFBFBD>EXPOSE 80銝<30><E98A9D>?
<EFBFBD>讛悅: TCP
<EFBFBD>臬𢆡<EFBFBD>賭誘:
- 銝滚‵嚗<EFBFBD>蝙<EFBFBD>求ockerfile銝剔<EFBFBD>ENTRYPOINT嚗?
撌乩<EFBFBD><EFBFBD>桀<EFBFBD>:
- 銝滚‵嚗<EFBFBD>蝙<EFBFBD>求ockerfile銝剔<EFBFBD>WORKDIR嚗?
4. <20>滨蔭<E6BBA8>臬<EFBFBD><E887AC>㗛<EFBFBD>
<EFBFBD>𩤃<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>滩<EFBFBD>嚗𡁜<EFBFBD>蝡舀<EFBFBD><EFBFBD>∪𧑐<EFBFBD><EFBFBD><EFBFBD>滨蔭
<EFBFBD>臬<EFBFBD><EFBFBD>㗛<EFBFBD><EFBFBD>滨蔭<EFBFBD>躰秤<EFBFBD>舀<EFBFBD>撣貉<EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝵脣仃韐亙<EFBFBD><EFBFBD>𩤃<EFBFBD>
<EFBFBD><EFBFBD> <EFBFBD>瑕<EFBFBD><EFBFBD>𡒊垢<EFBFBD><EFBFBD><EFBFBD><EFBFBD>啣<EFBFBD>
*<EFBFBD>券<EFBFBD>蝵桀<EFBFBD>蝡臭<EFBFBD><EFBFBD>㵪<EFBFBD>敹<EFBFBD>◆<EFBFBD><EFBFBD>繮<EFBFBD>硋<EFBFBD>蝡舐<EFBFBD>VPC<EFBFBD><EFBFBD><EFBFBD><EFBFBD>啣<EFBFBD>嚗?
- <EFBFBD>餃<EFBFBD> SAE <20>批<EFBFBD><E689B9>?
- 餈𥕦<EFBFBD>摨𠉛鍂<EFBFBD>𡑒”
- <EFBFBD>曉<EFBFBD>
nodejs-backend-service嚗<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝡臬<EFBFBD><EFBFBD>典<EFBFBD>蝘堆<EFBFBD> - <EFBFBD>孵稬餈𥕦<EFBFBD>摨𠉛鍂霂行<EFBFBD>
- <EFBFBD>亦<EFBFBD><EFBFBD>𣂼<EFBFBD><EFBFBD>刻挪<EFBFBD>桅<EFBFBD>蝵柴<EFBFBD>爗<EFBFBD><EFBFBD>𨧞PC<EFBFBD><EFBFBD><EFBFBD>霈輸䔮<EFBFBD>啣<EFBFBD><EFBFBD>?
蝷箔<EFBFBD><EFBFBD>澆<EFBFBD>嚗?
172.17.0.15:3001
撠<EFBFBD>P<EFBFBD>啣<EFBFBD><EFBFBD>𣬚垢<EFBFBD><EFBFBD><EFBFBD><EFBFBD>怨扇敶蓥<EFBFBD><EFBFBD>乓<EFBFBD>?
<EFBFBD>圲 <EFBFBD>滨蔭<EFBFBD>臬<EFBFBD><EFBFBD>㗛<EFBFBD>
<EFBFBD>沒AE摨𠉛鍂<EFBFBD>滨蔭憿菟𢒰嚗峕𪄳<EFBFBD>啜<EFBFBD>鞟㴓憓<EFBFBD><EFBFBD><EFBFBD>譌<EFBFBD>煾<EFBFBD>蝵桅★嚗?
# 敹<><E695B9><EFBFBD>滨蔭嚗<E894AD><E59A97>憛恬<E6869B>
BACKEND_SERVICE_HOST: 172.17.0.15
霂湔<EFBFBD>嚗?
- 餈蹱糓<EFBFBD>𡒊垢<EFBFBD>滚𦛚<EFBFBD><EFBFBD>PC<EFBFBD><EFBFBD><EFBFBD>IP<EFBFBD>啣<EFBFBD>嚗<EFBFBD><EFBFBD>銝𠹺<EFBFBD>甇亥繮<EFBFBD>吔<EFBFBD>
- 銝滩<EFBFBD><EFBFBD>㗖ttp://<2F>滨<EFBFBD>
- 銝滩<EFBFBD><EFBFBD><EFBFBD>鉄蝡臬藁<EFBFBD>?
- 憒<EFBFBD><EFBFBD>銝漤<EFBFBD>蝵殷<EFBFBD>摰孵膥<EFBFBD>臬𢆡隡𡁜仃韐亙僎<EFBFBD>仿<EFBFBD>
# <20>舫<EFBFBD>厰<EFBFBD>蝵殷<E89DB5><E6AEB7>厰<EFBFBD>霈文<E99C88>潘<EFBFBD>
BACKEND_SERVICE_PORT: 3001
霂湔<EFBFBD>嚗?
- <EFBFBD>𡒊垢<EFBFBD>滚𦛚<EFBFBD><EFBFBD>垢<EFBFBD><EFBFBD>噡
- 暺䁅恕<EFBFBD>潭糓3001
- 憒<EFBFBD><EFBFBD>雿删<EFBFBD><EFBFBD>𡒊垢雿輻鍂<EFBFBD>嗡<EFBFBD>蝡臬藁嚗屸<EFBFBD>閬<EFBFBD>耨<EFBFBD>?
<EFBFBD>?撣貉<EFBFBD><EFBFBD>躰秤
| <EFBFBD>躰秤<EFBFBD>滨蔭 | 甇<EFBFBD>&<EFBFBD>滨蔭 | 霂湔<EFBFBD> |
|---|---|---|
http://172.17.0.15 |
172.17.0.15 |
銝滩<EFBFBD><EFBFBD>惩<EFBFBD>霈桀<EFBFBD>蝻<EFBFBD> |
172.17.0.15:3001 |
172.17.0.15 |
銝滩<EFBFBD><EFBFBD><EFBFBD>鉄蝡臬藁嚗<EFBFBD>垢<EFBFBD><EFBFBD><EFBFBD><EFBFBD>祇<EFBFBD>蝵殷<EFBFBD> |
backend-service |
172.17.0.15 |
敹<EFBFBD>◆雿輻鍂IP嚗䔶<EFBFBD>閬<EFBFBD>鍂銝餅㦤<EFBFBD>? |
localhost |
172.17.0.15 |
銝滩<EFBFBD><EFBFBD>甸ocalhost |
| 銝漤<EFBFBD>蝵? | 172.17.0.15 |
敹<EFBFBD>◆<EFBFBD>滨蔭嚗<EFBFBD>炏<EFBFBD>坔鍳<EFBFBD>典仃韐? |
<EFBFBD>?<EFBFBD>滨蔭撉諹<EFBFBD>
<EFBFBD>滨蔭摰峕<EFBFBD><EFBFBD>𠬍<EFBFBD><EFBFBD>孵稬<EFBFBD>鞾<EFBFBD>霂<EFBFBD><EFBFBD>𡢅<EFBFBD>蝖桐<EFBFBD>嚗?
- <EFBFBD>?<3F>㗛<EFBFBD><E3979B>滨妍<E6BBA8>澆<EFBFBD>甇<EFBFBD>&嚗<EFBC86>躹<EFBFBD><E8BAB9>之撠誩<E692A0>嚗?
- <EFBFBD>?<3F>㗛<EFBFBD><E3979B>潭聢撘𤩺迤蝖殷<E89D96>蝥涅P<E6B685>啣<EFBFBD>嚗?
- <EFBFBD>?瘝⊥<E7989D>憭帋<E686AD><E5B88B><EFBFBD>征<EFBFBD>?
5. <20>滨蔭<E6BBA8>亙熒璉<E78692><E79289>?
<EFBFBD>蘂 *<EFBFBD>亙熒璉<EFBFBD><EFBFBD>仿<EFBFBD>蝵?
璉<EFBFBD><EFBFBD>交䲮撘? HTTP 霂瑟<E99C82>
璉<EFBFBD><EFBFBD>亥楝敺? /health
霂湔<EFBFBD>嚗?
- Nginx<EFBFBD>滨蔭銝凋<EFBFBD><EFBFBD>冽<EFBFBD>靘𤤿<EFBFBD><EFBFBD>亙熒璉<EFBFBD><EFBFBD>亦垢<EFBFBD>?
- 餈𥪜<EFBFBD>蝥舀<EFBFBD><EFBFBD>?"healthy"
- 銝滢<EFBFBD>韏硋<EFBFBD>蝡舀<EFBFBD><EFBFBD>?
璉<EFBFBD><EFBFBD>亦垢<EFBFBD>? 80
霂湔<EFBFBD>嚗帋<EFBFBD>摰孵膥蝡臬藁銝<EFBFBD><EFBFBD>?
璉<EFBFBD><EFBFBD>亙<EFBFBD>霈? HTTP
霂湔<EFBFBD>嚗帋<EFBFBD><EFBFBD>浹TTPS
頞<EFBFBD>𧒄<EFBFBD>園𡢿: 3蝘?
霂湔<EFBFBD>嚗𡁻<EFBFBD><EFBFBD><EFBFBD>垢<EFBFBD>對<EFBFBD>3蝘坿雲憭?
璉<EFBFBD><EFBFBD>仿𡢿<EFBFBD>? 10蝘?
霂湔<EFBFBD>嚗𡁏<EFBFBD>10蝘埝<EFBFBD><EFBFBD>乩<EFBFBD>甈?
銝滚<EFBFBD>摨琿<EFBFBD><EFBFBD>? 3甈?
霂湔<EFBFBD>嚗朞<EFBFBD>蝏剖仃韐?甈∪<E79488><E288AA><EFBFBD>扇銝箔<E98A9D><E7AE94>亙熒
<EFBFBD>亙熒<EFBFBD><EFBFBD><EFBFBD>? 2甈?
霂湔<EFBFBD>嚗朞<EFBFBD>蝏剜<EFBFBD><EFBFBD>?甈∪<E79488><E288AA><EFBFBD>扇銝箏<E98A9D>摨?
<EFBFBD>嘥<EFBFBD>撱嗉<EFBFBD>: 30蝘?
霂湔<EFBFBD>嚗?
- Nginx<EFBFBD>臬𢆡敺<EFBFBD>翰嚗?-10蝘𡜐<E89D98>
- 30蝘坿雲憭罸<EFBFBD><EFBFBD>𤩺<EFBFBD><EFBFBD>硋<EFBFBD>摰孵膥<EFBFBD>臬𢆡
<EFBFBD><EFBFBD> *<EFBFBD>亙熒璉<EFBFBD><EFBFBD>亙<EFBFBD><EFBFBD>?
SAE<EFBFBD>亙熒璉<EFBFBD><EFBFBD>亙膥
<20>?(瘥?0蝘?
curl http://摰孵膥IP:80/health
<20>?
Nginx憭<78><E686AD> /health 霂瑟<E99C82>
<20>?
餈𥪜<E9A488>: HTTP 200 + "healthy"
<20>?
SAE<41><45>扇摰硺<E691B0>銝箏<E98A9D>摨?<3F>?
憒<EFBFBD><EFBFBD><EFBFBD>亙熒璉<EFBFBD><EFBFBD>亙仃韐伐<EFBFBD>SAE隡𡄯<EFBFBD>
- <EFBFBD><EFBFBD>扇摰硺<EFBFBD>銝箔<EFBFBD><EFBFBD>亙熒
- <EFBFBD>𨀣迫<EFBFBD>𤏸砲摰硺<EFBFBD>頧砍<EFBFBD>瘚<EFBFBD><EFBFBD>
- 餈䂿賒憭梯揖3甈∪<EFBFBD>嚗屸<EFBFBD><EFBFBD>臬捆<EFBFBD>?
6. <20>滨蔭<E6BBA8>祉<EFBFBD>霈輸䔮
<EFBFBD><EFBFBD> 霈輸䔮<EFBFBD>孵<EFBFBD><EFBFBD>㗇𥋘
<EFBFBD>寞<EFBFBD>A嚗帋蝙<EFBFBD>沒AE<EFBFBD>𣂷<EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝵穃𧑐<EFBFBD><EFBFBD>嚗<EFBFBD>綫<EFBFBD>鞟鍂鈭擧<EFBFBD>霂𤏪<EFBFBD>
<EFBFBD>滨蔭<EFBFBD>孵<EFBFBD>:
1. <20>典<EFBFBD><E585B8>券<EFBFBD>蝵桅△<E6A185>X𪄳<EFBCB8>啜<EFBFBD>𣂼<EFBFBD><F0A382BC>刻挪<E588BB>桅<EFBFBD>蝵柴<E89DB5>?
2. 撘<><E69298>胯<EFBFBD>𣂼<EFBFBD>蝵𤏸挪<F0A48FB8>柴<EFBFBD>?
3. SAE<41>芸𢆡<E88AB8><F0A286A1><EFBFBD><EFBFBD>笔<EFBFBD>
<EFBFBD>瑕<EFBFBD><EFBFBD><EFBFBD>挪<EFBFBD>桀𧑐<EFBFBD><EFBFBD>:
<EFBFBD>澆<EFBFBD>: frontend-nginx-service-xxxxx.cn-beijing.sae.aliyuncs.com
<EFBFBD>讛悅: HTTPS嚗𠄎AE<EFBFBD>芸𢆡<EFBFBD>滨蔭霂<EFBFBD>髡嚗?
隡条<EFBFBD>:
- <EFBFBD>?<3F>滩晶
- <EFBFBD>?<3F>芸𢆡HTTPS
- <EFBFBD>?蝡见朖<E8A781>舐鍂
蝻箇<EFBFBD>:
- <EFBFBD>?<3F>笔<EFBFBD><E7AC94>曇扇
- <EFBFBD>?<3F>䭾<EFBFBD><E4ADBE>芸<EFBFBD>銋匧<E98A8B><E58CA7>?
- <EFBFBD>?霂<>髡<EFBFBD>特AE<41><45><EFBFBD>銝齿糓雿删<E99BBF><E588A0>笔<EFBFBD>
<EFBFBD>寞<EFBFBD>B嚗𡁶<EFBFBD>摰朞䌊摰帋<EFBFBD><EFBFBD>笔<EFBFBD>嚗<EFBFBD>綫<EFBFBD>鞟鍂鈭𡒊<EFBFBD>鈭改<EFBFBD>
<EFBFBD>滨蔭<EFBFBD>∩辣:
- 撌脫<EFBFBD><EFBFBD>芸楛<EFBFBD><EFBFBD><EFBFBD><EFBFBD>㵪<EFBFBD>憒?app.yizheng.ai嚗?
- <EFBFBD>笔<EFBFBD>撌脣<EFBFBD>獢<EFBFBD><EFBFBD>憒<EFBFBD><EFBFBD><EFBFBD>滚𦛚<EFBFBD>典銁銝剖𤙴憭折<EFBFBD>嚗?
- <EFBFBD>农SL霂<EFBFBD>髡嚗<EFBFBD>虾隞乩蝙<EFBFBD>典<EFBFBD>韐寧<EFBFBD>Let's Encrypt嚗?
<EFBFBD>滨蔭甇仿炊:
1. <20>典<EFBFBD><E585B8>齿<EFBFBD><E9BDBF>∪<EFBFBD>瘛餃<E7989B>CNAME閫<45><E996AB>
app.yizheng.ai <20>?frontend-nginx-service-xxxxx.cn-beijing.sae.aliyuncs.com
2. <20>沒AE<41>批<EFBFBD><E689B9>啁<EFBFBD>摰𡁜<E691B0><F0A1819C>?
<EFBFBD>𣂼<EFBFBD><EFBFBD>刻挪<EFBFBD>桅<EFBFBD>蝵柴<EFBFBD>爗<EFBFBD><EFBFBD>鞱䌊摰帋<EFBFBD><EFBFBD>笔<EFBFBD><EFBFBD>爗<EFBFBD><EFBFBD>鞉溶<EFBFBD>惩<EFBFBD><EFBFBD>溻<EFBFBD>?
3. 銝𠹺<E98A9D>SSL霂<4C>髡
<EFBFBD>𣂼<EFBFBD><EFBFBD>刻挪<EFBFBD>桅<EFBFBD>蝵柴<EFBFBD>爗<EFBFBD><EFBFBD>躭TTPS霈曄蔭<EFBFBD>爗<EFBFBD><EFBFBD>𣂷<EFBFBD>隡㰘<EFBFBD>銋艾<EFBFBD>?
4. <20>舐鍂撘箏<E69298>HTTPS
撘<EFBFBD><EFBFBD>胯<EFBFBD>𣂼撩<EFBFBD>象TTPS頝唾蓮<EFBFBD>?
<EFBFBD>瑕<EFBFBD><EFBFBD><EFBFBD>挪<EFBFBD>桀𧑐<EFBFBD><EFBFBD>:
https://app.yizheng.ai
隡条<EFBFBD>:
- <EFBFBD>?<3F><><EFBFBD><EFBFBD>笔<EFBFBD>
- <EFBFBD>?<3F>冽<EFBFBD>靽∩遙摨阡<E691A8>
- <EFBFBD>?SEO<45>见末
蝻箇<EFBFBD>:
- <EFBFBD>𩤃<EFBFBD> <20><>閬<EFBFBD><E996AC><EFBFBD>滚<EFBFBD>霂<EFBFBD>髡
- <EFBFBD>𩤃<EFBFBD> <20><>閬<EFBFBD>CP憭<50><E686AD>嚗<EFBFBD><E59A97><EFBFBD>𨅯銁銝剖𤙴嚗?
<EFBFBD><EFBFBD> HTTPS<EFBFBD>滨蔭嚗<EFBFBD><EFBFBD>鈭抒㴓憓<EFBFBD><EFBFBD>憿鳴<EFBFBD>
憒<EFBFBD><EFBFBD>雿輻鍂<EFBFBD>寞<EFBFBD>B嚗<EFBFBD>䌊摰帋<EFBFBD><EFBFBD>笔<EFBFBD>嚗㚁<EFBFBD>撘箇<EFBFBD>撱箄悅<EFBFBD>滨蔭HTTPS嚗?
霂<EFBFBD>髡<EFBFBD>交<EFBFBD><EFBFBD>㗇𥋘:
<EFBFBD>寞<EFBFBD>1: 雿輻鍂<EFBFBD>滩晶<EFBFBD><EFBFBD>et's Encrypt霂<74>髡
- <EFBFBD>輸<EFBFBD>鈭騌SL霂<EFBFBD>髡<EFBFBD>滚𦛚<EFBFBD>臭誑<EFBFBD>唾窈<EFBFBD>滩晶霂<EFBFBD>髡
- <EFBFBD>㗇<EFBFBD><EFBFBD>?銝芣<E98A9D>嚗屸<E59A97>閬<EFBFBD><E996AC><EFBFBD><EFBFBD>凒<EFBFBD>?
<EFBFBD>寞<EFBFBD>2: 韐凋僭<EFBFBD><EFBFBD><EFBFBD>霂<EFBFBD>髡
- <EFBFBD>㗇<EFBFBD><EFBFBD>?撟?
- <EFBFBD><EFBFBD><EFBFBD>靽∩遙摨行凒擃?
- <EFBFBD>舀<EFBFBD><EFBFBD>游<EFBFBD><EFBFBD>寞<EFBFBD>?
霂<EFBFBD>髡<EFBFBD>滨蔭:
1. <20><><EFBFBD>霂<EFBFBD>髡<EFBFBD><E9ABA1>辣
- 霂<EFBFBD>髡<EFBFBD><EFBFBD>辣嚗飱omain.crt <20>?domain.pem
- 蝘<EFBFBD>𤨎<EFBFBD><EFBFBD>辣嚗飱omain.key
2. <20>沒AE銝𠹺<E98A9D>霂<EFBFBD>髡
<EFBFBD>𣂼<EFBFBD><EFBFBD>刻挪<EFBFBD>桅<EFBFBD>蝵柴<EFBFBD>爗<EFBFBD><EFBFBD>躭TTPS霈曄蔭<EFBFBD>爗<EFBFBD><EFBFBD>𣂷<EFBFBD>隡㰘<EFBFBD>銋艾<EFBFBD>?
3. <20>舐鍂撘箏<E69298>HTTPS
撘<EFBFBD><EFBFBD>胯<EFBFBD>躭TTP<EFBFBD>芸𢆡頝唾蓮HTTPS<EFBFBD>?
7. <20>函蔡摨𠉛鍂
<EFBFBD><EFBFBD> <EFBFBD>扯<EFBFBD><EFBFBD>函蔡
蝖株恕<EFBFBD><EFBFBD><EFBFBD>厰<EFBFBD>蝵格<EFBFBD>霂臬<EFBFBD>嚗?
- <EFBFBD>𧼮<EFBFBD>摨𠉛鍂<EFBFBD>滨蔭憿菟𢒰憿園<EFBFBD>
- <EFBFBD>孵稬<EFBFBD>鞾<EFBFBD>蝵脯<EFBFBD>烐<EFBFBD><EFBFBD>?
- 蝖株恕<EFBFBD>函蔡靽⊥<EFBFBD>
- <EFBFBD>孵稬<EFBFBD>鞟&摰𠾼<EFBFBD>?
<EFBFBD>梧<EFBFBD> *<EFBFBD>函蔡餈<EFBFBD><EFBFBD>嚗<EFBFBD>漲2-3<><33><EFBFBD>嚗?
1. <20>𨅯<EFBFBD><F0A885AF>匧<EFBFBD><E58CA7>嗆挾 (30-60蝘?
<20>鎿<EFBFBD> SAE餈墧𦻖<E5A2A7>蚊CR
<20>鎿<EFBFBD> 撉諹<E69289><E8ABB9>𨅯<EFBFBD>摮睃銁
<20>鎿<EFBFBD> 銝贝蝸<E8B49D>𨅯<EFBFBD>撅<EFBFBD><E69285>91.9MB嚗?
<20>婙<EFBFBD> 閫<><E996AB><EFBFBD>𨅯<EFBFBD>
2. 摰孵膥<E5ADB5>臬𢆡<E887AC>嗆挾 (10-20蝘?
<20>鎿<EFBFBD> <20>𥕦遣摰孵膥
<20>鎿<EFBFBD> 瘜典<E7989C><E585B8>臬<EFBFBD><E887AC>㗛<EFBFBD>
<20>鎿<EFBFBD> <20>扯<EFBFBD>docker-entrypoint.sh
<20>鎿<EFBFBD> envsubst<73>踵揢nginx.conf
<20>鎿<EFBFBD> 撉諹<E69289>Nginx<6E>滨蔭
<20>婙<EFBFBD> <20>臬𢆡Nginx餈𤤿<E9A488>
3. <20>亙熒璉<E78692><E79289>仿𧫴畾?(30-60蝘?
<20>鎿<EFBFBD> 蝑匧<E89D91>30蝘𡜐<E89D98><F0A19C90>嘥<EFBFBD>撱嗉<E692B1>嚗?
<20>鎿<EFBFBD> 蝚?甈⊥<E79488><E28AA5>?/health
<20>鎿<EFBFBD> 蝚?甈⊥<E79488><E28AA5>?/health嚗?0蝘鍦<E89D98>嚗?
<20>婙<EFBFBD> <20><>扇銝箏<E98A9D>摨?<3F>?
4. 瘚<><E7989A><EFBFBD><EFBFBD>揢<EFBFBD>嗆挾 (5-10蝘?
<20>鎿<EFBFBD> 撠<>鰵摰硺<E691B0><E7A1BA>惩<EFBFBD>韐蠘蝸<E8A098><E89DB8>﹛
<20>鎿<EFBFBD> 隞舘<E99A9E>頧賢<E9A0A7>銵∠宏<E288A0>斗唂摰硺<E691B0>
<20>婙<EFBFBD> <20>函蔡摰峕<E691B0> <20>?
<EFBFBD><EFBFBD> *<EFBFBD>函蔡<EFBFBD>嗆<EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
<EFBFBD>函蔡餈<EFBFBD><EFBFBD>銝剖虾隞亙<EFBFBD><EFBFBD>嗆䰻<EFBFBD>页<EFBFBD>
<EFBFBD>亦<EFBFBD><EFBFBD>孵<EFBFBD>:
<EFBFBD>𣂼<EFBFBD><EFBFBD>刻祕<EFBFBD><EFBFBD><EFBFBD>爗<EFBFBD><EFBFBD>𣂼<EFBFBD>靘见<EFBFBD>銵具<EFBFBD>爗<EFBFBD><EFBFBD>鞉䰻<EFBFBD>见<EFBFBD>靘讠𠶖<EFBFBD><EFBFBD><EFBFBD>?
<EFBFBD>嗆<EFBFBD><EFBFBD>秩<EFBFBD>?
- <EFBFBD>𥕦遣銝? 甇<>銁<EFBFBD>匧<EFBFBD><E58CA7>𨅯<EFBFBD>
- <EFBFBD>臬𢆡銝? 甇<>銁<EFBFBD>臬𢆡摰孵膥
- 餈鞱<EFBFBD>銝? 摰孵膥撌脣鍳<E884A3>剁<EFBFBD>蝑匧<E89D91><E58CA7>亙熒璉<E78692><E79289>?
- <EFBFBD>亙熒: <EFBFBD>亙熒璉<EFBFBD><EFBFBD>仿<EFBFBD>朞<EFBFBD>嚗<EFBFBD>虾隞交𦻖<EFBFBD>嗆<EFBFBD><EFBFBD>?<3F>?
- 銝滚<EFBFBD>摨? <20>亙熒璉<E78692><E79289>亙仃韐?<3F>?
- <EFBFBD>𨀣迫: 摰硺<EFBFBD>撌脣<EFBFBD>甇?
<EFBFBD>?<EFBFBD>函蔡憭梯揖撣貉<EFBFBD><EFBFBD>笔<EFBFBD>
| 憭梯揖<EFBFBD>嗆挾 | <EFBFBD>躰秤靽⊥<EFBFBD> | 閫<EFBFBD><EFBFBD><EFBFBD>寞<EFBFBD> |
|---|---|---|
| <EFBFBD>𨅯<EFBFBD><EFBFBD>匧<EFBFBD> | image not found |
璉<EFBFBD><EFBFBD>仿<EFBFBD><EFBFBD>誩𧑐<EFBFBD><EFBFBD><EFBFBD>臬炏甇<EFBFBD>&嚗𣬚&霈支蝙<EFBFBD>?vpc<70>笔<EFBFBD> |
| <EFBFBD>𨅯<EFBFBD><EFBFBD>匧<EFBFBD> | unauthorized |
璉<EFBFBD><EFBFBD>丕CR霈輸䔮<EFBFBD><EFBFBD><EFBFBD>嚗𣬚&霈又AE<EFBFBD>㗇<EFBFBD><EFBFBD>𡝗<EFBFBD><EFBFBD>? |
| 摰孵膥<EFBFBD>臬𢆡 | BACKEND_SERVICE_HOST required |
璉<EFBFBD><EFBFBD>亦㴓憓<EFBFBD><EFBFBD><EFBFBD>𤩺糓<EFBFBD>阡<EFBFBD>蝵? |
| <EFBFBD>亙熒璉<EFBFBD><EFBFBD>? | connection refused |
璉<EFBFBD><EFBFBD>亙捆<EFBFBD>函垢<EFBFBD><EFBFBD><EFBFBD>蝵殷<EFBFBD>摨磰砲<EFBFBD>?0嚗? |
| <EFBFBD>亙熒璉<EFBFBD><EFBFBD>? | 404 not found |
璉<EFBFBD><EFBFBD>亙<EFBFBD>摨瑟<EFBFBD><EFBFBD>亥楝敺<EFBFBD><EFBFBD>摨磰砲<EFBFBD>?health嚗? |
8. 撉諹<E69289><E8ABB9>函蔡
<EFBFBD>?撉諹<EFBFBD>皜<EFBFBD><EFBFBD>
<EFBFBD>函蔡<EFBFBD>𣂼<EFBFBD><EFBFBD>𠬍<EFBFBD><EFBFBD>劐誑銝𧢲郊撉日<EFBFBD>霂<EFBFBD><EFBFBD>
*甇仿炊1嚗𡁏䰻<EFBFBD>见<EFBFBD>靘讠𠶖<EFBFBD>?
雿滨蔭: <20>𣂼<EFBFBD><F0A382BC>刻祕<E588BB><E7A595><EFBFBD>爗<EFBFBD><E78897>𣂼<EFBFBD>靘见<E99D98>銵具<E98AB5>?
璉<><E79289>仿★:
<20>𡢅<EFBFBD> 摰硺<E691B0><E7A1BA>圈<EFBFBD>: 2銝芸<E98A9D>靘?
<20>𡢅<EFBFBD> 摰硺<E691B0><E7A1BA>嗆<EFBFBD>? <20>券<EFBFBD><E588B8>曄內"<22>亙熒"
<20>𡢅<EFBFBD> <20>亙熒璉<E78692><E79289>? <20>券<EFBFBD><E588B8>朞<EFBFBD>
*甇仿炊2嚗𡁏䰻<EFBFBD>见鍳<EFBFBD>冽𠯫敹?
雿滨蔭: <20>𣂼<EFBFBD><F0A382BC>刻祕<E588BB><E7A595><EFBFBD>爗<EFBFBD><E78897>鞉𠯫敹𨰜<E695B9>爗<EFBFBD><E78897>𣂼<EFBFBD><F0A382BC>嗆𠯫敹𨰜<E695B9>?
摨磰砲<E7A3B0>见<EFBFBD>:
============================================
Starting Frontend Nginx Service
Backend Service: 172.17.0.15:3001
Container Timezone: Asia/Shanghai
Current Time: Tue Dec 23 21:07:35 CST 2025
============================================
nginx: configuration file /etc/nginx/nginx.conf test is successful
<0A>?憒<><E68692><EFBFBD>见<EFBFBD>隞乩<E99A9E><E4B9A9>亙<EFBFBD>嚗諹秩<E8ABB9>𡡞<EFBFBD>蝵格迤蝖?
<0A>?憒<><E68692><EFBFBD>见<EFBFBD> "BACKEND_SERVICE_HOST required"嚗諹秩<EFBFBD>𡒊㴓憓<EFBFBD><EFBFBD><EFBFBD>𤩺𧊋<EFBFBD>滨蔭
*甇仿炊3嚗𡁏<EFBFBD>霂訫<EFBFBD>摨瑟<EFBFBD><EFBFBD>亦垢<EFBFBD>?
# <20>瑕<EFBFBD><E79195>祉<EFBFBD>霈輸䔮<E8BCB8>啣<EFBFBD>
<0A>祉<EFBFBD><E7A589>啣<EFBFBD>: https://frontend-nginx-service-xxxxx.cn-beijing.sae.aliyuncs.com
# 瘚贝<E7989A><E8B49D>亙熒璉<E78692><E79289>伐<EFBFBD>雿輻鍂瘚讛<E7989A><E8AE9B>冽<EFBFBD>curl嚗?
霈輸䔮: https://frontend-nginx-service-xxxxx.cn-beijing.sae.aliyuncs.com/health
憸<><E686B8>餈𥪜<E9A488>:
Status: 200 OK
Content: healthy
<0A>?憒<><E68692>餈𥪜<E9A488> "healthy"嚗諹秩<EFBFBD>𤾸<EFBFBD>蝡舀<EFBFBD><EFBFBD>⊥迤撣?
*甇仿炊4嚗𡁏<EFBFBD>霂蓥蜓憿菔挪<EFBFBD>?
# 霈輸䔮銝駁△
霈輸䔮: https://frontend-nginx-service-xxxxx.cn-beijing.sae.aliyuncs.com/
璉<><E79289>仿★:
<20>𡢅<EFBFBD> 憿菟𢒰<E88F9F>賣迤撣詨<E692A3>頧踝<E9A0A7>銝齿糓蝛箇蒾憿蛛<E686BF>
<20>𡢅<EFBFBD> <20>见<EFBFBD>React摨𠉛鍂<F0A0899B>屸𢒰
<20>𡢅<EFBFBD> CSS<53>瑕<EFBFBD>甇<EFBFBD>&<EFBFBD>曄內
<20>𡢅<EFBFBD> JavaScript甇<74>虜<EFBFBD>扯<EFBFBD>
甇仿炊5嚗𡁏<EFBFBD>霂笌PA頝舐眏
# 霈輸䔮銝<E494AE>銝芯<E98A9D>摮睃銁<E79D83><E98A81>楝敺<E6A59D><E695BA>瘚贝<E7989A>React Router嚗?
霈輸䔮: https://frontend-nginx-service-xxxxx.cn-beijing.sae.aliyuncs.com/dashboard
憸<><E686B8>銵䔶蛹:
<20>?銝齿𥁒404<30>躰秤
<20>?餈𥪜<E9A488>index.html
<20>?React Router<65>亦恣頝舐眏
<20>?<3F>曄內撖孵<E69296><E5ADB5><EFBFBD>△<EFBFBD>Y<EFBFBD>隞?
<0A>?憒<><E68692><EFBFBD>见<EFBFBD>Nginx 404憿菟𢒰嚗諹秩<E8ABB9>篺ginx.conf<6E>滨蔭<E6BBA8>厰䔮憸?
甇仿炊6嚗𡁏<EFBFBD>霂𧭈PI隞<EFBFBD><EFBFBD>嚗<EFBFBD><EFBFBD><EFBFBD>殷<EFBFBD>
# <20>枏<EFBFBD>瘚讛<E7989A><E8AE9B>典<EFBFBD><E585B8>𤏸<EFBFBD><F0A48FB8>極<EFBFBD>瘀<EFBFBD>F12嚗争<E59A97> Console<6C><65>倌
# <20>扯<EFBFBD>隞乩<E99A9E>隞<EFBFBD><E99A9E>瘚贝<E7989A>API隞<49><E99A9E>
fetch('/api/v1/health')
.then(res => res.json())
.then(data => console.log(data))
憸<><E686B8>蝏𤘪<E89D8F>:
<20>?霂瑟<E99C82><E7919F>𣂼<EFBFBD>嚗𠄎tatus 200嚗?
<20>?餈𥪜<E9A488><F0A5AA9C>𡒊垢<F0A1928A><E59EA2><EFBFBD>摨娍㺭<E5A88D>?
<20>?瘝⊥<E7989D>CORS<52>躰秤
<0A>?憒<><E68692><EFBFBD>见<EFBFBD>CORS<52>躰秤嚗諹秩<E8ABB9>𤾸<EFBFBD><F0A4BEB8>睲誨<E79DB2><E8AAA8><EFBFBD>蝵格<E89DB5><E6A0BC>桅<EFBFBD>
<0A>?憒<><E68692><EFBFBD>见<EFBFBD>餈墧𦻖憭梯揖嚗諹秩<E8ABB9>𤾸<EFBFBD>蝡臬𧑐<E887AC><F0A79190><EFBFBD>滨蔭<E6BBA8>躰秤
*甇仿炊7嚗𡁏<EFBFBD>霂閖<EFBFBD><EFBFBD><EFBFBD><EFBFBD>皞鞟<EFBFBD>摮?
# <20>冽<EFBFBD>閫<EFBFBD>膥撘<E886A5><E69298>𤏸<EFBFBD><F0A48FB8>極<EFBFBD>?<3F>?Network<72><6B>倌
# 蝚砌<E89D9A>甈∟挪<E2889F>?
<20>?index.html: <20>嗆<EFBFBD>?00嚗龦ache-Control: no-cache
<20>?index-xxxxx.js: <20>嗆<EFBFBD>?00嚗龦ache-Control: 1撟?
# <20>瑟鰵憿菟𢒰嚗<F0A292B0>洵鈭峕活霈輸䔮嚗?
<20>?index.html: <20>嗆<EFBFBD>?00嚗<30><E59A97>甈⊿<E79488><E28ABF>齿鰵<E9BDBF>瑕<EFBFBD>嚗?
<20>?index-xxxxx.js: <20>嗆<EFBFBD>?00 (from disk cache)嚗<EFBFBD>蝙<EFBFBD>函<EFBFBD>摮矋<EFBFBD>
甇仿炊8嚗𡁏<EFBFBD>霂柖zip<EFBFBD>讠憬
# <20>冽<EFBFBD>閫<EFBFBD>膥撘<E886A5><E69298>𤏸<EFBFBD><F0A48FB8>極<EFBFBD>?<3F>?Network<72><6B>倌
# <20>孵稬隞餅<E99A9E>JS<4A><53>辣
璉<><E79289>充esponse Headers:
<20>?Content-Encoding: gzip
<20>?<3F><>辣憭批<E686AD><E689B9>誩<EFBFBD>60-70%
蝷箔<E89DB7>:
<20>笔<EFBFBD>憭批<E686AD>: 1.2 MB
隡㰘<E99AA1>憭批<E686AD>: 350 KB (gzip<EFBFBD>讠憬<EFBFBD>?
<EFBFBD><EFBFBD> <EFBFBD>函蔡<EFBFBD>𣂼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
憒<EFBFBD><EFBFBD>隞乩<EFBFBD>8銝芣郊撉文<EFBFBD><EFBFBD>券<EFBFBD>朞<EFBFBD>嚗峕<EFBFBD><EFBFBD>頣<EFBFBD><EFBFBD>滨垢<EFBFBD>滚𦛚<EFBFBD>函蔡<EFBFBD>𣂼<EFBFBD>嚗?
9. 撣貉<E692A3><E8B289>桅<EFBFBD><E6A185>埝䰻
<EFBFBD>?**<2A>桅<EFBFBD>1嚗𡁜<E59A97>靘见<E99D98>摨瑟<E691A8><E7919F>亙仃韐?*
*<EFBFBD><EFBFBD>𠶖嚗?
摰硺<EFBFBD><EFBFBD>嗆<EFBFBD><EFBFBD>遬蝷?銝滚<E98A9D>摨?
<0A>亙熒璉<E78692><E79289>亙仃韐?
*<EFBFBD>埝䰻甇仿炊嚗?
1. <20>亦<EFBFBD>摰硺<E691B0><E7A1BA>亙<EFBFBD>
<20>𣂼<EFBFBD><F0A382BC>刻祕<E588BB><E7A595><EFBFBD>爗<EFBFBD><E78897>鞉𠯫敹𨰜<E695B9>爗<EFBFBD><E78897>𣂼<EFBFBD><F0A382BC>嗆𠯫敹𨰜<E695B9>爗<EFBFBD><E78897>鞾<EFBFBD>㗇𥋘摰硺<E691B0><E7A1BA>?
憒<><E68692><EFBFBD>见<EFBFBD>:
- "BACKEND_SERVICE_HOST required" <20>?<3F>臬<EFBFBD><E887AC>㗛<EFBFBD><E3979B>芷<EFBFBD>蝵?
- "nginx: configuration file test failed" <20>?nginx.conf霂剜<E99C82><E5899C>躰秤
- 瘝⊥<E7989D><E28AA5>亙<EFBFBD> <20>?摰孵膥瘝⊥<E7989D><E28AA5>臬𢆡
2. 璉<><E79289>亙<EFBFBD>摨瑟<E691A8><E7919F>仿<EFBFBD>蝵?
<20>𣂼<EFBFBD><F0A382BC>券<EFBFBD>蝵柴<E89DB5>爗<EFBFBD><E78897>𣂼<EFBFBD>摨瑟<E691A8><E7919F>乓<EFBFBD>?
蝖株恕:
- 璉<><E79289>亥楝敺? /health嚗<68><E59A97><EFBFBD>?/嚗?
- 璉<><E79289>亦垢<E4BAA6>? 80嚗<30><E59A97><EFBFBD>?000<30>硋<EFBFBD>隞吔<E99A9E>
- 璉<><E79289>亙<EFBFBD>霈? HTTP嚗<50><E59A97><EFBFBD>浹TTPS嚗?
3. <20>见𢆡瘚贝<E7989A><E8B49D>亙熒璉<E78692><E79289>?
<20>沒AE Webshell銝剜<E98A9D>銵?
curl http://localhost/health
憸<><E686B8>餈𥪜<E9A488>: healthy
*閫<EFBFBD><EFBFBD><EFBFBD>寞<EFBFBD>嚗?
- <EFBFBD>滨蔭蝻箏仃<EFBFBD><EFBFBD>㴓憓<EFBFBD><EFBFBD><EFBFBD>?
- 靽格迤<EFBFBD>亙熒璉<EFBFBD><EFBFBD>亥楝敺?
- 璉<EFBFBD><EFBFBD>亙捆<EFBFBD>函垢<EFBFBD><EFBFBD><EFBFBD>蝵?
<EFBFBD>?<EFBFBD>桅<EFBFBD>2嚗𡁻△<EFBFBD>Z<EFBFBD>霈輸䔮嚗䔶<EFBFBD>API霂瑟<EFBFBD>憭梯揖
*<EFBFBD><EFBFBD>𠶖嚗?
<EFBFBD>滨垢憿菟𢒰甇<EFBFBD>虜<EFBFBD>曄內
靚<>鍂API<50>嗆𥁒<E59786>? Network Error <20>?504 Gateway Timeout
*<EFBFBD>埝䰻甇仿炊嚗?
1. 璉<><E79289>交<EFBFBD>閫<EFBFBD>膥Console
<20>见<EFBFBD><E8A781><EFBFBD><EFBFBD>霂?
- "ERR_CONNECTION_REFUSED" <20>?<3F>𡒊垢<F0A1928A>滚𦛚<E6BB9A>芸鍳<E88AB8>?
- "504 Gateway Timeout" <20>?<3F>𡒊垢<F0A1928A>滚<EFBFBD>頞<EFBFBD>𧒄
- "502 Bad Gateway" <20>?<3F>𡒊垢<F0A1928A>啣<EFBFBD><E595A3>躰秤
2. 璉<><E79289>亦㴓憓<E3B493><E68693><EFBFBD>誯<EFBFBD>蝵?
<20>𣂼<EFBFBD><F0A382BC>券<EFBFBD>蝵柴<E89DB5>爗<EFBFBD><E78897>鞟㴓憓<E3B493><E68693><EFBFBD>譌<EFBFBD>?
撉諹<E69289>:
- BACKEND_SERVICE_HOST <20>臬炏<E887AC>滨蔭
- IP<49>啣<EFBFBD><E595A3>臬炏甇<E7828F>&嚗<EFBC86><E59A97><EFBFBD>𡒊垢SAE摨𠉛鍂<F0A0899B>瑕<EFBFBD>嚗?
- 銝滩<E98A9D><E6BBA9>柾ttp://<2F>滨<EFBFBD>
- 銝滩<E98A9D><E6BBA9><EFBFBD>鉄蝡臬藁<E887AC>?
3. 瘚贝<E7989A><E8B49D>𡒊垢<F0A1928A>滚𦛚<E6BB9A>航噢<E888AA>?
<20>典<EFBFBD>蝡臬捆<E887AC>函<EFBFBD>Webshell銝?
curl http://172.17.0.15:3001/api/v1/health
憒<><E68692>憭梯揖:
- 璉<><E79289>亙<EFBFBD>蝡舀<E89DA1><E88880>⊥糓<E28AA5>西<EFBFBD>銵?
- 璉<><E79289>冬PC蝵𤑳<E89DB5><F0A491B3>臬炏<E887AC>詨<EFBFBD>
- 璉<><E79289>亙<EFBFBD><E4BA99>函<EFBFBD>閫<EFBFBD><E996AB>
4. <20>亦<EFBFBD>Nginx<6E>躰秤<E8BAB0>亙<EFBFBD>
docker logs <container_id> 2>&1 | grep error
撣貉<E692A3><E8B289>躰秤:
- "upstream: "http://172.17.0.15:3001/..." <20>?<3F>𡒊垢<F0A1928A>啣<EFBFBD>甇<EFBFBD>&
- "connect() failed" <20>?<3F>𡒊垢銝滚虾颲?
*閫<EFBFBD><EFBFBD><EFBFBD>寞<EFBFBD>嚗?
- 靽格迤<EFBFBD>臬<EFBFBD><EFBFBD>㗛<EFBFBD>BACKEND_SERVICE_HOST
- 蝖桐<EFBFBD><EFBFBD>滚<EFBFBD>蝡臬銁<EFBFBD>䔶<EFBFBD>VPC
- 璉<EFBFBD><EFBFBD>亙<EFBFBD><EFBFBD>函<EFBFBD>閫<EFBFBD><EFBFBD><EFBFBD><EFBFBD>捂VPC<EFBFBD><EFBFBD><EFBFBD>霈輸䔮
- <EFBFBD>滚鍳<EFBFBD>滨垢摨𠉛鍂雿輸<EFBFBD>蝵桃<EFBFBD><EFBFBD>?
<EFBFBD>?<EFBFBD>桅<EFBFBD>3嚗𡁜<EFBFBD><EFBFBD>圈△<EFBFBD>X𥁒404
*<EFBFBD><EFBFBD>𠶖嚗?
霈輸䔮銝駁△甇<EFBFBD>虜
<0A>孵稬<E5ADB5>暹𦻖頝唾蓮甇<E893AE>虜
<0A>瑟鰵憿菟𢒰嚗㇅5嚗争<E59A97> 404 Not Found
*<EFBFBD>笔<EFBFBD>嚗?
React Router雿輻鍂瘚讛<E7989A><E8AE9B>刻楝<E588BB>梧<EFBFBD>BrowserRouter嚗㚁<E59A97><E39A81>瑟鰵<E7919F>賁ginx<6E><78>閬<EFBFBD><E996AC><EFBFBD><EFBFBD><EFBFBD>㕑楝<E39591>勗<EFBFBD><E58B97><EFBFBD><EFBFBD>迺ndex.html<6D>?
*<EFBFBD>埝䰻甇仿炊嚗?
1. 霈輸䔮銝<E494AE>銝析eact頝舐眏
靘见<E99D98>: https://your-domain.com/dashboard
2. <20>丽5<E4B8BD>瑟鰵憿菟𢒰
<20>?<3F>躰秤<E8BAB0>啗情: <20>见<EFBFBD>Nginx 404憿菟𢒰
<20>?甇<>&<EFBFBD>啗情: 憿菟𢒰甇<F0A292B0>虜<EFBFBD>曄內
3. 璉<><E79289>叩ginx.conf<6E>滨蔭
<20>餃<EFBFBD>摰孵膥Webshell:
cat /etc/nginx/nginx.conf | grep "try_files"
摨磰砲<E7A3B0>见<EFBFBD>:
try_files $uri $uri/ /index.html;
*閫<EFBFBD><EFBFBD><EFBFBD>寞<EFBFBD>嚗?
憒<EFBFBD><EFBFBD>nginx.conf銝剜瓷<E5899C>头try_files`<60>滨蔭嚗屸<E59A97>閬<EFBFBD><E996AC><EFBFBD>唳<EFBFBD>撱粹<E692B1><E7B2B9>𧶏<EFBFBD>
# <20>盯ginx.conf銝剔&靽脲<E99DBD>隞乩<E99A9E><E4B9A9>滨蔭
location / {
try_files $uri $uri/ /index.html;
}
<EFBFBD>?<EFBFBD>桅<EFBFBD>4嚗𡁻<EFBFBD><EFBFBD><EFBFBD><EFBFBD>皞?04
*<EFBFBD><EFBFBD>𠶖嚗?
HTML<EFBFBD>賢<EFBFBD>頧?
JS/CSS<53><53>辣404 Not Found
憿菟𢒰<E88F9F>曄內銝箇滲<E7AE87><E6BBB2>𧋦嚗<F0A78BA6><E59A97><EFBFBD>瑕<EFBFBD>嚗?
*<EFBFBD>埝䰻甇仿炊嚗?
1. 璉<><E79289>交<EFBFBD>閫<EFBFBD>膥Network<72><6B>倌
<20>见<EFBFBD>:
GET https://your-domain.com/assets/index-xxxxx.js 404
2. 璉<><E79289>可ndex.html銝剔<E98A9D>韏<EFBFBD><E99F8F>頝臬<E9A09D>
curl https://your-domain.com/ | grep assets
甇<>&蝷箔<E89DB7>:
<script src="/assets/index-xxxxx.js"></script>
<20>躰秤蝷箔<E89DB7>:
<script src="./assets/index-xxxxx.js"></script> # <20>詨笆頝臬<E9A09D>
<script src="/app/assets/index-xxxxx.js"></script> # <20>躰秤base
3. 璉<><E79289>冬ite<74>滨蔭
<20>亦<EFBFBD>frontend-v2/vite.config.ts:
甇<>&<EFBFBD>滨蔭:
export default defineConfig({
base: '/', // <20>?暺䁅恕<E48185>?
})
<20>躰秤<E8BAB0>滨蔭:
export default defineConfig({
base: '/app/', // <20>?<3F>日<EFBFBD>蝖桀<E89D96><E6A180><EFBFBD>閬?
})
*閫<EFBFBD><EFBFBD><EFBFBD>寞<EFBFBD>嚗?
- 靽格㺿
vite.config.ts嚗𣬚&靽?base: '/' - <EFBFBD>齿鰵<EFBFBD><EFBFBD>遣<EFBFBD>滨垢嚗䫤npm run build`
- <EFBFBD>齿鰵<EFBFBD><EFBFBD>遣Docker<EFBFBD>𨅯<EFBFBD>
- <EFBFBD>券<EFBFBD><EFBFBD><EFBFBD>ACR
- SAE<EFBFBD>齿鰵<EFBFBD>函蔡
<EFBFBD>?<EFBFBD>桅<EFBFBD>5嚗𡁶㴓憓<EFBFBD><EFBFBD><EFBFBD>𤩺𧊋<EFBFBD><EFBFBD><EFBFBD>
*<EFBFBD><EFBFBD>𠶖嚗?
<EFBFBD>滨蔭鈭<EFBFBD>㴓憓<EFBFBD><EFBFBD><EFBFBD>?
雿<>捆<EFBFBD>典鍳<E585B8>冽𠯫敹埈遬蝷箏<E89DB7><E7AE8F>譍蛹蝛?
*<EFBFBD>埝䰻甇仿炊嚗?
1. <20>亦<EFBFBD>摰孵膥<E5ADB5>臬𢆡<E887AC>亙<EFBFBD>
<20>𣂼<EFBFBD><F0A382BC>刻祕<E588BB><E7A595><EFBFBD>爗<EFBFBD><E78897>鞉𠯫敹𨰜<E695B9>爗<EFBFBD><E78897>𣂼<EFBFBD><F0A382BC>嗆𠯫敹𨰜<E695B9>?
<20>见<EFBFBD>:
Backend Service: ${BACKEND_SERVICE_HOST}:${BACKEND_SERVICE_PORT}
<20>?餈躰秩<E8BAB0>𦱿nvsubst瘝⊥<E7989D><E28AA5>踵揢<E8B8B5>㗛<EFBFBD>
2. 餈𥕦<E9A488>摰孵膥Webshell璉<6C><E79289>?
echo $BACKEND_SERVICE_HOST
憒<><E68692>銝箇征 <20>?SAE<41>臬<EFBFBD><E887AC>㗛<EFBFBD><E3979B>芯<EFBFBD><E88AAF>?
憒<><E68692><EFBFBD>匧<EFBFBD>?<3F>?envsubst<73>扯<EFBFBD>憭梯揖
3. 璉<><E79289>卡ocker-entrypoint.sh
cat /docker-entrypoint.sh
蝖株恕<E6A0AA>?
envsubst '${BACKEND_SERVICE_HOST} ${BACKEND_SERVICE_PORT}' \
< /etc/nginx/templates/nginx.conf.template \
> /etc/nginx/nginx.conf
*閫<EFBFBD><EFBFBD><EFBFBD>寞<EFBFBD>嚗?
- <EFBFBD>沒AE<EFBFBD>批<EFBFBD><EFBFBD>圈<EFBFBD><EFBFBD>圈<EFBFBD>蝵桃㴓憓<EFBFBD><EFBFBD><EFBFBD>?
- 蝖桐<EFBFBD><EFBFBD>㗛<EFBFBD><EFBFBD>齿𣄽<EFBFBD>蹱迤蝖殷<EFBFBD><EFBFBD>箏<EFBFBD>憭批<EFBFBD><EFBFBD>辷<EFBFBD>
- <EFBFBD>滚鍳摨𠉛鍂雿輸<EFBFBD>蝵桃<EFBFBD><EFBFBD>?
10. <20>亙虜餈鞟輕
<EFBFBD><EFBFBD> <EFBFBD>烐綉<EFBFBD><EFBFBD><EFBFBD>
摰墧𧒄<EFBFBD>烐綉
<EFBFBD>亦<EFBFBD>雿滨蔭: <EFBFBD>𣂼<EFBFBD><EFBFBD>刻祕<EFBFBD><EFBFBD><EFBFBD>爗<EFBFBD><EFBFBD>鞟<EFBFBD><EFBFBD>扼<EFBFBD>?
<EFBFBD>喲睸<EFBFBD><EFBFBD><EFBFBD>:
CPU雿輻鍂<EFBFBD>?
<EFBFBD>亙熒<EFBFBD><EFBFBD>凒: < 30%
<EFBFBD>𡃏郎<EFBFBD><EFBFBD><EFBFBD>? > 60%
霂湔<EFBFBD>: Nginx<EFBFBD><EFBFBD><EFBFBD>頞<EFBFBD><EFBFBD>30%
<EFBFBD><EFBFBD><EFBFBD>雿輻鍂<EFBFBD>?
<EFBFBD>亙熒<EFBFBD><EFBFBD>凒: < 50%
<EFBFBD>𡃏郎<EFBFBD><EFBFBD><EFBFBD>? > 80%
霂湔<EFBFBD>: Nginx<EFBFBD><EFBFBD><EFBFBD><EFBFBD>删鍂敺<EFBFBD><EFBFBD>
霂瑟<EFBFBD>QPS:
閫<EFBFBD><EFBFBD>霈輸䔮<EFBFBD>讛<EFBFBD><EFBFBD>?
撟喳<EFBFBD><EFBFBD>滚<EFBFBD><EFBFBD>園𡢿:
<EFBFBD>亙熒<EFBFBD><EFBFBD>凒: < 50ms
<EFBFBD>𡃏郎<EFBFBD><EFBFBD><EFBFBD>? > 200ms
霂湔<EFBFBD>: <EFBFBD>蹱<EFBFBD><EFBFBD><EFBFBD>隞嗅<EFBFBD>摨娍<EFBFBD>敹?
<EFBFBD>躰秤<EFBFBD>?
<EFBFBD>亙熒<EFBFBD><EFBFBD>凒: < 0.1%
<EFBFBD>𡃏郎<EFBFBD><EFBFBD><EFBFBD>? > 1%
<EFBFBD>亙<EFBFBD><EFBFBD>亦<EFBFBD>
摰墧𧒄<EFBFBD>亙<EFBFBD>:
雿滨蔭: <EFBFBD>𣂼<EFBFBD><EFBFBD>刻祕<EFBFBD><EFBFBD><EFBFBD>爗<EFBFBD><EFBFBD>鞉𠯫敹𨰜<EFBFBD>爗<EFBFBD><EFBFBD>𣂼<EFBFBD><EFBFBD>嗆𠯫敹𨰜<EFBFBD>?
甇<EFBFBD>虜<EFBFBD>亙<EFBFBD>蝷箔<EFBFBD>:
172.17.0.10 - - [23/Dec/2025:10:30:00 +0800] "GET / HTTP/1.1" 200 1234
172.17.0.10 - - [23/Dec/2025:10:30:01 +0800] "GET /assets/index.js HTTP/1.1" 200 567890
API隞<EFBFBD><EFBFBD><EFBFBD>亙<EFBFBD>:
172.17.0.10 - - [23/Dec/2025:10:30:02 +0800] "GET /api/v1/projects HTTP/1.1" 200 8765
<EFBFBD>躰秤<EFBFBD>亙<EFBFBD>:
2025/12/23 10:30:04 [error] connect() failed (111: Connection refused)
<EFBFBD>?<3F>𡒊垢<F0A1928A>滚𦛚餈墧𦻖憭梯揖
<EFBFBD><EFBFBD>蟮<EFBFBD>亙<EFBFBD>:
雿滨蔭: <EFBFBD>𣂼<EFBFBD><EFBFBD>刻祕<EFBFBD><EFBFBD><EFBFBD>爗<EFBFBD><EFBFBD>鞉𠯫敹𨰜<EFBFBD>爗<EFBFBD><EFBFBD>𣂼<EFBFBD><EFBFBD>脫𠯫敹𨰜<EFBFBD>?
靽萘<EFBFBD><EFBFBD>園𡢿: 7憭?
<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>𧋦<EFBFBD>湔鰵瘚<EFBFBD><EFBFBD>
敶枏<EFBFBD>蝡臭誨<EFBFBD><EFBFBD><EFBFBD><EFBFBD>湔鰵<EFBFBD>塚<EFBFBD><EFBFBD>劐誑銝𧢲<EFBFBD>蝔钅<EFBFBD>蝵脫鰵<EFBFBD><EFBFBD>𧋦嚗?
甇仿炊1嚗𡁏𧋦<EFBFBD>唳<EFBFBD>撱箸鰵<EFBFBD><EFBFBD>𧋦
# <20>狄rontend-v2<76>桀<EFBFBD>
cd AIclinicalresearch/frontend-v2
# 瘚贝<E7989A><E8B49D><EFBFBD>遣
npm run build
# <20><>遣Docker<65>𨅯<EFBFBD>嚗<EFBFBD><E59A97><EFBFBD>砍噡+1嚗?
docker build -t frontend-service:v1.0.1 .
# 撉諹<E69289><E8ABB9>𨅯<EFBFBD>憭批<E686AD>
docker images frontend-service:v1.0.1
甇仿炊2嚗𡁏綫<EFBFBD><EFBFBD><EFBFBD>ACR
# <20>餃<EFBFBD>ACR
echo fengzhibo117 | docker login --username=gofeng117@163.com --password-stdin crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com
# <20>𤘪<EFBFBD>蝑?
docker tag frontend-service:v1.0.1 crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ai-clinical_frontend-nginx:v1.0.1
docker tag frontend-service:v1.0.1 crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ai-clinical_frontend-nginx:latest
# <20>券<EFBFBD><E588B8><EFBFBD><EFBFBD>?
docker push crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ai-clinical_frontend-nginx:v1.0.1
docker push crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ai-clinical_frontend-nginx:latest
甇仿炊3嚗锭AE<EFBFBD>啣漲<EFBFBD>穃<EFBFBD>嚗<EFBFBD>綫<EFBFBD>琜<EFBFBD>
<EFBFBD>桃<EFBFBD>: <EFBFBD>滢<EFBFBD><EFBFBD>湔鰵憌𡡞埯嚗<EFBFBD><EFBFBD><EFBFBD>湔鰵<EFBFBD>典<EFBFBD>摰硺<EFBFBD>撉諹<EFBFBD>
<EFBFBD>滢<EFBFBD>甇仿炊:
1. <20>餃<EFBFBD>SAE<41>批<EFBFBD><E689B9>?<3F>?餈𥕦<E9A488>摨𠉛鍂霂行<E99C82>
2. <20>孵稬<E5ADB5>鞾<EFBFBD>蝵脯<E89DB5>爗<EFBFBD><E78897>鞟<EFBFBD>摨血<E691A8>撣<EFBFBD><E692A3>?
3. <20>滨蔭<E6BBA8>啣漲蝑𣇉裦:
<EFBFBD>啣漲摰硺<EFBFBD><EFBFBD>? 1
<EFBFBD>啣漲<EFBFBD>園鵭: 5<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>𨅯<EFBFBD><EFBFBD><EFBFBD>𧋦: v1.0.1
4. <20>孵稬<E5ADB5>鞟&摰𠾼<E691B0>?
5. 閫<><E996AB><EFBFBD>啣漲摰硺<E691B0>:
- <EFBFBD>亦<EFBFBD>摰硺<EFBFBD><EFBFBD>嗆<EFBFBD><EFBFBD><EFBFBD><EFBFBD>亙熒嚗?
- <EFBFBD>亦<EFBFBD><EFBFBD>躰秤<EFBFBD>亙<EFBFBD>嚗<EFBFBD><EFBFBD><EFBFBD>躰秤嚗?
- 霈輸䔮瘚贝<EFBFBD>嚗<EFBFBD><EFBFBD><EFBFBD>賣迤撣賂<EFBFBD>
6. 蝖株恕<E6A0AA>𣳇䔮憸睃<E686B8>嚗𣬚<E59A97><F0A3AC9A>颯<EFBFBD>𣂼<EFBFBD><F0A382BC>誩<EFBFBD>撣<EFBFBD><E692A3>?
7. 憒<><E68692><EFBFBD>𤑳緵<F0A491B3>桅<EFBFBD>嚗𣬚<E59A97><F0A3AC9A>颯<EFBFBD>𣂼<EFBFBD>皛𠾼<E79A9B>?
- <EFBFBD>芸𢆡<EFBFBD>墧<EFBFBD><EFBFBD>唬<EFBFBD>銝<EFBFBD>銝芰<EFBFBD><EFBFBD>?
- <EFBFBD>𣳇<EFBFBD><EFBFBD>见𢆡<EFBFBD>滢<EFBFBD>
*甇仿炊4嚗𡁜<EFBFBD><EFBFBD>誩<EFBFBD>撣?
憒<EFBFBD><EFBFBD>銝滢蝙<EFBFBD>函<EFBFBD>摨血<EFBFBD>撣<EFBFBD><EFBFBD><EFBFBD>湔𦻖<EFBFBD>券<EFBFBD><EFBFBD>湔鰵嚗?
<EFBFBD>滢<EFBFBD>甇仿炊:
1. <20>餃<EFBFBD>SAE<41>批<EFBFBD><E689B9>?<3F>?餈𥕦<E9A488>摨𠉛鍂霂行<E99C82>
2. <20>孵稬<E5ADB5>鞾<EFBFBD>蝵脯<E89DB5>?
3. 靽格㺿<E6A0BC>𨅯<EFBFBD><F0A885AF><EFBFBD>𧋦:
隞? v1.0.0
<EFBFBD>? v1.0.1
4. <20>孵稬<E5ADB5>鞟&摰𠾼<E691B0>?
5. 蝑匧<E89D91><E58CA7>函蔡摰峕<E691B0>嚗?-3<><33><EFBFBD>嚗?
6. 撉諹<E69289><E8ABB9>啁<EFBFBD><E59581>?
- <EFBFBD>亦<EFBFBD>摰硺<EFBFBD><EFBFBD>嗆<EFBFBD>?
- 霈輸䔮<EFBFBD>滨垢憿菟𢒰
- 瘚贝<EFBFBD><EFBFBD>詨<EFBFBD><EFBFBD>蠘<EFBFBD>
<EFBFBD><EFBFBD> <EFBFBD>墧<EFBFBD><EFBFBD>滢<EFBFBD>
憒<EFBFBD><EFBFBD><EFBFBD>啁<EFBFBD><EFBFBD>砍枂<EFBFBD>圈䔮憸矋<EFBFBD><EFBFBD>臭誑敹恍<EFBFBD>笔<EFBFBD>皛𡄯<EFBFBD>
<EFBFBD>滢<EFBFBD>甇仿炊:
1. <20>餃<EFBFBD>SAE<41>批<EFBFBD><E689B9>?<3F>?餈𥕦<E9A488>摨𠉛鍂霂行<E99C82>
2. <20>孵稬<E5ADB5>𣂼<EFBFBD><F0A382BC>渲扇敶𨰻<E695B6>?
3. <20>曉<EFBFBD>銝𠹺<E98A9D>銝芰迅摰𡁶<E691B0><F0A181B6>穿<EFBFBD>憒<EFBFBD>1.0.0嚗?
4. <20>孵稬<E5ADB5>𣂼<EFBFBD>皛𠾼<E79A9B>?
5. 蝖株恕<E6A0AA>墧<EFBFBD>
6. 蝑匧<E89D91><E58CA7>墧<EFBFBD>摰峕<E691B0>嚗?-2<><32><EFBFBD>嚗?
<EFBFBD>墧<EFBFBD><EFBFBD>園𡢿:
- <EFBFBD>𨅯<EFBFBD>撌脩<EFBFBD>摮? 1-2<><32><EFBFBD>
- <EFBFBD>𨅯<EFBFBD><EFBFBD>芰<EFBFBD>摮? 2-3<><33><EFBFBD>
<EFBFBD><EFBFBD>儭?*皜<EFBFBD><EFBFBD><EFBFBD>抒<EFBFBD><EFBFBD>祇<EFBFBD><EFBFBD>?
摰𡁏<EFBFBD>皜<EFBFBD><EFBFBD>ACR銝剔<EFBFBD><EFBFBD>抒<EFBFBD><EFBFBD>祇<EFBFBD><EFBFBD>𧶏<EFBFBD><EFBFBD><EFBFBD><EFBFBD>摮睃<EFBFBD>蝛粹𡢿嚗?
皜<EFBFBD><EFBFBD>蝑𣇉裦:
- 靽萘<EFBFBD><EFBFBD><EFBFBD>餈?銝芰<E98A9D><E88AB0>?
- <EFBFBD>𣳇膄30憭拙<EFBFBD><EFBFBD><EFBFBD>唂<EFBFBD><EFBFBD>𧋦
- 靽萘<EFBFBD>撣行<EFBFBD><EFBFBD>寞<EFBFBD><EFBFBD><EFBFBD>倌<EFBFBD><EFBFBD><EFBFBD><EFBFBD>穿<EFBFBD>憒<EFBFBD>table<EFBFBD><EFBFBD>rod嚗?
<EFBFBD>滢<EFBFBD>甇仿炊:
1. <20>餃<EFBFBD>ACR<43>批<EFBFBD><E689B9>?
2. 餈𥕦<E9A488><F0A595A6>𨅯<EFBFBD>隞枏<E99A9E> <20>?ai-clinical_frontend-nginx
3. <20>亦<EFBFBD><E4BAA6><EFBFBD><EFBFBD>厩<EFBFBD><E58EA9>?
4. <20>㗇𥋘閬<F0A58B98><E996AC><EFBFBD>斤<EFBFBD><E696A4><EFBFBD>𧋦嚗<F0A78BA6>㗲<EFBFBD>㚁<EFBFBD>
5. <20>孵稬<E5ADB5>𣂼<EFBFBD><F0A382BC>扎<EFBFBD>?
6. 蝖株恕<E6A0AA>𣳇膄
<EFBFBD>𩤃<EFBFBD> 瘜冽<E7989C>:
- 銝滩<EFBFBD><EFBFBD>𣳇膄甇<EFBFBD>銁雿輻鍂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
- <EFBFBD>𣳇膄<EFBFBD>滨&霈又AE摨𠉛鍂撌脫凒<EFBFBD>啣<EFBFBD><EFBFBD>啁<EFBFBD><EFBFBD>?
- 撱箄悅<EFBFBD>喳<EFBFBD>靽萘<EFBFBD>2銝芰<EFBFBD><EFBFBD>砌誑靘踹<EFBFBD>皛?
<EFBFBD><EFBFBD> *撘寞<EFBFBD>找撓蝻拚<EFBFBD>蝵?
<EFBFBD>滨垢Nginx<EFBFBD>滚𦛚<EFBFBD>𡁜虜銝漤<EFBFBD>閬<EFBFBD><EFBFBD>蝜<EFBFBD><EFBFBD>蝻拙捆嚗䔶<EFBFBD><EFBFBD>臭誑<EFBFBD>滨蔭<EFBFBD>芸𢆡隡貊憬嚗?
<EFBFBD>滨蔭雿滨蔭: <EFBFBD>𣂼<EFBFBD><EFBFBD>券<EFBFBD>蝵柴<EFBFBD>爗<EFBFBD><EFBFBD>𣂼撕<EFBFBD>找撓蝻押<EFBFBD>?
<EFBFBD><EFBFBD>撠誩<EFBFBD>靘𧢲㺭: 2
霂湔<EFBFBD>: 靽肽<EFBFBD>擃睃虾<EFBFBD>剁<EFBFBD><EFBFBD>喳<EFBFBD>2銝芸<EFBFBD>靘?
<EFBFBD><EFBFBD>憭批<EFBFBD>靘𧢲㺭: 5
霂湔<EFBFBD>: <EFBFBD>滨垢瘚<EFBFBD><EFBFBD>瘜W𢆡<EFBFBD>𡁜虜銝滚之嚗?銝芸<E98A9D>靘贝雲憭?
<EFBFBD>拙捆蝑𣇉裦:
<EFBFBD><EFBFBD><EFBFBD>: CPU雿輻鍂<EFBFBD>?
<EFBFBD><EFBFBD><EFBFBD>? > 60% <20><>賒 3<><33><EFBFBD>
瘥𤩺活<EFBFBD>拙捆: +1銝芸<E98A9D>靘?
<EFBFBD>瑕㭂<EFBFBD>園𡢿: 3<EFBFBD><EFBFBD><EFBFBD>
霂湔<EFBFBD>: Nginx敺<EFBFBD><EFBFBD>颲曉<EFBFBD>60% CPU
蝻拙捆蝑𣇉裦:
<EFBFBD><EFBFBD><EFBFBD>: CPU雿輻鍂<EFBFBD>?
<EFBFBD><EFBFBD><EFBFBD>? < 20% <20><>賒 5<><35><EFBFBD>
瘥𤩺活蝻拙捆: -1銝芸<EFBFBD>靘?
<EFBFBD>瑕㭂<EFBFBD>園𡢿: 5<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>撠譍<EFBFBD><EFBFBD>? 2銝芸<E98A9D>靘?
<EFBFBD>𩤃<EFBFBD> 摰鮋<E691B0><E9AE8B><EFBFBD><EFBFBD>:
<EFBFBD>滨垢Nginx<EFBFBD>扯<EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗?銝?.5<EFBFBD>詨<EFBFBD>靘见虾隞交𣈲<EFBFBD>?
- 1000+ QPS嚗<53><E59A97><EFBFBD><EFBFBD><EFBFBD>隞塚<E99A9E>
- 100+ QPS嚗㇁PI隞<49><E99A9E>嚗?
- <EFBFBD>牐<EFBFBD>銝漤<EFBFBD>閬<EFBFBD><EFBFBD>摰?
<EFBFBD>辶 <EFBFBD>𡃏郎<EFBFBD>滨蔭
<EFBFBD>滨蔭<EFBFBD>喲睸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𡃏郎嚗<EFBFBD><EFBFBD><EFBFBD>嗅<EFBFBD><EFBFBD>圈䔮憸矋<EFBFBD>
<EFBFBD>滨蔭雿滨蔭: <EFBFBD>𣂷<EFBFBD><EFBFBD>烐綉<EFBFBD>爗<EFBFBD><EFBFBD>𣂼<EFBFBD><EFBFBD>函<EFBFBD><EFBFBD>扼<EFBFBD>爗<EFBFBD><EFBFBD>𣂼<EFBFBD>撱箏<EFBFBD>霅西<EFBFBD><EFBFBD>踺<EFBFBD>?
<EFBFBD>刻<EFBFBD><EFBFBD>𡃏郎閫<EFBFBD><EFBFBD>:
1. 摰硺<E691B0><E7A1BA>亙熒璉<E78692><E79289>亙仃韐?
- <EFBFBD>∩辣: <EFBFBD>亙熒璉<EFBFBD><EFBFBD>亙仃韐?> 3甈?
- 蝥批<EFBFBD>: 蝝扳<EFBFBD>?
- <EFBFBD>𡁶䰻: <EFBFBD>凋縑 + <20>厰<EFBFBD>
2. CPU雿輻鍂<E8BCBB><E98D82><EFBFBD>擃?
- <EFBFBD>∩辣: CPU > 60% <20><>賒 5<><35><EFBFBD>
- 蝥批<EFBFBD>: 霅血<EFBFBD>
- <EFBFBD>𡁶䰻: <EFBFBD>厰<EFBFBD> + <20>桐辣
3. <20><><EFBFBD>雿輻鍂<E8BCBB><E98D82><EFBFBD>擃?
- <EFBFBD>∩辣: <EFBFBD><EFBFBD><EFBFBD> > 80% <20><>賒 5<><35><EFBFBD>
- 蝥批<EFBFBD>: 霅血<EFBFBD>
- <EFBFBD>𡁶䰻: <EFBFBD>厰<EFBFBD> + <20>桐辣
4. <20>躰秤<E8BAB0><E7A7A4><EFBFBD>擃?
- <EFBFBD>∩辣: <EFBFBD>躰秤<EFBFBD>?> 1% <20><>賒 3<><33><EFBFBD>
- 蝥批<EFBFBD>: 蝝扳<EFBFBD>?
- <EFBFBD>𡁶䰻: <EFBFBD>凋縑 + <20>厰<EFBFBD>
5. 撟喳<E6929F><E596B3>滚<EFBFBD><E6BB9A>園𡢿餈<F0A1A2BF>鵭
- <EFBFBD>∩辣: <EFBFBD>滚<EFBFBD><EFBFBD>園𡢿 > 500ms <20><>賒 5<><35><EFBFBD>
- 蝥批<EFBFBD>: 霅血<EFBFBD>
- <EFBFBD>𡁶䰻: <EFBFBD>厰<EFBFBD> + <20>桐辣
<EFBFBD>𡁶䰻<EFBFBD>孵<EFBFBD><EFBFBD>滨蔭:
- <EFBFBD>厰<EFBFBD><EFBFBD>箏膥鈭? <20>𥕦遣蝢方<E89DA2><E696B9>箏膥鈭綽<E988AD><E7B6BD>瑕<EFBFBD>Webhook
- <EFBFBD>桐辣: <EFBFBD>滨蔭<EFBFBD>𡃏郎<EFBFBD>𠉛頂鈭粹<EFBFBD>蝞?
- <EFBFBD>凋縑: <EFBFBD>滨蔭<EFBFBD>𧢲㦤<EFBFBD>瘀<EFBFBD>撱箄悅隞<EFBFBD>鍂鈭𡒊揮<EFBFBD>亙<EFBFBD>霅佗<EFBFBD>
<EFBFBD><EFBFBD> <20><><EFBFBD>
<EFBFBD><EFBFBD> <EFBFBD>滨蔭<EFBFBD><EFBFBD>辣皜<EFBFBD><EFBFBD>
<EFBFBD>函蔡餈<EFBFBD><EFBFBD>銝剜<EFBFBD><EFBFBD>羓<EFBFBD><EFBFBD>滨蔭<EFBFBD><EFBFBD>辣嚗?
<EFBFBD>砍𧑐<EFBFBD><EFBFBD>辣 (AIclinicalresearch/frontend-v2/):
- Dockerfile (憭𡁻𧫴畾菜<E795BE>撱粹<E692B1>蝵?
- nginx.conf (Nginx<6E>滚𦛚<E6BB9A>券<EFBFBD>蝵?
- docker-entrypoint.sh (摰孵膥<E5ADB5>臬𢆡<E887AC>𡁏𧋦)
- .dockerignore (<28><>遣<EFBFBD>㘾膄<E398BE><E88684>辣)
SAE<EFBFBD>滨蔭 (<28>冽綉<E586BD>嗅蝱<E59785>滨蔭):
- 摨𠉛鍂<EFBFBD>箸𧋦靽⊥<EFBFBD>
- 摰硺<EFBFBD>閫<EFBFBD>聢<EFBFBD>峕㺭<EFBFBD>?
- VPC蝵𤑳<EFBFBD><EFBFBD>滨蔭
- <EFBFBD>𨅯<EFBFBD><EFBFBD>啣<EFBFBD><EFBFBD>𣬚<EFBFBD><EFBFBD>?
- <EFBFBD>臬<EFBFBD><EFBFBD>㗛<EFBFBD>
- <EFBFBD>亙熒璉<EFBFBD><EFBFBD>?
- <EFBFBD>祉<EFBFBD>霈輸䔮<EFBFBD>滨蔭
<EFBFBD><EFBFBD> <EFBFBD>詨<EFBFBD><EFBFBD><EFBFBD>﹝<EFBFBD>暹𦻖
<EFBFBD>輸<EFBFBD>鈭穃<EFBFBD><EFBFBD>寞<EFBFBD>獢?
- SAE鈭批<EFBFBD><EFBFBD><EFBFBD>﹝: https://help.aliyun.com/product/1172298.html
- ACR鈭批<EFBFBD><EFBFBD><EFBFBD>﹝: https://help.aliyun.com/product/60716.html
- VPC鈭批<EFBFBD><EFBFBD><EFBFBD>﹝: https://help.aliyun.com/product/27706.html
憿寧𤌍<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹝:
- <EFBFBD>滨垢Nginx<EFBFBD>函蔡<EFBFBD><EFBFBD><EFBFBD>: docs/05-<2D>函蔡<E587BD><E894A1>﹝/06-<2D>滨垢Nginx-SAE摰孵膥<E5ADB5>函蔡<E587BD><E894A1><EFBFBD>.md
- 敹恍<EFBFBD>罸<EFBFBD>蝵淞OP: docs/05-<2D>函蔡<E587BD><E894A1>﹝/01-敹恍<E695B9>罸<EFBFBD>蝵淞OP-<2D>嗅抅蝖<E68A85><E89D96>?md
- <EFBFBD>函蔡<EFBFBD>嗆<EFBFBD><EFBFBD>餉<EFBFBD>: docs/05-<2D>函蔡<E587BD><E894A1>﹝/00-<2D>函蔡<E587BD>嗆<EFBFBD><E59786>餉<EFBFBD>.md
<EFBFBD>働 <EFBFBD><EFBFBD>雿喳<EFBFBD>頝菜<EFBFBD>餌<EFBFBD>
摰匧<EFBFBD><EFBFBD>?
<EFBFBD>?雿輻鍂銝𤘪<E98A9D>蝵𤑳<E89DB5>嚗ĀPC嚗厰<E59A97>蝳?
<EFBFBD>?<3F>臬<EFBFBD><E887AC>㗛<EFBFBD>摮睃<E691AE><E79D83>𤩺<EFBFBD>靽⊥<E99DBD>
<EFBFBD>?<3F>舐鍂HTTPS嚗<53><E59A97>鈭抒㴓憓<E3B493><E68693>
<EFBFBD>?<3F>滨蔭摰匧<E691B0>蝏<EFBFBD><E89D8F><EFBFBD>?
<EFBFBD>?<3F>鞱<EFBFBD>Nginx<6E><78>𧋦<EFBFBD>?
<EFBFBD>扯<EFBFBD>:
<EFBFBD>?<3F>舐鍂Gzip<69>讠憬嚗<E686AC><E59A97>撠?0%隡㰘<E99AA1>嚗?
<EFBFBD>?<3F>滨蔭<E6BBA8><E894AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>摮条<E691AE><E69DA1>?
<EFBFBD>?雿輻鍂CDN<44>𣳇<EFBFBD><F0A3B387><EFBFBD><EFBFBD>舫<EFBFBD>㚁<EFBFBD>
<EFBFBD>?隡睃<E99AA1>Docker<65>𨅯<EFBFBD>憭批<E686AD>
<EFBFBD>舫<EFBFBD><EFBFBD>?
<EFBFBD>?<3F>喳<EFBFBD>2銝芸<E98A9D>靘页<E99D98>擃睃虾<E79D83>剁<EFBFBD>
<EFBFBD>?<3F>滨蔭<E6BBA8>亙熒璉<E78692><E79289>?
<EFBFBD>?<3F>舐鍂<E88890>芸𢆡隡貊憬
<EFBFBD>?<3F>滨蔭<E6BBA8>𡃏郎<F0A1838F>烐綉
<EFBFBD>?<3F>啣漲<E595A3>穃<EFBFBD><E7A983>滢<EFBFBD>憌𡡞埯
<EFBFBD>舐輕<EFBFBD>斗<EFBFBD>?
<EFBFBD>?雿輻鍂霂凋<E99C82><E5878B>𣇉<EFBFBD><F0A38789>砍噡
<EFBFBD>?靽萘<E99DBD><E89098><EFBFBD>餈?銝芰<E98A9D><E88AB0>砌誑靘踹<E99D98>皛?
<EFBFBD>?摰𡁏<E691B0>皜<EFBFBD><E79A9C><EFBFBD>抒<EFBFBD><E68A92>祇<EFBFBD><E7A587>?
<EFBFBD>?霈啣<E99C88><E595A3>䀹凒<E480B9>亙<EFBFBD>
<EFBFBD>?<3F><>﹝<EFBFBD>𦠜𧒄<F0A6A09C>湔鰵
<EFBFBD>?撣貉<EFBFBD><EFBFBD>桅<EFBFBD>FAQ
*Q1: <20>滨垢<E6BBA8>滚𦛚<E6BB9A><F0A69B9A>閬<EFBFBD><E996AC>憭抒<E686AD>閫<EFBFBD>聢嚗?
A: 0.5<EFBFBD>?GB頞喳<E9A09E><E596B3>?
- Nginx<6E><78><EFBFBD>擃䀹<E69383>嚗<EFBFBD><E59A97><EFBFBD>刻<EFBFBD>皞𣂼<E79A9E>撠?
- 0.5<EFBFBD>詨虾隞交𣈲<EFBFBD>?000+ QPS
- 銝滩<E98A9D>餈<EFBFBD>漲<EFBFBD>滨蔭瘚芾晶韏<E699B6><E99F8F>
*Q2: <20><>閬<EFBFBD><E996AC>蝵桀<E89DB5>撠睲葵摰硺<E691B0>嚗?
A: <20>煺漣<E785BA>臬<EFBFBD>撱箄悅2銝芸<E98A9D>靘卝<E99D98>?
- 靽肽<E99DBD>擃睃虾<E79D83>剁<EFBFBD>1銝芣<E98A9D><E88AA3>𨀣𧒄<F0A880A3>?銝芰誧蝏剜<E89D8F><E5899C>∴<EFBFBD>
- <20>滨垢敺<E59EA2><E695BA><EFBFBD><EFBFBD>閬?銝芯誑銝𠰴<E98A9D>靘?
- 瘚<><E7989A><EFBFBD>孵<EFBFBD>憭扳𧒄<E689B3>臭誑<E887AD>滨蔭CDN
*Q3: 憒<><E68692><EFBFBD>仿<EFBFBD><E4BBBF>𡒊垢<F0A1928A>滚𦛚<E6BB9A><F0A69B9A><EFBFBD>蝵穃𧑐<E7A983><F0A79190>嚗?
A: 隞𤾸<E99A9E>蝡特AE摨𠉛鍂<F0A0899B>瑕<EFBFBD>嚗?
1. <20>餃<EFBFBD>SAE<41>批<EFBFBD><E689B9>?
2. 餈𥕦<E9A488><F0A595A6>𡒊垢摨𠉛鍂霂行<E99C82>
3. <20>亦<EFBFBD><E4BAA6>𣂼<EFBFBD><F0A382BC>刻挪<E588BB>桅<EFBFBD>蝵柴<E89DB5>爗<EFBFBD><E78897>𨧞PC<50><43><EFBFBD>霈輸䔮<E8BCB8>啣<EFBFBD><E595A3>?
4. 憭滚<E686AD>IP<49>啣<EFBFBD>嚗<EFBFBD>聢撘𧶏<E69298>172.17.x.x嚗?
Q4: <20>臬<EFBFBD><E887AC>㗛<EFBFBD><E3979B>滨蔭<E6BBA8>擧瓷<E693A7><E793B7><EFBFBD><EFBFBD>𦒘<EFBFBD><F0A69298>痹<EFBFBD>
A: <20><>閬<EFBFBD><E996AC><EFBFBD>臬<EFBFBD><E887AC>剁<EFBFBD>
1. 靽格㺿<E6A0BC>臬<EFBFBD><E887AC>㗛<EFBFBD>
2. <20>孵稬<E5ADB5>鞾<EFBFBD><E99EBE>胯<EFBFBD>烐<EFBFBD><E78390>鞾<EFBFBD><E99EBE>圈<EFBFBD>蝵脯<E89DB5>?
3. 蝑匧<E89D91>摰硺<E691B0><E7A1BA>滚鍳摰峕<E691B0>
4. <20>亦<EFBFBD><E4BAA6>臬𢆡<E887AC>亙<EFBFBD>蝖株恕<E6A0AA>㗛<EFBFBD><E3979B>?
Q5: <20>函蔡<E587BD>啁<EFBFBD><E59581>砍<EFBFBD>憒<EFBFBD><E68692>敹恍<E695B9>笔<EFBFBD>皛𡄯<E79A9B>
A: SAE<41>舀<EFBFBD>銝<EFBFBD><E98A9D>桀<EFBFBD>皛𡄯<E79A9B>
1. 餈𥕦<E9A488><F0A595A6>𣂼<EFBFBD><F0A382BC>渲扇敶𨰻<E695B6>?
2. <20>曉<EFBFBD>銝𠹺<E98A9D>銝芰迅摰𡁶<E691B0><F0A181B6>?
3. <20>孵稬<E5ADB5>𣂼<EFBFBD>皛𠾼<E79A9B>?
4. 蝑匧<E89D91>1-2<><32><EFBFBD>摰峕<E691B0><E5B395>墧<EFBFBD>
*Q6: 憒<><E68692><EFBFBD>滨蔭HTTPS嚗?
A: 銝斤<E98A9D><E696A4>孵<EFBFBD>嚗?
1. 雿輻鍂SAE<41>𣂷<EFBFBD><F0A382B7><EFBFBD><EFBFBD><EFBFBD>㵪<EFBFBD><E3B5AA>芸𢆡HTTPS嚗?
2. 蝏穃<E89D8F><E7A983>芸<EFBFBD>銋匧<E98A8B><E58CA7>滚僎銝𠹺<E98A9D>SSL霂<4C>髡
<20>煺漣<E785BA>臬<EFBFBD>撘箇<E69298>撱箄悅雿輻鍂HTTPS
Q7: <20>滨垢<E6BBA8><E59EA2>閬<EFBFBD><E996AC><EFBFBD>交㺭<E4BAA4>桀<EFBFBD><E6A180>梹<EFBFBD>
A: 銝漤<E98A9D>閬<EFBFBD><E996AC>?
- <20>滨垢<E6BBA8>舐滲<E88890>蹱<EFBFBD><E8B9B1><EFBFBD>皞琜<E79A9E>HTML/JS/CSS嚗?
- <20>芷<EFBFBD>閬<EFBFBD><E996AC>朞<EFBFBD>Nginx隞<78><E99A9E>霈輸䔮<E8BCB8>𡒊垢API
- <20>唳旿摨栞<E691A8><E6A09E>亦眏<E4BAA6>𡒊垢<F0A1928A>滚𦛚憭<F0A69B9A><E686AD>
Q8: 瘥𤩺活<F0A4A9BA>湔鰵<E6B994>質<EFBFBD><E8B3AA>齿鰵<E9BDBF><E9B0B5>遣Docker<65>𨅯<EFBFBD><F0A885AF>梹<EFBFBD>
A: <20>舐<EFBFBD><E88890>?
1. 靽格㺿<E6A0BC>滨垢隞<E59EA2><E99A9E>
2. npm run build嚗<64><E59A97><EFBFBD>鞉鰵<E99E89><E9B0B5>ist/嚗?
3. docker build嚗<64><E59A97><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𨅯<EFBFBD>嚗?
4. docker push嚗<68>綫<EFBFBD><E7B6AB><EFBFBD>ACR嚗?
5. SAE<41>齿鰵<E9BDBF>函蔡嚗<E894A1><E59A97><EFBFBD>𡝗鰵<F0A19D97>𨅯<EFBFBD>嚗?
餈蹱糓<E8B9B1><E7B393><EFBFBD><EFBFBD><EFBFBD>捆<EFBFBD>典<EFBFBD><E585B8>函蔡瘚<E894A1><E7989A>
Q9: Docker<65>𨅯<EFBFBD>憭芸之<E88AB8>𦒘<EFBFBD><F0A69298>痹<EFBFBD>
A: 敶枏<E695B6><E69E8F>𨅯<EFBFBD><F0A885AF>芣<EFBFBD>92MB嚗<42>歇蝏誩<E89D8F>撠譍<E692A0><E8AD8D>?
- 憭𡁻𧫴畾菜<E795BE>撱綽<E692B1><E7B6BD>芯<EFBFBD><E88AAF>躰<EFBFBD>銵峕𧒄<E5B395><F0A79284>辣嚗?
- Alpine<6E>箇<EFBFBD><E7AE87>𨅯<EFBFBD>嚗<EFBFBD><E59A97>撠𦶣inux<75>𤏸<EFBFBD><F0A48FB8><EFBFBD><EFBFBD>
- 撌脩<E6928C><E884A9>舀<EFBFBD>隡睃<E99AA1><E79D83><EFBFBD>𠶖<EFBFBD>?
*Q10: 憒<><E68692><EFBFBD>亦<EFBFBD>摰墧𧒄霈輸䔮<E8BCB8>亙<EFBFBD>嚗?
A: SAE<41>批<EFBFBD><E689B9>唳䰻<E594B3>页<EFBFBD>
<20>𣂼<EFBFBD><F0A382BC>刻祕<E588BB><E7A595><EFBFBD>爗<EFBFBD><E78897>鞉𠯫敹𨰜<E695B9>爗<EFBFBD><E78897>𣂼<EFBFBD><F0A382BC>嗆𠯫敹𨰜<E695B9>?
<20>臭誑<E887AD>见<EFBFBD>嚗?
- <20><><EFBFBD>鵎TTP霂瑟<E99C82>嚗㇎RL<52><4C>𠶖<EFBFBD><F0A0B696><EFBFBD><EFBFBD><EFBFBD><EFBFBD>摨娍𧒄<E5A88D>湛<EFBFBD>
- Nginx<6E>躰秤<E8BAB0>亙<EFBFBD>
- 摰孵膥<E5ADB5>臬𢆡<E887AC>亙<EFBFBD>
<EFBFBD>㴓 *<EFBFBD>函蔡璉<EFBFBD><EFBFBD>交<EFBFBD><EFBFBD>?
<EFBFBD><EFBFBD><EFBFBD>𠬍<EFBFBD><EFBFBD>刻<EFBFBD>銝芣<EFBFBD><EFBFBD>閧&霈日<EFBFBD>蝵脣<EFBFBD><EFBFBD>琜<EFBFBD>
<EFBFBD>函蔡<EFBFBD>滚<EFBFBD>憭?
<EFBFBD>𡢅<EFBFBD> ACR<43>𨅯<EFBFBD>撌脫綫<E884AB><E7B6AB><EFBFBD>v1.0.0嚗?
<EFBFBD>𡢅<EFBFBD> <20>𡒊垢<F0A1928A>滚𦛚撌脤<E6928C>蝵莎<E89DB5><E88E8E>瑕<EFBFBD><E79195><EFBFBD><EFBFBD><EFBFBD>啣<EFBFBD>嚗?
<EFBFBD>𡢅<EFBFBD> VPC<50>䔶漱<E494B6>X㦤撌脣<E6928C>撱?
<EFBFBD>𡢅<EFBFBD> 摰匧<E691B0>蝏<EFBFBD>歇<EFBFBD>滨蔭
SAE摨𠉛鍂<EFBFBD>滨蔭:
<EFBFBD>𡢅<EFBFBD> 摨𠉛鍂<F0A0899B>滨妍嚗餎rontend-nginx-service
<EFBFBD>𡢅<EFBFBD> 摰硺<E691B0>閫<EFBFBD>聢嚗?.5<EFBFBD>?GB
<EFBFBD>𡢅<EFBFBD> 摰硺<E691B0><E7A1BA>圈<EFBFBD>嚗?
<EFBFBD>𡢅<EFBFBD> <20>𨅯<EFBFBD><F0A885AF>啣<EFBFBD>嚗帋<E59A97><E5B88B>厩<EFBFBD>蝏𨅯<E89D8F><F0A885AF>㵪<EFBFBD>撣?vpc嚗?
<EFBFBD>𡢅<EFBFBD> <20>𨅯<EFBFBD><F0A885AF><EFBFBD>𧋦嚗鯝1.0.0
<EFBFBD>臬<EFBFBD><EFBFBD>㗛<EFBFBD><EFBFBD>滨蔭:
<EFBFBD>𡢅<EFBFBD> BACKEND_SERVICE_HOST嚗𡁜歇<F0A1819C>滨蔭嚗?72.17.x.x嚗?
<EFBFBD>𡢅<EFBFBD> BACKEND_SERVICE_PORT嚗𡁜歇<F0A1819C>滨蔭嚗?001嚗?
<EFBFBD>亙熒璉<EFBFBD><EFBFBD>仿<EFBFBD>蝵?
<EFBFBD>𡢅<EFBFBD> 璉<><E79289>亥楝敺<E6A59D><E695BA>/health
<EFBFBD>𡢅<EFBFBD> 璉<><E79289>亦垢<E4BAA6><E59EA2><EFBFBD>80
<EFBFBD>𡢅<EFBFBD> 璉<><E79289>亙<EFBFBD>霈殷<E99C88>HTTP
<EFBFBD>函蔡撉諹<EFBFBD>:
<EFBFBD>𡢅<EFBFBD> 摰硺<E691B0><E7A1BA>嗆<EFBFBD><E59786><EFBFBD><EFBFBD>亙熒
<EFBFBD>𡢅<EFBFBD> <20>亙熒璉<E78692><E79289>伐<EFBFBD><E4BC90>朞<EFBFBD>
<EFBFBD>𡢅<EFBFBD> 銝駁△霈輸䔮嚗𡁏迤撣?
<EFBFBD>𡢅<EFBFBD> SPA頝舐眏嚗𡁏迤撣賂<E692A3><E8B382>瑟鰵銝?04嚗?
<EFBFBD>𡢅<EFBFBD> API隞<49><E99A9E>嚗𡁏迤撣賂<E692A3><E8B382>蟖ORS<52>躰秤嚗?
<EFBFBD>𡢅<EFBFBD> <20>蹱<EFBFBD><E8B9B1><EFBFBD>皞琜<E79A9E>甇<EFBFBD>虜嚗<E8999C><E59A97>摮条<E691AE><E69DA1><EFBFBD><EFBFBD>
<EFBFBD>𡢅<EFBFBD> Gzip<69>讠憬嚗𡁜歇<F0A1819C>舐鍂
<EFBFBD>烐綉<EFBFBD><EFBFBD><EFBFBD>霅?
<EFBFBD>𡢅<EFBFBD> 摰墧𧒄<E5A2A7>烐綉嚗𡁜歇<F0A1819C>滨蔭
<EFBFBD>𡢅<EFBFBD> <20>亙<EFBFBD><E4BA99>亦<EFBFBD>嚗𡁜虾霈輸䔮
<EFBFBD>𡢅<EFBFBD> <20>𡃏郎閫<E9838E><E996AB>嚗𡁜歇<F0A1819C>滨蔭
<EFBFBD>券<EFBFBD>摰峕<EFBFBD>嚗屸<EFBFBD>蝵脫<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>﹝蝏𤘪<EFBFBD>
憒<EFBFBD><EFBFBD><EFBFBD>煾䔮嚗諹窈<EFBFBD>仿<EFBFBD><EFBFBD>詨<EFBFBD><EFBFBD><EFBFBD>﹝<EFBFBD>𤥁<EFBFBD>蝟餅<EFBFBD><EFBFBD>舀𣈲<EFBFBD><EFBFBD><EFBFBD>?
蟡嗪<EFBFBD>蝵脤◇<EFBFBD>抬<EFBFBD><EFBFBD><EFBFBD>