From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master

---
 docker/delivery/INSTALL.md |   98 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 98 insertions(+), 0 deletions(-)

diff --git a/docker/delivery/INSTALL.md b/docker/delivery/INSTALL.md
new file mode 100644
index 0000000..79e6f5b
--- /dev/null
+++ b/docker/delivery/INSTALL.md
@@ -0,0 +1,98 @@
+# JNPF 鏁存爤绂荤嚎浜や粯鍖� 鐜板満瀹夎鎵嬪唽
+
+> 鏈寘 = 鍏ㄦ爤锛堜笟鍔℃湇鍔� + 鍓嶇椤甸潰 cx-web + Redis/PostgreSQL/娴佺▼寮曟搸锛夌殑
+> **linux/amd64 绂荤嚎闀滃儚** + 缂栨帓鏂囦欢 + 杩佺Щ宸ュ叿銆傜幇鍦�**涓嶉渶瑕佸缃戙�佷笉闇�瑕佹簮鐮併�佷笉鏋勫缓浠讳綍闀滃儚**銆�
+> 娣卞叆璧勬枡鍦ㄥ寘鍐� `docs/`锛歚release-checklist.md`锛堜笂绾垮鐓� 搂0锛�**蹇呴』閫愰」杩�**锛夈��
+> `docker-compose-guide.md`锛堢紪鎺掑叏鏅級銆乣server-pg-cutover-checklist.md`锛圡ySQL鈫扨G 鍓叉帴鏃跺簭锛夈��
+
+## 1. 鍓嶇疆鏉′欢
+
+| 椤� | 瑕佹眰 | 楠岃瘉 |
+|---|---|---|
+| 鏋舵瀯 | x86_64 Linux | `uname -m` 鈫� `x86_64` |
+| Docker | Docker Engine + compose 鎻掍欢 v2 | `docker compose version` |
+| 鍐呭瓨 | **鈮�12GB 鍙敤**锛�17 瀹瑰櫒鍏ㄦ爤锛涗笉瓒充細 OOM 杩為攣锛歅G crash 寰幆 + gRPC 瓒呮椂椋庢毚锛� | `free -g` |
+| 纾佺洏 | 鈮�30GB锛堥暅鍍忚В鍘� + PG 鏁版嵁 + 澶囦唤锛� | `df -h` |
+| 宸ュ叿 | GNU make锛堝彲閫夛紝鏃犲垯鎸夋湰鏂囩敤瑁稿懡浠わ級銆乧url銆乸ython3锛堚墺3.6锛孌LQ/spool 閲嶆斁棰勬鑴氭湰 `tasks/audit-event-validate.sh` 渚濊禆锛夛紱鍐掔儫鍙﹂渶 openssl + md5sum | `command -v make curl python3 openssl md5sum` |
+| 涓绘満鍚� | `/etc/hosts` 鍔犱竴琛� `127.0.0.1 cx-infra`锛圓piDomain 鍙屾秷璐规柟瑙f瀽绾﹀畾锛� | `getent hosts cx-infra` |
+| 绔彛 | 瀹夸富 **80**锛堝墠绔〉闈㈠叆鍙o級涓� **30000**锛圓PI/ApiDomain 鐩磋繛鍙o級鏃犲崰鐢紱5432/6379 绛�**涓嶅澶栧彂甯�** | `ss -ltn` |
+
+## 2. 瀹夎姝ラ锛堟寜搴忔墽琛岋級
+
+```bash
+# 鈶� 瑙e寘骞舵牎楠屽畬鏁存��
+tar xf cx-offline-*.tar && cd cx-offline-*/
+make verify                        # = sha256sum -c SHA256SUMS
+
+# 鈶� 瀵煎叆闀滃儚锛堝惈杩佺Щ杈呭姪闀滃儚锛�
+make load                          # = docker load -i images/*.tar.gz
+
+# 鈶� 閰嶇疆鍑嵁 鈥斺�� 鍏ㄩ儴銆愬瘑鐮�/瀵嗛挜銆戞敼鐜板満涓撶敤鍊硷紱
+#    銆愮敤鎴峰悕/瑙掕壊鍚嶃�戜繚鎸侀粯璁や笉鏀癸紙jnpf_app 绛夊凡纭紪鐮佽繘寤鸿鑹� SQL 涓庨厤缃ā鏉匡級
+cp .env.example .env && vi .env    # 姣忎釜閿殑鐢熸垚鏂规硶瑙佹枃浠跺唴娉ㄩ噴涓� docs/release-checklist.md 搂0.7
+#    Nacos 瀹㈡埛绔处鍙凤紙NACOS_CLIENT_*锛夐粯璁ゆ敞閲�=鍥炶惤 nacos/nacos锛屼氦浠樺繀椤诲惎鐢ㄥ苟杞崲锛埪�0.7/搂0.11锛�
+#    鈿狅笍 COMPOSE_PROFILES=localdb 蹇呴』淇濈暀锛�.env.example 榛樿宸插甫锛夛細鏍堝唴 PG 鏀跺湪璇� profile 鍐咃紝
+#       涓嶈鍒� cx-postgres 鏍规湰涓嶅惎鍔ㄣ�佸叏鏍堟棤搴撳彲杩炪��**鍗囩骇鏃㈡湁鐜板満鏃跺挨鍏舵敞鎰�**鈥斺�旀部鐢ㄦ棫 .env
+#       鐨勮瘽杩欎釜閿笉瀛樺湪锛岄』鎵嬪伐琛ヤ笂锛坢ake up 鍓嶇殑 preflight 浼氭嫤涓嬪苟缁欏悓鏍锋彁绀猴級銆�
+#       浠呭綋鏈幆澧冩敼杩炶繙绔叡浜簱锛圕USTOMER_DB_HOST 闈� cx-postgres锛夋椂鎵嶆敞閲婃帀瀹冦��
+
+# 鈶� 鏁版嵁鍗凤紙澶嶇敤鏃у嵎鍓嶅厛纭鍗峰唴鏁版嵁褰掑睘锛汸G 瓒呯瀵嗙爜鍙湪鍏ㄦ柊鍗� initdb 鏃剁敓鏁堬紝瑙� 搂0.11锛�
+docker volume create postgres_pgdata
+# 锛堝師 mq-store 鍗峰垱寤轰笌 chown 姝ラ宸查殢 RocketMQ 浜� 2026-08-10 绉婚櫎锛岃琛ヤ竵 #10锛�
+
+# 鈶� 鏁版嵁鍒濆鍖栵紙浜岄�変竴锛�
+#    a. 鍏ㄦ柊鐜锛氳捣 PG 鈫� 寤� schema 鈫� 寤轰笟鍔¤鑹�
+docker compose up -d cx-postgres
+#    姝ゆ椂瀹瑰櫒 unhealthy 灞為鏈燂紙鍋ュ悍妫�鏌ユ帰娴嬩笟鍔″簱锛屽簱鐢� install.sh 鍒涘缓锛夛紱
+#    鏃ュ織鍒� "FATAL: database ... does not exist" 鏄帰娴嬪櫔闊筹紝install 鎴愬姛鍚庡嵆鍋溿�侀殢鍚庤浆 healthy
+( cd migration && ./install.sh && ./create-app-roles.sh )
+#    b. MySQL 鍓叉帴锛氭寜 docs/archive/server-pg-cutover-checklist.md 鍏ㄦ椂搴忔墽琛岋紙鍚仠鏈虹獥鍙h縼鏁版嵁锛�
+
+# 鈶� Nacos 閰嶇疆涓績鍐呭灏变綅锛屽苟鎶婃暟鎹潰鍒囨垚鏈嶅姟鍚嶇洿杩烇紙涓嶅垏蹇呯偢鈥斺�斿熀绾夸笉鍙戝竷鏁版嵁绔彛锛夛細
+#    datasource.yaml 鈫� cx-postgres:5432 / cx-redis锛涳紙mq.yaml 宸插仠鐢紝浜嬩欢鎬荤嚎璧� Redis锛夛紱
+#    FlowDomain 鈫� http://cx-flow-engine:31000锛汚piDomain 鈫� 鏈嶅姟鍣ㄥ疄闄呭湴鍧�
+#    閫愰」瀵圭収 docs/release-checklist.md 搂0.9/搂0.10
+#    锛圢acos 鍗曠嫭宸插湪 鈶� 璧锋潵锛氭祻瑙堝櫒 127.0.0.1:30099/nacos 鎴栫粡 API 鎿嶄綔锛�
+
+# 鈶� 璧峰叏鏍堝苟楠岃瘉
+make up                            # 鑷姩鍏堣窇 preflight锛堟牎楠� 鈶�-鈶� 鎴愭灉锛�.env/鍗�/鍥涘簱/绉嶅瓙/瑙掕壊锛�
+                                   #   缂洪」缁欎慨澶嶆寚寮曪紱鍗曠嫭璺� make preflight锛岃烦杩� SKIP_PREFLIGHT=1锛�
+make wait                          # 绛夊叏閮� healthy锛堝喎鍚姩 5-8 鍒嗛挓锛�
+make smoke                         # 涓夋鍐掔儫锛歡ateway 鐧诲綍 + 鍓嶇闈欐�� + 缁� 80 鍙嶄唬鐧诲綍锛坅dmin 绉嶅瓙瀵嗙爜锛�
+
+# 鈶� 娴忚鍣ㄩ獙璇侊細http://<鏈嶅姟鍣�>/ 搴斿嚭鐧诲綍椤碉紱鐧诲綍鍚庝换鎰忓唴椤靛埛鏂颁笉 404锛�
+#    娑堟伅閾冮摏姝e父锛圵ebSocket 缁� 80 鐨� /websocket/ 鍙嶄唬锛�
+```
+
+## 3. 涓婄嚎鏀捐闂ㄧ
+
+鍐掔儫閫氳繃鍚庯紝**閫愰」杩� `docs/release-checklist.md` 搂0锛�0.1鈥�0.15锛�**锛歅G max_connections銆�
+鍑嵁杞崲涓庝竴鑷存�у鐓ц〃銆佺鍙f毚闇查潰澶嶆煡锛坄ss -ltn` 搴斿彧瑙� 80銆�30000 涓� 127.0.0.1:30099锛夈��
+FrontDomain 鎸囩幇鍦哄墠绔湴鍧�锛埪�0.14锛夈�侊紙搂0.15锛宍make preflight` 浼�
+闈為樆鏂彁绀猴級銆佸浠� cron锛坄migration/backup.sh`锛屽惈 nacos_config锛涘涓绘枃浠跺瓨鍌ㄧ洰褰曞彟琛屾枃浠剁骇澶囦唤锛夈��
+
+## 4. 鏃ュ父杩愮淮閫熸煡
+
+| 鐩殑 | 鍛戒护 |
+|---|---|
+| 鐘舵�� / 鏃ュ織 | `make ps` / `make logs s=cx-lims` |
+| 閲嶅惎 / 鍋滄 | `make restart` / `make down`锛坧gdata 澶栭儴鍗锋案涓嶅垹闄わ級 |
+| 杩� PG | `docker exec -it cx-postgres psql -U postgres -d jnpf_init` |
+| 澶囦唤 | `BACKUP_DIR=/data/pg-backup ./migration/backup.sh`锛堥厤 cron 瑙� migration/README锛� |
+| 闀滃儚婧簮 | `images/manifest.txt`锛坉igest/ID/鏋勫缓 commit锛� |
+
+## 5. 甯歌闂
+
+- **涓氬姟瀹瑰櫒 3-5 鍒嗛挓鎵� healthy**锛歨ealthcheck start_period=180s锛屽喎鍚姩灞炴甯革紝鍒�ョ潃鍒ゆ晠闅溿��
+- **鍏ㄦ爤璧蜂笉鏉� + PG 鏃ュ織 `all server processes terminated`**锛氬唴瀛樹笉瓒筹紙鍓嶇疆 鈮�12GB 纭姹傦級銆�
+- **鐧诲綍/鍙栭厤缃� 403 鎴� unknown user**锛歚.env` 鐨� NACOS_CLIENT_* 涓� Nacos 鐢ㄦ埛搴撳瘑鐮佷笉涓�鑷达紙搂0.11锛夈��
+- **涓氬姟鎶� `password authentication failed`**锛歚.env` 涓� Nacos `datasource.yaml`/瑙掕壊瀹為檯瀵嗙爜涓嶅悓姝モ�斺��
+  鎸� 搂0.11 閾佸緥椤哄簭锛氬畾绋� .env 鈫� 璺� create-app-roles.sh 鈫� 鍚屾 datasource.yaml 鈫� 閲嶅惎娑堣垂鏂广��
+- **鏂囦欢涓婁紶鎴愬姛浣嗛瑙� 502**锛歂acos `system-config.yaml` 鐨� `config.ApiDomain` 鏈寚鐜板満鍦板潃锛屾敼鍚庨噸鍚� cx-file銆�
+- **椤甸潰鎵撲笉寮�鎴栨帴鍙� 502**锛歚docker compose logs cx-web` 鐪� nginx 鎶ラ敊鈥斺�攗pstream 杩炰笉涓婂鍗婃槸
+  gateway 杩樺湪鍐峰惎鍔紙`make wait` 绛� healthy锛夛紱椤甸潰鏍峰紡/鎺ュ彛鍦板潃寮傚父鍏堟煡 `_app.config.js`
+  鏄惁琚敼鍔紙榛樿涓夊湴鍧�鍏ㄧ┖=鍚屾簮锛屽嬁涔卞~锛夈�傚弽浠h鍒欏湪 `docker/frontend/nginx.conf`锛堟寕杞芥枃浠讹紝
+  鏀瑰畬 `docker compose restart cx-web` 鍗崇敓鏁堬紝鏃犻渶闀滃儚锛夈��
+- **鍚敤 HTTPS锛堜笁姝ワ紝闆舵瀯寤猴級**锛氣憼 璇佷功鏀� `docker/frontend/certs/{server.crt,server.key}`
+  鈶� `docker-compose.yml` 閲� cx-web 瑙e紑 `"443:443"` 涓� certs 鎸傝浇涓よ娉ㄩ噴
+  鈶� `docker/frontend/nginx.conf` 瑙e紑鏂囨湯 443 server 鍧楁敞閲婏紝`docker compose up -d cx-web`銆�

--
Gitblit v1.8.0