Files
AIclinicalresearch/docs/05-部署文档/07-前端Nginx-SAE部署操作手册.md
HaHafeng 1b53ab9d52 feat(aia): Complete AIA V2.0 with universal streaming capabilities
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%)
2026-01-14 19:15:01 +08:00

1385 lines
31 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# <20>滨垢 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>?
---
## <20><> <20><EFBFBD>
1. [<5B>滨蔭<E6BBA8>∩辣璉<E8BEA3><E79289>包(#1-<2D>滨蔭<E6BBA8>∩辣璉<E8BEA3><E79289>?
2. [<EFBFBD>𨅯<EFBFBD>靽⊥<EFBFBD>蝖株恕](#2-<2D>𨅯<EFBFBD>靽⊥<E99DBD>蝖株恕)
3. [<EFBFBD>𥕦遣SAE摨𠉛鍂](#3-<2D>𥕦遣sae摨𠉛鍂)
4. [<EFBFBD>滨蔭<EFBFBD><EFBFBD><EFBFBD><EFBFBD>](#4-<2D>滨蔭<E6BBA8><EFBFBD><E887AC><EFBFBD>)
5. [<5B>滨蔭<E6BBA8>亙熒璉<E78692><E79289>包(#5-<2D>滨蔭<E6BBA8>亙熒璉<E78692><E79289>?
6. [<EFBFBD>滨蔭<EFBFBD><EFBFBD>霈輸䔮](#6-<2D>滨蔭<E6BBA8><EFBFBD>霈輸䔮)
7. [<EFBFBD>函蔡摨𠉛鍂](#7-<2D>函蔡摨𠉛鍂)
8. [撉諹<EFBFBD><EFBFBD>函蔡](#8-撉諹<E69289><E8ABB9>函蔡)
9. [撣貉<EFBFBD><EFBFBD><EFBFBD><EFBFBD>埝䰻](#9-撣貉<E692A3><E8B289><EFBFBD><E6A185>埝䰻)
10. [<EFBFBD>亙虜餈鞟輕](#10-<2D>亙虜餈鞟輕)
---
## 1. <20>滨蔭<E6BBA8>∩辣璉<E8BEA3><E79289>?
### <20>?**<2A>函蔡<E587BD><EFBFBD>憿餃<E686BF><E9A483><EFBFBD><E99E9F><EFBFBD><EFBFBD>**
| 璉<><E79289>仿★ | <20><EFBFBD>?| 霂湔<E99C82> |
|--------|------|------|
| **ACR<43>𨅯<EFBFBD>撌脫綫<E884AB>?* | <20>𡢅<EFBFBD> | <20>𨅯<EFBFBD><F0A885AF><EFBFBD>嚗䫤crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ai-clinical_frontend-nginx:v1.0.0` |
| **<2A>𡒊垢<F0A1928A>滚𦛚撌脤<E6928C>蝵?* | 漎?| <20><><EFBFBD><EFBFBD><EFBFBD>蝡狽PC<50><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD>聢撘𧶏<E69298>`172.17.x.x:3001`嚗?|
| **VPC蝵𤑳<E89DB5>撌脣<E6928C>撱?* | <20>𡢅<EFBFBD> | VPC ID: `vpc-2ze055cptkew9c38w4r06` |
| **鈭斗揢<E69697>箏歇<E7AE8F>𥕦遣** | <20>𡢅<EFBFBD> | 鈭斗揢<E69697>?ID: `vsw-2zevacop039bxrmj6yc0c` (<28>舐鍂<E88890>慚) |
| **摰匧<E691B0><EFBFBD><EFBFBD>𥕦遣** | <20>𡢅<EFBFBD> | 摰匧<E691B0>蝏?ID: `sg-2zedk6fi8sgmmcwdu7tu` |
### <20><> **敹<><E695B9><EFBFBD><EFBFBD><EFBFBD>蝵桐縑<E6A190>?*
<EFBFBD><EFBFBD><EFBFBD>隞乩<EFBFBD>靽⊥<EFBFBD><EFBFBD><EFBFBD>函蔡餈<EFBFBD><EFBFBD>銝剝<EFBFBD><EFBFBD><EFBFBD>嚗?
```yaml
# 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><E59094><EFBFBD>嚗?72.17.x.x嚗?
<EFBFBD>𡒊垢蝡臬藁: 3001
```
---
## 2. <20>𨅯<EFBFBD>靽⊥<E99DBD>蝖株恕
### <20>𣑐 **ACR <20>𨅯<EFBFBD>霂行<E99C82>**
```yaml
<EFBFBD>滚𦛚蝐餃<EFBFBD>: 銝芯犖<E88AAF><E78A96><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
```
### <20><> **撉諹<E69289><E8ABB9>𨅯<EFBFBD>摮睃銁**
<EFBFBD><EFBFBD>ACR<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>https://cr.console.aliyun.com/
1. 餈𥕦<E9A488><F0A595A6>𣂷葵鈭箇<E988AD><E7AE87><EFBFBD><E78897><EFBFBD><E99EBE><EFBFBD>摨瓐<E691A8>?
2. <20><EFBFBD> `ai-clinical_frontend-nginx`
3. 蝖株恕摮睃銁 `v1.0.0` <20><>
---
## 3. <20>𥕦遣SAE摨𠉛鍂
### <20><> **<2A><EFBFBD>SAE<41><EFBFBD><E689B9>?*
霈輸䔮嚗冴ttps://sae.console.aliyun.com/
<EFBFBD>㗇𥋘<EFBFBD><EFBFBD>嚗?*<2A>𤾸<EFBFBD>2嚗<32><E59A97>鈭穿<E988AD>**
### <20><> **<2A>𥕦遣<F0A595A6><EFBFBD><E595A3>?*
<EFBFBD>孵稬<EFBFBD>𣂼<EFBFBD>撱箏<EFBFBD><EFBFBD><EFBFBD>𡢅<EFBFBD><EFBFBD>劐誑銝𧢲郊撉文<EFBFBD><EFBFBD>
#### **甇仿炊1嚗𡁜<E59A97><F0A1819C>典抅<E585B8>砌縑<E7A08C>?*
```yaml
摨𠉛鍂<EFBFBD>滨妍: frontend-nginx-service
摨𠉛鍂<EFBFBD>讛膩: AI銝游<E98A9D><E6B8B8>𠉛弦撟喳蝱 - <20>滨垢<E6BBA8><EFBFBD><E8B9B1><EFBFBD>皞鞉<E79A9E><E99E89><EFBFBD>React SPA + Nginx嚗?
<EFBFBD><EFBFBD>蝛粹𡢿: 暺䁅恕<E48185><EFBFBD>蝛粹𡢿嚗<F0A1A2BF><E59A97>銝𤾸<E98A9D>蝡臬<E89DA1><EFBFBD><E98A9D><EFBFBD>蝛粹𡢿嚗?
```
#### **甇仿炊2嚗𡁜<E59A97><F0A1819C><EFBFBD>蝵脫䲮撘?*
```yaml
<EFBFBD>函蔡<EFBFBD><EFBFBD>: <20>𨅯<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>霂剛<EFBFBD>: 銝漤<E98A9D>
```
#### **甇仿炊3嚗𡁜<E59A97><F0A1819C><EFBFBD>靘贝<E99D98><E8B49D>?*
```yaml
摰硺<EFBFBD><EFBFBD>聢: 0.5<EFBFBD>?1GB
霂湔<E99C82>嚗?
- <20>滨垢Nginx<6E>删鍂韏<E98D82><E99F8F><EFBFBD><EFBFBD><EFBFBD>
- 0.5<EFBFBD>?GB摰<42><E691B0>憭毺鍂
- 撖寞<E69296>嚗𡁜<E59A97>蝡舫<E89DA1>閬?<3F>?GB嚗釶ython<6F><6E>閬?<3F>?GB
摰硺<EFBFBD><EFBFBD><EFBFBD>: 2
霂湔<E99C82>嚗?
- <20><>撠?銝芸<E98A9D>靘衤<E99D98><EFBFBD><E99C82><EFBFBD>舐鍂
- 1銝芸<E98A9D>靘𧢲<E99D98><F0A7A2B2>𨀣𧒄嚗<F0A79284>𡖂1銝芰誧蝏剜<E89D8F><E5899C>?
- <20>滨垢敺<E59EA2><E695BA><EFBFBD><EFBFBD><EFBFBD><E996AC>摰?
```
**銝箔<E98A9D><EFBFBD><E98A8B>蝡臬蘨<E887AC><E898A8>閬?.5<EFBFBD>?GB嚗?*
| <20>滚𦛚蝐餃<E89D90> | <20><EFBFBD><EFBFBD>聢 | <20><EFBFBD> |
|---------|---------|------|
| Node.js <20>𡒊垢 | 2<>?GB | 憭<><E686AD>AI撖寡<E69296><E5AFA1><EFBFBD><EFBFBD><EFBFBD><E6A180>亥砭<E4BAA5><E7A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
| Python 敺格<E695BA><E6A0BC>?| 2<>?GB | PDF<44>𣂼<EFBFBD><F0A382BC>浚PU撖<55><E69296><EFBFBD>𧢲<EFBFBD>雿?|
| **Nginx <20>滨垢** | **0.5<EFBFBD>?GB** | **隞<><E99A9E>靘偦<E99D98><E581A6><EFBFBD><EFBFBD>隞塚<E99A9E><EFBFBD><E798A8><EFBFBD>撠?* |
#### **甇仿炊4嚗间PC蝵𤑳<E89DB5><F0A491B3>滨蔭**
```yaml
VPC: vpc-2ze055cptkew9c38w4r06 (172.17.0.0/16)
鈭斗揢<EFBFBD>? vsw-2zevacop039bxrmj6yc0c
<20>舐鍂<E88890>? <20>𤾸<EFBFBD>2<EFBFBD>舐鍂<E88890>
蝵烐挾: 172.17.0.0/24
摰匧<EFBFBD>蝏? sg-2zedk6fi8sgmmcwdu7tu
<20>𩤃<EFBFBD> <20><EFBFBD>嚗𡁜<E59A97>憿颱<E686BF><E9A2B1>𡒊垢<F0A1928A>滚𦛚<E6BB9A><EFBFBD><EFBFBD>VPC嚗<43><EFBFBD><EFBFBD>瘜閖<E7989C>帋縑
```
#### **甇仿炊5嚗𡁻<E59A97><F0A181BB><EFBFBD>蝵?*
```yaml
<EFBFBD>𨅯<EFBFBD>蝐餃<EFBFBD>: 摰孵膥<E5ADB5>𨅯<EFBFBD><F0A885AF>滚𦛚銝芯犖<E88AAF>?
<EFBFBD>𨅯<EFBFBD><EFBFBD><EFBFBD>: crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ai-clinical_frontend-nginx:v1.0.0
<20>𩤃<EFBFBD> 瘜冽<E7989C>鈭钅★嚗?
- 雿輻鍂銝𤘪<E98A9D>蝵𤑳<E89DB5><F0A491B3><EFBFBD><EFBFBD>蒂-vpc<70>𡒊<EFBFBD>嚗㚁<E59A97>銝滢蝙<E6BBA2><EFBFBD>蝵穃<E89DB5><E7A983>?
- 摰峕㟲颲枏<E9A2B2><E69E8F>𨅯<EFBFBD><F0A885AF><EFBFBD><EFBFBD><E59A97><EFBFBD>砍𦶢<E7A08D>滨征<E6BBA8><EFBFBD><E6B8B8><EFBFBD>倌嚗?
- 銝滩<E98A9D><E6BBA9><EFBFBD><E59F88><EFBFBD>𧋦<EFBFBD>?:v1.0.0
<EFBFBD>𨅯<EFBFBD><EFBFBD><EFBFBD>𧋦: v1.0.0
<EFBFBD>𨅯<EFBFBD><EFBFBD><EFBFBD>蝑𣇉裦: <20>餅糓<E9A485><EFBFBD><E58CA7>𨅯<EFBFBD>嚗㇁lways嚗?
霂湔<E99C82>嚗?
- 瘥𤩺活<F0A4A9BA>函蔡<E587BD><EFBFBD><E8B3A3>𡝗<EFBFBD><F0A19D97><EFBFBD><E59C88>?
- 蝖桐<E89D96>雿輻鍂<E8BCBB><E98D82><EFBFBD>唬誨<E594AC>?
- <20><EFBFBD>雿輻鍂蝻枏<E89DBB><E69E8F><EFBFBD><EFBFBD>𨅯<EFBFBD>
```
#### **甇仿炊6嚗𡁜<E59A97><F0A1819C>典捆<E585B8><EFBFBD>蝵?*
```yaml
摰孵膥蝡臬藁: 80
霂湔<E99C82>嚗?
- Nginx暺䁅恕<E48185>穃𨯬80蝡臬藁
- 銝𥟠ockerfile銝剔<E98A9D>EXPOSE 80銝<30><E98A9D>?
<EFBFBD>讛悅: TCP
<EFBFBD>臬𢆡<EFBFBD>賭誘:
- 銝滚<E280B5><EFBFBD>求ockerfile銝剔<E98A9D>ENTRYPOINT嚗?
撌乩<EFBFBD><EFBFBD><EFBFBD>:
- 銝滚<E280B5><EFBFBD>求ockerfile銝剔<E98A9D>WORKDIR嚗?
```
---
## 4. <20>滨蔭<E6BBA8><EFBFBD><E887AC><EFBFBD>
### <20>𩤃<EFBFBD> **<2A><><EFBFBD><EFBFBD><EFBFBD>嚗𡁜<E59A97>蝡舀<E89DA1><E88880>𧑐<E288AA><F0A79190><EFBFBD>滨蔭**
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>滨蔭<EFBFBD>躰秤<EFBFBD><EFBFBD>撣貉<EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝵脣仃韐亙<EFBFBD><EFBFBD>𩤃<EFBFBD>
### <20><> **<2A><EFBFBD><E79195>𡒊垢<F0A1928A><E59EA2><EFBFBD><EFBFBD><EFBFBD>**
**<2A><EFBFBD>蝵桀<E89DB5>蝡臭<E89DA1><E887AD><EFBFBD><EFBFBD><EFBFBD><E29786><EFBFBD><EFBFBD>蝡舐<E89DA1>VPC<50><43><EFBFBD><EFBFBD><EFBFBD>嚗?*
1. <20><EFBFBD> SAE <20><EFBFBD><E689B9>?
2. 餈𥕦<E9A488>摨𠉛鍂<F0A0899B>𡑒”
3. <20><EFBFBD> `nodejs-backend-service`嚗<><E59A97><EFBFBD><EFBFBD><EFBFBD>蝡臬<E89DA1><E887AC><EFBFBD>蝘堆<E89D98>
4. <20>孵稬餈𥕦<E9A488>摨𠉛鍂霂行<E99C82>
5. <20><EFBFBD><E4BAA6>𣂼<EFBFBD><F0A382BC>刻挪<E588BB><EFBFBD>蝵柴<E89DB5><EFBFBD><E78897>𨧞PC<50><43><EFBFBD>霈輸䔮<E8BCB8><EFBFBD><E595A3>?
蝷箔<EFBFBD><EFBFBD><EFBFBD>嚗?
```
172.17.0.15:3001
```
<EFBFBD>P<EFBFBD><EFBFBD><EFBFBD>𣬚垢<EFBFBD><EFBFBD><EFBFBD><EFBFBD>怨扇敶蓥<EFBFBD><EFBFBD><EFBFBD>?
### <20>圲 **<2A>滨蔭<E6BBA8><EFBFBD><E887AC><EFBFBD>**
<EFBFBD>沒AE摨𠉛鍂<EFBFBD>滨蔭憿菟𢒰嚗峕𪄳<EFBFBD><EFBFBD>鞟㴓憓<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝵桅★嚗?
```yaml
# 敹<><E695B9><EFBFBD>滨蔭嚗<E894AD><E59A97>憛恬<E6869B>
BACKEND_SERVICE_HOST: 172.17.0.15
霂湔<E99C82>嚗?
- 餈蹱糓<E8B9B1>𡒊垢<F0A1928A>滚𦛚<E6BB9A><F0A69B9A>PC<50><43><EFBFBD>IP<49><EFBFBD><EFBFBD><E59A97>銝𠹺<E98A9D>甇亥繮<E4BAA5><EFBFBD>
- 銝滩<E98A9D><E6BBA9>㗖ttp://<2F><EFBFBD>
- 銝滩<E98A9D><E6BBA9><EFBFBD>鉄蝡臬藁<E887AC>?
- 憒<><E68692>銝漤<E98A9D>蝵殷<E89DB5>摰孵膥<E5ADB5>臬𢆡隡𡁜仃韐亙僎<E4BA99>仿<EFBFBD>
# <20><EFBFBD><EFBFBD>蝵殷<E89DB5><E6AEB7><EFBFBD>霈文<E99C88><EFBFBD>
BACKEND_SERVICE_PORT: 3001
霂湔<E99C82>嚗?
- <20>𡒊垢<F0A1928A>滚𦛚<E6BB9A><F0A69B9A><EFBFBD><E59EA2>
- 暺䁅恕<E48185>潭糓3001
- 憒<><E68692>雿删<E99BBF><E588A0>𡒊垢雿輻鍂<E8BCBB><EFBFBD>蝡臬藁嚗屸<E59A97><EFBFBD><EFBFBD>?
```
### <20>?**撣貉<E692A3><E8B289>躰秤**
| <20>躰秤<E8BAB0>滨蔭 | 甇<><EFBFBD>滨蔭 | 霂湔<E99C82> |
|---------|---------|------|
| `http://172.17.0.15` | `172.17.0.15` | 銝滩<E98A9D><E6BBA9><EFBFBD>霈桀<E99C88><EFBFBD> |
| `172.17.0.15:3001` | `172.17.0.15` | 銝滩<E98A9D><E6BBA9><EFBFBD>鉄蝡臬藁嚗<E89781><EFBFBD><E59EA2><EFBFBD><EFBFBD><EFBFBD>蝵殷<E89DB5> |
| `backend-service` | `172.17.0.15` | 敹<>◆雿輻鍂IP嚗䔶<E59A97><EFBFBD>鍂銝餅㦤<E9A485>?|
| `localhost` | `172.17.0.15` | 銝滩<E98A9D><E6BBA9>甸ocalhost |
| 銝漤<E98A9D>蝵?| `172.17.0.15` | 敹<><EFBFBD>滨蔭嚗<E894AD><EFBFBD>坔鍳<E59D94>典仃韐?|
### <20>?**<2A>滨蔭撉諹<E69289>**
<EFBFBD>滨蔭摰峕<EFBFBD><EFBFBD>𠬍<EFBFBD><EFBFBD>孵稬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𡢅<EFBFBD>蝖桐<EFBFBD>嚗?
- <20>?<3F><EFBFBD><E3979B>滨妍<E6BBA8><EFBFBD><EFBFBD><EFBC86><EFBFBD><E8BAB9>之撠誩<E692A0>嚗?
- <20>?<3F><EFBFBD><E3979B>潭聢撘𤩺迤蝖殷<E89D96>蝥涅P<E6B685><EFBFBD>嚗?
- <20>?瘝⊥<E7989D>憭帋<E686AD><E5B88B><EFBFBD><EFBFBD>?
---
## 5. <20>滨蔭<E6BBA8>亙熒璉<E78692><E79289>?
### <20>蘂 **<2A>亙熒璉<E78692><E79289>仿<EFBFBD>蝵?*
```yaml
<EFBFBD><EFBFBD>交䲮撘? HTTP 霂瑟<E99C82>
<EFBFBD><EFBFBD>亥楝敺? /health
霂湔<E99C82>嚗?
- Nginx<6E>滨蔭銝凋<E98A9D><E5878B><EFBFBD>靘𤤿<E99D98><F0A4A4BF>亙熒璉<E78692><E79289>亦垢<E4BAA6>?
- 餈𥪜<E9A488>蝥舀<E89DA5><E88880>?"healthy"
- 銝滢<E98A9D>韏硋<E99F8F>蝡舀<E89DA1><E88880>?
<EFBFBD><EFBFBD>亦垢<EFBFBD>? 80
霂湔<E99C82>嚗帋<E59A97>摰孵膥蝡臬藁銝<E89781><E98A9D>?
<EFBFBD><EFBFBD><EFBFBD>霈? HTTP
霂湔<E99C82>嚗帋<E59A97><E5B88B>浹TTPS
<EFBFBD>𧒄<EFBFBD>園𡢿: 3蝘?
霂湔<E99C82>嚗𡁻<E59A97><F0A181BB><EFBFBD><EFBFBD><EFBFBD>3蝘坿雲憭?
<EFBFBD><EFBFBD>仿𡢿<EFBFBD>? 10蝘?
霂湔<E99C82>嚗𡁏<E59A97>10蝘埝<E89D98><E59F9D><EFBFBD>甈?
銝滚<EFBFBD>摨琿<EFBFBD><EFBFBD>? 3甈?
霂湔<E99C82>嚗朞<E59A97>蝏剖仃韐?甈<E79488><E288AA><EFBFBD>扇銝箔<E98A9D><E7AE94>亙熒
<EFBFBD>亙熒<EFBFBD><EFBFBD><EFBFBD>? 2甈?
霂湔<E99C82>嚗朞<E59A97>蝏剜<E89D8F><E5899C>?甈<E79488><E288AA><EFBFBD>扇銝箏<E98A9D>摨?
<EFBFBD><EFBFBD>撱嗉<EFBFBD>: 30蝘?
霂湔<E99C82>嚗?
- Nginx<6E>臬𢆡敺<F0A286A1>翰嚗?-10蝘𡜐<E89D98>
- 30蝘坿雲憭罸<E686AD><E7BDB8>𤩺<EFBFBD><F0A4A9BA><EFBFBD>摰孵膥<E5ADB5>臬𢆡
```
### <20><> **<2A>亙熒璉<E78692><E79289><EFBFBD><E4BA99>?*
```
SAE<EFBFBD>亙熒璉<EFBFBD><EFBFBD>亙膥
<20>?(瘥?0蝘?
curl http://摰孵膥IP:80/health
<20>?
Nginx憭<EFBFBD><EFBFBD> /health 霂瑟<E99C82>
<20>?
餈𥪜<EFBFBD>: HTTP 200 + "healthy"
<20>?
SAE<EFBFBD><EFBFBD>扇摰硺<EFBFBD>銝箏<EFBFBD>摨?<3F>?
```
**憒<><E68692><EFBFBD>亙熒璉<E78692><E79289>亙仃韐伐<E99F90>SAE隡𡄯<E99AA1>**
1. <20><>扇摰硺<E691B0>銝箔<E98A9D><E7AE94>亙熒
2. <20>𨀣迫<F0A880A3>𤏸砲摰硺<E691B0>頧砍<E9A0A7><EFBFBD><E7989A>
3. 餈䂿賒憭梯揖3甈<E79488>嚗屸<E59A97><E5B1B8>臬捆<E887AC>?
---
## 6. <20>滨蔭<E6BBA8><EFBFBD>霈輸䔮
### <20><> **霈輸䔮<E8BCB8><EFBFBD><E5ADB5>㗇𥋘**
#### **<2A><EFBFBD>A嚗帋蝙<E5B88B>沒AE<41>𣂷<EFBFBD><F0A382B7><EFBFBD><EFBFBD>蝵穃𧑐<E7A983><F0A79190><EFBFBD><EFBFBD>鞟鍂鈭擧<E988AD>霂𤏪<E99C82>**
```yaml
<EFBFBD>滨蔭<EFBFBD><EFBFBD>:
1. <20><EFBFBD><E585B8><EFBFBD>蝵桅△<E6A185>𪄳<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>:
<20><EFBFBD>: frontend-nginx-service-xxxxx.cn-beijing.sae.aliyuncs.com
<20>讛悅: HTTPS嚗𠄎AE<41>芸𢆡<E88AB8>滨蔭霂<E894AD>髡嚗?
隡条<EFBFBD>:
- <20>?<3F>滩晶
- <20>?<3F>芸𢆡HTTPS
- <20>?蝡见朖<E8A781>舐鍂
蝻箇<EFBFBD>:
- <20>?<3F><EFBFBD><E7AC94>曇扇
- <20>?<3F><EFBFBD><E4ADBE><EFBFBD>銋匧<E98A8B><E58CA7>?
- <20>?霂<><EFBFBD>特AE<41><45><EFBFBD>銝齿糓雿删<E99BBF><E588A0><EFBFBD>
```
#### **<2A><EFBFBD>B嚗𡁶<E59A97>摰朞䌊摰帋<E691B0><E5B88B><EFBFBD><EFBFBD><EFBFBD>鞟鍂鈭𡒊<E988AD>鈭改<E988AD>**
```yaml
<EFBFBD>滨蔭<EFBFBD>∩辣:
- 撌脫<E6928C><E884AB>芸楛<E88AB8><E6A59B><EFBFBD><EFBFBD><EFBFBD>憒?app.yizheng.ai嚗?
- <20><EFBFBD>撌脣<E6928C><EFBFBD><E78DA2><EFBFBD><E68692><EFBFBD>滚𦛚<E6BB9A>典銁銝剖𤙴憭折<E686AD>嚗?
- <20>农SL霂<4C>髡嚗<E9ABA1>虾隞乩蝙<E4B9A9><EFBFBD>韐寧<E99F90>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>?
<20>𣂼<EFBFBD><F0A382BC>刻挪<E588BB><EFBFBD>蝵柴<E89DB5><EFBFBD><E78897>鞱䌊摰帋<E691B0><E5B88B><EFBFBD><E7AC94><EFBFBD><E78897>鞉溶<E99E89><EFBFBD><E683A9><EFBFBD>?
3. 銝𠹺<E98A9D>SSL霂<4C>
<20>𣂼<EFBFBD><F0A382BC>刻挪<E588BB><EFBFBD>蝵柴<E89DB5><EFBFBD><E78897>躭TTPS霈曄蔭<E69B84><EFBFBD><E78897>𣂷<EFBFBD>隡㰘<E99AA1>銋艾<E98A8B>?
4. <20>舐鍂撘箏<E69298>HTTPS
<><E69298><EFBFBD>𣂼撩<F0A382BC>象TTPS頝唾蓮<E594BE>?
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>桀𧑐<EFBFBD><EFBFBD>:
https://app.yizheng.ai
隡条<EFBFBD>:
- <20>?<3F><><EFBFBD><EFBFBD><EFBFBD>
- <20>?<3F><EFBFBD>靽∩遙摨阡<E691A8>
- <20>?SEO<45>见末
蝻箇<EFBFBD>:
- <20>𩤃<EFBFBD> <20><><EFBFBD><E996AC><EFBFBD><EFBFBD><EFBFBD>
- <20>𩤃<EFBFBD> <20><><EFBFBD>CP憭<50><E686AD><EFBFBD><E59A97><EFBFBD>𨅯銁銝剖𤙴嚗?
```
### <20><> **HTTPS<50>滨蔭嚗<E894AD><E59A97>鈭抒㴓憓<E3B493><E68693>憿鳴<E686BF>**
<EFBFBD><EFBFBD>雿輻鍂<EFBFBD><EFBFBD>B嚗<EFBFBD>䌊摰帋<EFBFBD><EFBFBD><EFBFBD>嚗㚁<EFBFBD>撘箇<EFBFBD>撱箄悅<EFBFBD>滨蔭HTTPS嚗?
```yaml
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>㗇𥋘:
<20><EFBFBD>1: 雿輻鍂<E8BCBB>滩晶<E6BBA9><E699B6>et's Encrypt霂<74>
- <20><EFBFBD>鈭騌SL霂<4C><EFBFBD>滚𦛚<E6BB9A>臭誑<E887AD>唾窈<E594BE>滩晶霂<E699B6>
- <20><EFBFBD><E39787>?銝芣<E98A9D>嚗屸<E59A97><EFBFBD><E996AC><EFBFBD><EFBFBD><EFBFBD>?
<20><EFBFBD>2: 韐凋僭<E5878B><E583AD><EFBFBD><EFBFBD>
- <20><EFBFBD><E39787>?撟?
- <20><><EFBFBD>靽∩遙摨行凒擃?
- <20><EFBFBD><E88880><EFBFBD><E6B8B8><EFBFBD>?
<EFBFBD><EFBFBD>滨蔭:
1. <20><><EFBFBD><EFBFBD><EFBFBD><E9ABA1>
- 霂<><EFBFBD><E9ABA1>辣嚗飱omain.crt <20>?domain.pem
- 蝘<>𤨎<EFBFBD><F0A4A88E>辣嚗飱omain.key
2. <20>沒AE銝𠹺<E98A9D><EFBFBD>
<20>𣂼<EFBFBD><F0A382BC>刻挪<E588BB><EFBFBD>蝵柴<E89DB5><EFBFBD><E78897>躭TTPS霈曄蔭<E69B84><EFBFBD><E78897>𣂷<EFBFBD>隡㰘<E99AA1>銋艾<E98A8B>?
3. <20>舐鍂撘箏<E69298>HTTPS
<><E69298><EFBFBD>躭TTP<54>芸𢆡頝唾蓮HTTPS<50>?
```
---
## 7. <20>函蔡摨𠉛鍂
### <20><> **<2A><EFBFBD><E689AF>函蔡**
蝖株恕<EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝵格<EFBFBD>霂臬<EFBFBD>嚗?
1. <20>𧼮<EFBFBD>摨𠉛鍂<F0A0899B>滨蔭憿菟𢒰憿園<E686BF>
2. <20>孵稬<E5ADB5><EFBFBD>蝵脯<E89DB5><EFBFBD><E78390>?
3. 蝖株恕<E6A0AA>函蔡靽⊥<E99DBD>
4. <20>孵稬<E5ADB5>摰𠾼<E691B0>?
### <20><EFBFBD> **<2A>函蔡餈<E894A1><E9A488><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>?
```
### <20><> **<2A>函蔡<E587BD><EFBFBD><E59786><EFBFBD><EFBFBD>?*
<EFBFBD>函蔡餈<EFBFBD><EFBFBD>銝剖虾隞亙<EFBFBD><EFBFBD>嗆䰻<EFBFBD><EFBFBD>
```yaml
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
<20>𣂼<EFBFBD><F0A382BC>刻祕<E588BB><E7A595><EFBFBD><EFBFBD><E78897>𣂼<EFBFBD>靘见<E99D98>銵具<E98AB5><EFBFBD><E78897>鞉䰻<E99E89><EFBFBD>靘讠𠶖<E8AEA0><F0A0B696><EFBFBD>?
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
- <20>𥕦遣銝? 甇<><EFBFBD><EFBFBD><E58CA7>𨅯<EFBFBD>
- <20>臬𢆡銝? 甇<><EFBFBD>臬𢆡摰孵膥
- 餈鞱<E9A488>銝? 摰孵膥撌脣鍳<E884A3><EFBFBD>蝑匧<E89D91><E58CA7>亙熒璉<E78692><E79289>?
- <20>亙熒: <20>亙熒璉<E78692><E79289>仿<EFBFBD><EFBFBD><EFBFBD>虾隞交𦻖<E4BAA4><EFBFBD><E59786>?<3F>?
- 銝滚<E98A9D>摨? <20>亙熒璉<E78692><E79289>亙仃韐?<3F>?
- <20>𨀣迫: 摰硺<E691B0>撌脣<E6928C>甇?
```
### <20>?**<2A>函蔡憭梯揖撣貉<E692A3><E8B289><EFBFBD>**
| 憭梯揖<E6A2AF>嗆挾 | <20>躰秤靽⊥<E99DBD> | 閫<><E996AB><EFBFBD><EFBFBD> |
|---------|---------|---------|
| <20>𨅯<EFBFBD><F0A885AF><EFBFBD> | `image not found` | 璉<><E79289>仿<EFBFBD><E4BBBF>誩𧑐<E8AAA9><F0A79190><EFBFBD>臬炏甇<E7828F>嚗𣬚霈支蝙<E694AF>?vpc<70><EFBFBD> |
| <20>𨅯<EFBFBD><F0A885AF><EFBFBD> | `unauthorized` | 璉<><E79289>丕CR霈輸䔮<E8BCB8><E494AE><EFBFBD>嚗𣬚霈又AE<41><EFBFBD><E39787>𡝗<EFBFBD><F0A19D97>?|
| 摰孵膥<E5ADB5>臬𢆡 | `BACKEND_SERVICE_HOST required` | 璉<><E79289>亦㴓憓<E3B493><E68693><EFBFBD>𤩺糓<F0A4A9BA><EFBFBD>蝵?|
| <20>亙熒璉<E78692><E79289>?| `connection refused` | 璉<><E79289>亙捆<E4BA99>函垢<E587BD><E59EA2><EFBFBD>蝵殷<E89DB5>摨磰砲<E7A3B0>?0嚗?|
| <20>亙熒璉<E78692><E79289>?| `404 not found` | 璉<><E79289><EFBFBD>摨瑟<E691A8><E7919F>亥楝敺<E6A59D><E695BA>摨磰砲<E7A3B0>?health嚗?|
---
## 8. 撉諹<E69289><E8ABB9>函蔡
### <20>?**撉諹<E69289><EFBFBD><E79A9C>**
<EFBFBD>函蔡<EFBFBD>𣂼<EFBFBD><EFBFBD>𠬍<EFBFBD><EFBFBD>劐誑銝𧢲郊撉日<EFBFBD><EFBFBD><EFBFBD>
#### **甇仿炊1嚗𡁏䰻<F0A1818F><EFBFBD>靘讠𠶖<E8AEA0>?*
```bash
雿滨蔭: <20>𣂼<EFBFBD><F0A382BC>刻祕<E588BB><E7A595><EFBFBD><EFBFBD><E78897>𣂼<EFBFBD>靘见<E99D98>銵具<E98AB5>?
<EFBFBD><EFBFBD>仿★:
<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嚗𡁏䰻<F0A1818F>见鍳<E8A781>冽𠯫敹?*
```bash
雿滨蔭: <20>𣂼<EFBFBD><F0A382BC>刻祕<E588BB><E7A595><EFBFBD><EFBFBD><E78897>鞉𠯫敹𨰜<E695B9><EFBFBD><E78897>𣂼<EFBFBD><F0A382BC>嗆𠯫敹𨰜<E695B9>?
摨磰砲<EFBFBD><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
<EFBFBD>?憒<><E68692><EFBFBD><EFBFBD>隞乩<E99A9E><E4B9A9><EFBFBD>嚗諹秩<E8ABB9>𡡞<EFBFBD>蝵格迤蝖?
<EFBFBD>?憒<><E68692><EFBFBD><EFBFBD> "BACKEND_SERVICE_HOST required"嚗諹秩<E8ABB9>𡒊㴓憓<E3B493><E68693><EFBFBD>𤩺𧊋<F0A4A9BA>滨蔭
```
#### **甇仿炊3嚗𡁏<E59A97>霂訫<E99C82>摨瑟<E691A8><E7919F>亦垢<E4BAA6>?*
```bash
# <20><EFBFBD><E79195><EFBFBD>霈輸䔮<E8BCB8><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><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
<EFBFBD><EFBFBD>餈𥪜<EFBFBD>:
Status: 200 OK
Content: healthy
<EFBFBD>?憒<><E68692>餈𥪜<E9A488> "healthy"嚗諹秩<E8ABB9>𤾸<EFBFBD>蝡舀<E89DA1><E88880>⊥迤撣?
```
#### **甇仿炊4嚗𡁏<E59A97>霂蓥蜓憿菔挪<E88F94>?*
```bash
# 霈輸䔮銝駁△
霈輸䔮: https://frontend-nginx-service-xxxxx.cn-beijing.sae.aliyuncs.com/
<EFBFBD><EFBFBD>仿★:
<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嚗𡁏<E59A97>霂笌PA頝舐眏**
```bash
# 霈輸䔮銝<E494AE>銝芯<E98A9D>摮睃銁<E79D83><E98A81>楝敺<E6A59D><E695BA>瘚贝<E7989A>React Router嚗?
霈輸䔮: https://frontend-nginx-service-xxxxx.cn-beijing.sae.aliyuncs.com/dashboard
<EFBFBD><EFBFBD>銵䔶蛹:
<20>?銝齿𥁒404<30>躰秤
<20>?餈𥪜<E9A488>index.html
<20>?React Router<65>亦恣頝舐眏
<20>?<3F>曄內撖孵<E69296><E5ADB5><EFBFBD><EFBFBD><EFBFBD>隞?
<EFBFBD>?憒<><E68692><EFBFBD><EFBFBD>Nginx 404憿菟𢒰嚗諹秩<E8ABB9>篺ginx.conf<6E>滨蔭<E6BBA8>厰䔮憸?
```
#### **甇仿炊6嚗𡁏<E59A97>霂𧭈PI隞<49><E99A9E><EFBFBD><E59A97><EFBFBD><EFBFBD>**
```bash
# <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))
<EFBFBD><EFBFBD>蝏𤘪<EFBFBD>:
<20>?霂瑟<E99C82><E7919F>𣂼<EFBFBD>嚗𠄎tatus 200嚗?
<20>?餈𥪜<E9A488><F0A5AA9C>𡒊垢<F0A1928A><E59EA2><EFBFBD>摨娍㺭<E5A88D>?
<20>?瘝⊥<E7989D>CORS<52>躰秤
<EFBFBD>?憒<><E68692><EFBFBD><EFBFBD>CORS<52>躰秤嚗諹秩<E8ABB9>𤾸<EFBFBD><F0A4BEB8>睲誨<E79DB2><E8AAA8><EFBFBD>蝵格<E89DB5><E6A0BC><EFBFBD>
<EFBFBD>?憒<><E68692><EFBFBD><EFBFBD>餈墧𦻖憭梯揖嚗諹秩<E8ABB9>𤾸<EFBFBD>蝡臬𧑐<E887AC><F0A79190><EFBFBD>滨蔭<E6BBA8>躰秤
```
#### **甇仿炊7嚗𡁏<E59A97>霂閖<E99C82><E99696><EFBFBD><EFBFBD>皞鞟<E79A9E>摮?*
```bash
# <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>摮矋<E691AE>
```
#### **甇仿炊8嚗𡁏<E59A97>霂柖zip<69>讠憬**
```bash
# <20><EFBFBD><EFBFBD>膥撘<E886A5><E69298>𤏸<EFBFBD><F0A48FB8><EFBFBD>?<3F>?Network<72><6B>
# <20>孵稬隞餅<E99A9E>JS<4A><53>
<EFBFBD><EFBFBD>充esponse Headers:
<20>?Content-Encoding: gzip
<20>?<3F><>辣憭批<E686AD><E689B9><EFBFBD>60-70%
蝷箔<EFBFBD>:
<20><EFBFBD>憭批<E686AD>: 1.2 MB
隡㰘<E99AA1>憭批<E686AD>: 350 KB (gzip<69>讠憬<E8AEA0>?
```
### <20><> **<2A>函蔡<E587BD>𣂼<EFBFBD><F0A382BC><EFBFBD><EFBFBD>**
<EFBFBD><EFBFBD>隞乩<EFBFBD>8銝芣郊撉文<EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗峕<EFBFBD><EFBFBD><EFBFBD><EFBFBD>滨垢<EFBFBD>滚𦛚<EFBFBD>函蔡<EFBFBD>𣂼<EFBFBD>嚗?
---
## 9. 撣貉<E692A3><E8B289><EFBFBD><E6A185>埝䰻
### <20>?**<2A><EFBFBD>1嚗𡁜<E59A97>靘见<E99D98>摨瑟<E691A8><E7919F>亙仃韐?*
**<2A><>𠶖嚗?*
```
摰硺<EFBFBD><EFBFBD><EFBFBD><EFBFBD>遬蝷?銝滚<E98A9D>摨?
<EFBFBD>亙熒璉<EFBFBD><EFBFBD>亙仃韐?
```
**<2A>埝䰻甇仿炊嚗?*
```bash
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
```
**閫<><E996AB><EFBFBD><EFBFBD>嚗?*
- <20>滨蔭蝻箏仃<E7AE8F><E4BB83>㴓憓<E3B493><E68693><EFBFBD>?
- 靽格迤<E6A0BC>亙熒璉<E78692><E79289>亥楝敺?
- 璉<><E79289>亙捆<E4BA99>函垢<E587BD><E59EA2><EFBFBD>蝵?
---
### <20>?**<2A><EFBFBD>2嚗𡁻△<F0A181BB><EFBFBD>霈輸䔮嚗䔶<E59A97>API霂瑟<E99C82>憭梯揖**
**<2A><>𠶖嚗?*
```
<EFBFBD>滨垢憿菟𢒰甇<EFBFBD><EFBFBD>曄內
<EFBFBD>鍂API<EFBFBD>嗆𥁒<EFBFBD>? Network Error <20>?504 Gateway Timeout
```
**<2A>埝䰻甇仿炊嚗?*
```bash
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>𡒊垢銝滚虾颲?
```
**閫<><E996AB><EFBFBD><EFBFBD>嚗?*
- 靽格迤<E6A0BC><EFBFBD><E887AC><EFBFBD>BACKEND_SERVICE_HOST
- 蝖桐<E89D96><E6A190><EFBFBD>蝡臬銁<E887AC><EFBFBD>VPC
- 璉<><E79289><EFBFBD><E4BA99><EFBFBD><EFBFBD><E996AB><EFBFBD><EFBFBD>捂VPC<50><43><EFBFBD>霈輸䔮
- <20>滚鍳<E6BB9A>滨垢摨𠉛鍂雿輸<E99BBF>蝵桃<E89DB5><E6A183>?
---
### <20>?**<2A><EFBFBD>3嚗𡁜<E59A97><F0A1819C>圈△<E59C88>𥁒404**
**<2A><>𠶖嚗?*
```
霈輸䔮銝駁△甇<EFBFBD>
<EFBFBD>孵稬<EFBFBD>暹𦻖頝唾蓮甇<EFBFBD>
<EFBFBD>瑟鰵憿菟𢒰嚗㇅5嚗争<EFBFBD> 404 Not Found
```
**<2A><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>?
**<2A>埝䰻甇仿炊嚗?*
```bash
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;
```
**閫<><E996AB><EFBFBD><EFBFBD>嚗?*
<EFBFBD><EFBFBD>nginx.conf銝剜瓷<E5899C>头try_files`<EFBFBD>滨蔭嚗屸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>撱粹<EFBFBD><EFBFBD>𧶏<EFBFBD>
```nginx
# <20>盯ginx.conf銝剔靽脲<E99DBD>隞乩<E99A9E><E4B9A9>滨蔭
location / {
try_files $uri $uri/ /index.html;
}
```
---
### <20>?**<2A><EFBFBD>4嚗𡁻<E59A97><F0A181BB><EFBFBD><EFBFBD>皞?04**
**<EFBFBD><EFBFBD>𠶖嚗?*
```
HTML<EFBFBD><EFBFBD>頧?
JS/CSS<53><53>辣404 Not Found
憿菟𢒰<EFBFBD>曄內銝箇滲<EFBFBD><EFBFBD>𧋦嚗<EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗?
```
**<EFBFBD>埝䰻甇仿炊嚗?*
```bash
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>閬?
})
```
**閫<><E996AB><EFBFBD><EFBFBD>嚗?*
1. 靽格㺿 `vite.config.ts`嚗𣬚&靽?`base: '/'`
2. <20>齿鰵<E9BDBF><E9B0B5><EFBFBD>滨垢嚗䫤npm run build`
3. <20>齿鰵<E9BDBF><E9B0B5>遣Docker<65>𨅯<EFBFBD>
4. <20><EFBFBD><E588B8><EFBFBD>ACR
5. SAE<41>齿鰵<E9BDBF>函蔡
---
### <20>?**<2A><EFBFBD>5嚗𡁶㴓憓<E3B493><E68693><EFBFBD>𤩺𧊋<F0A4A9BA><F0A78A8B><EFBFBD>**
**<EFBFBD><EFBFBD>𠶖嚗?*
```
<EFBFBD>滨蔭鈭<EFBFBD>㴓憓<EFBFBD><EFBFBD><EFBFBD>?
<EFBFBD><EFBFBD>典鍳<EFBFBD>冽𠯫敹埈遬蝷箏<EFBFBD><EFBFBD>譍蛹蝛?
```
**<EFBFBD>埝䰻甇仿炊嚗?*
```bash
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
```
**閫<><E996AB><EFBFBD><EFBFBD>嚗?*
1. <20>沒AE<41><EFBFBD><E689B9><EFBFBD><E59C88><EFBFBD>蝵桃㴓憓<E3B493><E68693><EFBFBD>?
2. 蝖桐<E89D96><E6A190><EFBFBD><E3979B>齿𣄽<E9BDBF>蹱迤蝖殷<E89D96><E6AEB7><EFBFBD>憭批<E686AD><E689B9><EFBFBD>
3. <20>滚鍳摨𠉛鍂雿輸<E99BBF>蝵桃<E89DB5><E6A183>?
---
## 10. <20>亙虜餈鞟輕
### <20><> **<2A>烐綉<E78390><E7B689><EFBFBD>**
#### **摰墧𧒄<E5A2A7>烐綉**
```yaml
<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%
```
#### **<2A><EFBFBD><E4BA99><EFBFBD>**
```yaml
摰墧𧒄<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憭?
```
---
### <20><> **<2A><>𧋦<EFBFBD>湔鰵瘚<E9B0B5><E7989A>**
敶枏<EFBFBD>蝡臭誨<EFBFBD><EFBFBD><EFBFBD><EFBFBD>湔鰵<EFBFBD><EFBFBD><EFBFBD>劐誑銝𧢲<EFBFBD>蝔钅<EFBFBD>蝵脫鰵<EFBFBD><EFBFBD>𧋦嚗?
#### **甇仿炊1嚗𡁏𧋦<F0A1818F><EFBFBD>撱箸鰵<E7AEB8><E9B0B5>𧋦**
```bash
# <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嚗𡁏綫<F0A1818F><E7B6AB><EFBFBD>ACR**
```bash
# <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<41>啣漲<E595A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>**
```yaml
<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嚗𡁜<E59A97><F0A1819C><EFBFBD>撣?*
<EFBFBD><EFBFBD>銝滢蝙<EFBFBD><EFBFBD>摨血<EFBFBD><EFBFBD><EFBFBD><EFBFBD>湔𦻖<EFBFBD><EFBFBD><EFBFBD>湔鰵嚗?
```yaml
<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>
```
---
### <20><> **<2A><EFBFBD><E5A2A7><EFBFBD>**
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>砍枂<EFBFBD>圈䔮憸矋<EFBFBD><EFBFBD>臭誑敹恍<EFBFBD><EFBFBD>皛𡄯<EFBFBD>
```yaml
<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>
```
---
### <20><>儭?**皜<><E79A9C><EFBFBD><EFBFBD><E68A92><EFBFBD><E7A587>?*
摰𡁏<EFBFBD><EFBFBD><EFBFBD>ACR銝剔<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𧶏<EFBFBD><EFBFBD><EFBFBD><EFBFBD>摮睃<EFBFBD>蝛粹𡢿嚗?
```yaml
<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>皛?
```
---
### <20><> **撘寞<E69298>找撓蝻拚<E89DBB>蝵?*
<EFBFBD>滨垢Nginx<EFBFBD>滚𦛚<EFBFBD>𡁜虜銝漤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝻拙捆嚗䔶<EFBFBD><EFBFBD>臭誑<EFBFBD>滨蔭<EFBFBD>芸𢆡隡貊憬嚗?
```yaml
<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>𢆡<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>摰?
```
---
### <20>辶 **<2A>𡃏郎<F0A1838F>滨蔭**
<EFBFBD>滨蔭<EFBFBD>喲睸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𡃏郎嚗<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>圈䔮憸矋<EFBFBD>
```yaml
<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>
```
---
## <20><> <20><><EFBFBD>
### <20><> **<2A>滨蔭<E6BBA8><E894AD>辣皜<E8BEA3><E79A9C>**
<EFBFBD>函蔡餈<EFBFBD><EFBFBD>銝剜<EFBFBD><EFBFBD><EFBFBD><EFBFBD>滨蔭<EFBFBD><EFBFBD>辣嚗?
```yaml
<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>滨蔭
```
---
### <20><> **<2A><EFBFBD><E8A9A8><EFBFBD><EFBFBD>暹𦻖**
```yaml
<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
```
---
### <20>働 **<2A><>雿喳<E99BBF>頝菜<E9A09D><EFBFBD>**
```yaml
摰匧<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>湔鰵
```
---
### <20>?**撣貉<E692A3><E8B289><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>
```
---
## <20>㴓 **<2A>函蔡璉<E894A1><E79289><EFBFBD><E4BAA4>?*
<EFBFBD><EFBFBD><EFBFBD>𠬍<EFBFBD><EFBFBD><EFBFBD>銝芣<EFBFBD><EFBFBD>霈日<EFBFBD>蝵脣<EFBFBD><EFBFBD><EFBFBD>
```yaml
<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>㦤撌脣<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>