境選型、數(shù)據(jù)庫初始化到Nginx反向代理避坑)
簡介DeepSeek 部署詳細(xì)方式是一份面向中高級運(yùn)維、開發(fā)者和技術(shù)團(tuán)隊(duì)的實(shí)操型文檔幫助用戶從零開始搭建智能數(shù)據(jù)搜索與分析平臺完整覆蓋部署前的硬件選型、操作系統(tǒng)選擇、數(shù)據(jù)庫準(zhǔn)備、域名與SSL證書申請等前置工作。文檔為單個doc文件大小約35KB正文以分步說明為主從環(huán)境配置、下載安裝、數(shù)據(jù)庫連接與初始化腳本執(zhí)行到基于requirements.txt安裝Python依賴、配置Nginx/Apache/Gunicorn反向代理與SSL證書、啟動服務(wù)并訪問驗(yàn)證均有明確操作路徑同時補(bǔ)充了用戶權(quán)限管理、數(shù)據(jù)索引與搜索規(guī)則配置、并發(fā)與緩存調(diào)整、負(fù)載均衡、防火墻與安全加固、監(jiān)控和日志排錯等生產(chǎn)級優(yōu)化建議。全文邏輯緊湊適合希望按步驟部署DeepSeek并做后續(xù)維護(hù)的讀者已有1539人學(xué)習(xí)/下載可作為中文部署參考和查漏補(bǔ)缺的備查文檔。1. DeepSeek 部署鏈路不短真正卡人的是環(huán)境銜接DeepSeek 的部署難點(diǎn)從來不在安裝包本身而在數(shù)據(jù)庫、Python 環(huán)境、Web 服務(wù)之間的銜接。很多人把時間耗在“服務(wù)起不來、起來又搜不到數(shù)據(jù)”這類問題上追根溯源幾乎都出在環(huán)境配置和初始化順序上。我按一份完整的 DeepSeek 部署流程拆開講把硬件與系統(tǒng)選型、依賴安裝、數(shù)據(jù)庫初始化、反向代理配置、常見報錯排查一直講到性能驗(yàn)證全程可復(fù)現(xiàn)地寫給你。適合手上有服務(wù)器、想把 DeepSeek 作為長期搜索與分析服務(wù)跑起來的開發(fā)者也適合已經(jīng)部署過一輪、遇到玄學(xué)問題回來對照排查的人。2. 環(huán)境準(zhǔn)備與選型部署前定死「系統(tǒng)數(shù)據(jù)庫Python」組合DeepSeek 這類搜索分析平臺對環(huán)境的要求不是“能跑”而是“穩(wěn)定跑”。部署前把三件事定死——操作系統(tǒng)、數(shù)據(jù)庫、Python 版本后面所有步驟才不會有牽一發(fā)動全身的意外。這一章先把硬件底線、系統(tǒng)工具鏈和數(shù)據(jù)庫選型講清楚再給出可直接復(fù)制的命令。2.1 硬件底線與單機(jī)部署的合理配置硬件上官方給的是高性能 CPU、大內(nèi)存和 SSD。落到真機(jī)選型按單機(jī)部署數(shù)據(jù)庫和 Web 服務(wù)同機(jī)來給一個能復(fù)現(xiàn)的底線4 核 CPU、16GB 內(nèi)存、100GB SSD。為什么內(nèi)存要比普通應(yīng)用給得更足因?yàn)?DeepSeek 的搜索和分析鏈路里索引加載、查詢緩存、批量導(dǎo)入都會吃內(nèi)存8GB 以下跑小數(shù)據(jù)集還行一旦索引量漲上來swap 一出現(xiàn)接口響應(yīng)時間直接翻倍。網(wǎng)絡(luò)方面服務(wù)器要能訪問外網(wǎng)才能拉取依賴包和安裝包如果是純內(nèi)網(wǎng)部署得先把源碼和 pip 包整體搬運(yùn)進(jìn)去。帶寬按實(shí)際并發(fā)用戶數(shù)估單體查詢響應(yīng)在 200ms 左右時10Mbps 帶寬支撐 20 個左右并發(fā)訪問是夠的再往上就得擴(kuò)帶寬。磁盤有個容易忽略的點(diǎn)SSD 上最好把系統(tǒng)分區(qū)和數(shù)據(jù)分區(qū)分開DeepSeek 的索引文件大概率會被寫入項(xiàng)目目錄或數(shù)據(jù)目錄如果和系統(tǒng)日志擠在同一塊盤上索引寫放大很容易把磁盤 IO 打滿。如果數(shù)據(jù)規(guī)模到了千萬級記錄以上數(shù)據(jù)庫和應(yīng)用分兩臺機(jī)器更合理一臺跑數(shù)據(jù)庫一臺跑應(yīng)用互不搶占內(nèi)存。但剛開始不要把架構(gòu)搞復(fù)雜單機(jī)先把鏈路跑通后面規(guī)模上來再拆。我見過不少人在第一階段就上 Kubernetes結(jié)果排錯成本比部署成本還高。2.2 操作系統(tǒng)與 Python 工具鏈Ubuntu 組合踩坑最少系統(tǒng)選擇上Linux 是生產(chǎn)環(huán)境首選。Ubuntu LTS 版本和 Rocky Linux 這類社區(qū)發(fā)行版我都用過部署 DeepSeek 時 Ubuntu 的坑最少原因是它的 Python 3 和編譯工具鏈版本較新pip 安裝帶 C 擴(kuò)展的包時缺系統(tǒng)庫的概率低。Windows Server 也能裝但后續(xù)反向代理、進(jìn)程托管、證書續(xù)期都要換一套做法不建議生產(chǎn)用。裝完系統(tǒng)先補(bǔ)一輪基礎(chǔ)工具apt update apt upgrade -y apt install -y python3 python3-venv python3-dev build-essential nginx git # 如果用 PostgreSQL 還需要 libpq-dev用 MySQL 則裝 default-libmysqlclient-dev apt install -y libpq-dev default-libmysqlclient-dev這里的關(guān)鍵依賴是 python3-dev 和 build-essential。很多人在 pip 階段遇到編譯失敗報錯信息里出現(xiàn) Python.h: No such file or directory幾乎都是漏了 python3-devbuild-essential 提供 gcc 和 make編譯 psycopg2、mysqlclient 這類包時必然用到。這兩個包不在第一步裝好后面才會反復(fù)翻車所以我把它列成強(qiáng)制清單。防火墻和端口也要提前放行對外只需開放 80 和 443SSH 管理端口保持原樣數(shù)據(jù)庫端口 3306 或 5432 只允許內(nèi)網(wǎng)訪問別暴露到公網(wǎng)。這算是安全配置里性價比最高的一條。2.3 數(shù)據(jù)庫選型MySQL 與 PostgreSQL 怎么定DeepSeek 支持 MySQL 和 PostgreSQL選哪個主要看兩件事一是團(tuán)隊(duì)運(yùn)維熟悉度二是項(xiàng)目對搜索特性的依賴深度。PostgreSQL 的優(yōu)勢在全文檢索、JSON 處理和自定義索引后續(xù)做分詞和搜索規(guī)則調(diào)優(yōu)時空間更大MySQL 的優(yōu)勢是生態(tài)熟悉出問題能找到的解決方案多得多。我的習(xí)慣是數(shù)據(jù)關(guān)系簡單、團(tuán)隊(duì)熟 MySQL 就用 MySQL想更貼近生產(chǎn)級搜索分析場景直接上 PostgreSQL 15 以上版本。不管選哪個提前把數(shù)據(jù)庫服務(wù)和業(yè)務(wù)用戶建好給 DeepSeek 單獨(dú)一個庫別用 root 跑業(yè)務(wù)。以 MySQL 8.0 為例CREATE DATABASE deepseek_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER deepseeklocalhost IDENTIFIED BY your_strong_password; GRANT ALL PRIVILEGES ON deepseek_db.* TO deepseeklocalhost; FLUSH PRIVILEGES;字符集刻意選了 utf8mb4 而不是默認(rèn)的 latin1 或 utf8原因在第 5 章講中文亂碼時展開。MySQL 8.0 默認(rèn)認(rèn)證插件是 caching_sha2_password某些 Python 驅(qū)動連不上這個我也會在第 5 章單獨(dú)給解決命令。數(shù)據(jù)庫端口如果改過后面配置文件的端口一定記得同步別慣性填 3306。3. 下載源碼與依賴安裝版本謹(jǐn)慎依賴一次到位源碼到手后的頭三十分鐘基本決定初始化數(shù)據(jù)庫是否順利。這一章把下載、依賴安裝、配置文件三個動作講透每步都會說明為什么這么做。3.1 獲取安裝包版本寧可舊一個穩(wěn)定版也不要追最新DeepSeek 的安裝包從官方發(fā)布頁或代碼倉庫獲取。我一般優(yōu)先選帶版本號的 release 包而不是直接拉主干分支最新提交——release 包經(jīng)過完整發(fā)布驗(yàn)證主干分支可能藏著未合入文檔的改動。用 git clone 的話按標(biāo)簽檢出更穩(wěn)妥git clone --depth 1 --branch v1.x.x 倉庫地址 deepseek cd deepseek--depth 1 做淺克隆只拉當(dāng)前版本省流量省磁盤--branch 指定正式發(fā)布標(biāo)簽。進(jìn)入項(xiàng)目根目錄后先做一件事查看目錄結(jié)構(gòu)。常見文件有 manage.py、requirements.txt、config.example.json這決定了后面初始化腳本和配置文件怎么走。不要跳過這一步我見過有人把 config.example.json 改名成 config.json 時漏掉后綴導(dǎo)致程序啟動時找不到配置直接退出。如果下載的是壓縮包解壓后同樣先看目錄結(jié)構(gòu)并確認(rèn)當(dāng)前用戶對項(xiàng)目目錄有寫權(quán)限。我一般把項(xiàng)目放在 /opt/deepseek然后用專門用戶運(yùn)行服務(wù)避免用 root 跑 Web 進(jìn)程的后患。3.2 虛擬環(huán)境與依賴安裝換源、系統(tǒng)庫、鎖定版本Python 依賴必須裝進(jìn)虛擬環(huán)境這是避免污染系統(tǒng) Python 的底線也方便以后整體遷移。創(chuàng)建并激活python3 -m venv venv source venv/bin/activate pip install --upgrade pip pip install -r requirements.txt外網(wǎng)下載慢的話把 pip 源切到國內(nèi)鏡像源速度能快一個數(shù)量級。做法是安裝命令加 -i 參數(shù)指定鏡像地址。這里只換 pip 源別動系統(tǒng) apt 源否則后面裝系統(tǒng)包可能引入版本不匹配。requirements.txt 里的依賴數(shù)量通常不少安裝過程如果出現(xiàn)編譯錯誤不要先懷疑代碼多數(shù)是缺系統(tǒng)庫編譯 mysqlclient 報 mysql_config not found是對應(yīng) default-libmysqlclient-dev 沒裝編譯 psycopg2 報 pg_config executable not found是對應(yīng) libpq-dev 沒裝。第 2 章那兩行 apt install 就是提前堵這些坑的。依賴裝完順手執(zhí)行 pip freeze requirements.lock.txt 把版本落一份。這個 lock 文件留著下次新機(jī)器復(fù)現(xiàn)同一環(huán)境時直接 pip install -r requirements.lock.txt 就行比重新逐個踩版本沖突高效得多。3.3 配置文件改動數(shù)據(jù)庫連接不止改一個地址DeepSeek 的配置文件一般是 JSON 格式或 Python 的 settings 模塊。以 JSON 配置為例核心要改的是數(shù)據(jù)庫類型、主機(jī)、端口、庫名、用戶名、密碼以及 Web 服務(wù)監(jiān)聽地址和端口。改完的最小配置片段大致這樣{ database: { type: mysql, host: 127.0.0.1, port: 3306, name: deepseek_db, user: deepseek, password: your_strong_password }, server: { host: 127.0.0.1, port: 8000 }, secret_key: generate-a-long-random-string }幾個容易忽略的點(diǎn)host 建議先用 127.0.0.1對內(nèi)提供服務(wù)對外統(tǒng)一走 Nginx 的 80/443別把應(yīng)用直接暴露公網(wǎng)port 要和實(shí)際數(shù)據(jù)庫端口一致改過系統(tǒng)配置的不要慣性填默認(rèn)值secret_key 不要留示例值用 openssl rand -hex 32 重新生成一份。部分版本還有 log_level、cache_size 參數(shù)部署初期先用默認(rèn)值跑通后再調(diào)。改完配置后用 python3 -c import json; json.load(open(config.json)) 校驗(yàn) JSON 格式這一步能擋掉一半以上的啟動失敗問題。4. 初始化數(shù)據(jù)庫與 Web 服務(wù)空庫到瀏覽器能打開的過程數(shù)據(jù)庫建好了、依賴裝齊了、配置寫完了接下來就是初始化庫表、拉起服務(wù)、接上反向代理。這一章處理三個關(guān)鍵動作初始化腳本執(zhí)行、Gunicorn 啟動、Nginx 轉(zhuǎn)發(fā)配置。4.1 初始化數(shù)據(jù)庫先建表再確認(rèn)讀寫權(quán)限D(zhuǎn)eepSeek 的初始化腳本有幾種常見形態(tài)基于 Django 的是 manage.py migrate自研框架多半是 init_db.py也可能是一個 setup_db.sh。先看 README 或 scripts 目錄確認(rèn)用哪種。以 manage.py 形態(tài)為例source venv/bin/activate python manage.py migrate python manage.py collectstatic --noinputmigrate 會依據(jù)模型定義創(chuàng)建數(shù)據(jù)表并寫入初始數(shù)據(jù)collectstatic 把靜態(tài)文件收集到指定目錄Nginx 后面直接指過去。如果是 init_db.py 形態(tài)一般是python init_db.py --config config.json執(zhí)行成功后進(jìn)數(shù)據(jù)庫客戶端確認(rèn)表結(jié)構(gòu)真的建出來了。MySQL 執(zhí)行 SHOW TABLES; PostgreSQL 執(zhí)行 \dt看到預(yù)期數(shù)量的表通常 20 張以上才算完成。這里有個經(jīng)驗(yàn)初始化跑完不要立刻啟動服務(wù)先確認(rèn)數(shù)據(jù)庫用戶對表有讀寫權(quán)限。登錄數(shù)據(jù)庫執(zhí)行一次簡單查詢比如 SELECT COUNT(*) FROM 某張初始表如果報權(quán)限不足回第 2 章把 GRANT 重新執(zhí)行一遍。當(dāng)前用戶對數(shù)據(jù)庫的權(quán)限問題在初始化階段只會暴露成 obscure 的報錯排查起來最浪費(fèi)時間的也是它。4.2 用 Gunicorn 拉起服務(wù)進(jìn)程數(shù)不是越大越好DeepSeek 的 Web 層是 Python 寫的生產(chǎn)環(huán)境用 Gunicorn 托管最省心。核心參數(shù)是 workers 和 bindsource venv/bin/activate gunicorn -w 4 -b 127.0.0.1:8000 --timeout 120 --error-logfile gunicorn-error.log deepseek.wsgi:app參數(shù)解釋-w 4 表示 4 個 worker 進(jìn)程經(jīng)驗(yàn)公式是 2 * CPU 核數(shù) 1但搜索類服務(wù)每個 worker 都會加載索引到內(nèi)存進(jìn)程開太多內(nèi)存先爆所以我從 4 個起步壓測后再調(diào)--timeout 120 把同步 worker 的請求超時拉長搜索分析接口在冷數(shù)據(jù)場景下可能超過默認(rèn) 30 秒設(shè)太短會出現(xiàn)請求還沒算完就被殺掉的假死現(xiàn)象--error-logfile 指定錯誤日志輸出排查 502 時直接看它。Gunicorn 默認(rèn)前臺運(yùn)行關(guān)終端服務(wù)就停了。生產(chǎn)環(huán)境寫一個 systemd 服務(wù)托管日志統(tǒng)一交給 journald[Unit] DescriptionDeepSeek Application Server Afternetwork.target mysql.service [Service] Userwww-data WorkingDirectory/opt/deepseek ExecStart/opt/deepseek/venv/bin/gunicorn -w 4 -b 127.0.0.1:8000 --timeout 120 deepseek.wsgi:app Restartalways [Install] WantedBymulti-user.target三處值得注意After 里聲明依賴 mysql.service避免開機(jī)時數(shù)據(jù)庫沒起應(yīng)用先跑ExecStart 用絕對路徑指向虛擬環(huán)境里的 gunicorn避免 PATH 不一致Restartalways 讓進(jìn)程崩潰后自動拉起。寫完服務(wù)記得 systemctl daemon-reload再 systemctl enable --now deepseek 設(shè)置開機(jī)自啟。4.3 Nginx 反向代理與 HTTPS配置片段與證書簽發(fā)Gunicorn 監(jiān)聽 127.0.0.1:8000外面訪問需要 Nginx 入口。一個能用的 server 配置塊server { listen 80; server_name deepseek.example.com; location /static/ { alias /opt/deepseek/static/; } location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }location /static/ 的 alias 目錄要跟 collectstatic 收集到的靜態(tài)目錄對上少了這段首頁能打開但 CSS 全丟頁面會“裸奔”。反向代理必須設(shè)置 X-Forwarded-For 和 X-Forwarded-Proto否則應(yīng)用看到的客戶端 IP 全是 127.0.0.1日志分析和訪問控制會失真。寫完配置先 nginx -t 校驗(yàn)語法再 systemctl reload nginx 生效。提示改 Nginx 配置前先備份原文件。改完驗(yàn)證配置文件語法再重載比直接 restart 安全得多。HTTPS 證書我習(xí)慣用 certbot 簽免費(fèi)證書certbot --nginx -d your_domain.com。它會自動改配置并配續(xù)期任務(wù)。申請前把域名解析到服務(wù)器 IP且 80 端口已放行否則簽發(fā)校驗(yàn)會失敗。證書續(xù)期是長期動作檢查 certbot renew 的執(zhí)行情況別等證書過期才想起來。5. 部署避坑與常見問題排查五個翻車現(xiàn)場的對癥處理這一章全是實(shí)際操作中踩過的坑按“現(xiàn)象 → 原因 → 解決”展開。建議部署前后各對照一遍。5.1 pip 安裝依賴總是超時或失敗現(xiàn)象pip install -r requirements.txt 執(zhí)行到一半開始轉(zhuǎn)圈最后報 ReadTimeoutError 或直接失敗退出。原因有兩類一是沒換國內(nèi)鏡像源從境外源拉包在當(dāng)前網(wǎng)絡(luò)環(huán)境下速度不穩(wěn)定二是部分包體積大默認(rèn)超時太短。解決換源加長超時一并處理命令改成 pip install -r requirements.txt -i 國內(nèi)鏡像地址 --timeout 60 --retries 5。換源后多數(shù)包秒下個別包失敗就單獨(dú)重試這一個不用整份重來。裝依賴階段我基本不離開終端失敗日志留在屏幕上是最高效的定位線索。5.2 MySQL 連接報 authentication plugin 不支持現(xiàn)象應(yīng)用啟動日志出現(xiàn) Authentication plugin caching_sha2_password cannot be loaded但賬號密碼明明正確。原因MySQL 8.0 默認(rèn)認(rèn)證插件是 caching_sha2_password老版本 Python 驅(qū)動只認(rèn) mysql_native_password。解決兩種辦法。一是升級 mysqlclient 或 PyMySQL 到支持新插件的版本根治問題我更推薦這個二是存量環(huán)境沒法升驅(qū)動時把用戶認(rèn)證插件切回兼容模式ALTER USER deepseeklocalhost IDENTIFIED WITH mysql_native_password BY your_strong_password; FLUSH PRIVILEGES;注意第二條只是兼容方案新庫新環(huán)境優(yōu)先升級驅(qū)動。這個坑之所以經(jīng)典是因?yàn)閿?shù)據(jù)庫客戶端工具連得上唯獨(dú)應(yīng)用連不上肉眼看著像配置錯實(shí)際是認(rèn)證握手協(xié)議差異。5.3 瀏覽器打開域名后 502 Bad Gateway現(xiàn)象Nginx 配置完成頁面能加載但返回 502。原因Gunicorn 沒起來、起來了沒綁在 Nginx 轉(zhuǎn)發(fā)的端口上或者起來后崩了又沒自動拉起。解決先看狀態(tài)再查日志。systemctl status deepseek 確認(rèn)服務(wù)是否在跑沒跑就手動啟動看錯誤輸出。日志通常給出真實(shí)原因——端口占用、配置路徑錯誤、數(shù)據(jù)庫連不上。有一回我排查半天最后發(fā)現(xiàn)是 Nginx 配置里 proxy_pass 寫成了 localhost:8000而 Gunicorn 綁定的是 127.0.0.1:8000這兩個地址在某些系統(tǒng)上并不完全等價。把 proxy_pass 和目標(biāo) -b 完全一致是排查 502 的第一動作。5.4 服務(wù)器重啟后 DeepSeek 起不來現(xiàn)象整機(jī)重啟其他服務(wù)正常唯獨(dú) DeepSeek 無法訪問。原因systemd 服務(wù)沒設(shè)開機(jī)自啟或者應(yīng)用啟動時數(shù)據(jù)庫還沒就緒啟動順序錯了。解決先 systemctl enable deepseek 加入自啟。如果 enable 了還是失敗多半是服務(wù)文件里少了 Aftermysql.service數(shù)據(jù)庫沒起就搶跑應(yīng)用連庫失敗后反復(fù) Restart 也起不來。第 4 章服務(wù)文件里的 Aftermysql.service 就是為此準(zhǔn)備的。另外確認(rèn)數(shù)據(jù)庫服務(wù)本身也加了開機(jī)自啟。這類問題在運(yùn)維上叫依賴順序問題級別不高但很磨人處理完記得跑一遍 reboot 驗(yàn)證別把“能起”當(dāng)成“重啟后也能起”。5.5 搜索結(jié)果顯示中文亂碼現(xiàn)象部署后搜索功能正常但中文結(jié)果全部變成 ??? 或一串亂碼。原因數(shù)據(jù)庫表或連接使用的字符集不支持中文。MySQL 5.7 默認(rèn)建庫字符集可能是 latin1初始化建表時如果沒顯式指定字符集表就繼承了庫的 latin1。解決建庫時用 utf8mb4第 2 章的 CREATE DATABASE 就是干這個的。已經(jīng)建好的庫補(bǔ)救辦法ALTER DATABASE deepseek_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;改完庫表字符集還要確認(rèn)應(yīng)用連接串里帶了 charsetutf8mb4 參數(shù)否則連接層還會用默認(rèn)字符集。這條最容易忽視檢查時先看庫表再看連接配置兩層都對才能根治。6. 部署后的驗(yàn)證與組合調(diào)參先壓測再動參數(shù)服務(wù)能訪問只是開始一個撐不住搜索查詢壓力的接口等于沒部署。我習(xí)慣在正式使用前做一輪功能自測和并發(fā)壓測。先驗(yàn)證功能面用 curl 打一個真實(shí)查詢接口看重返回和耗時curl -w time_total: %{time_total}s\n -o /dev/null http://127.0.0.1:8000/api/search?qtesttime_total 超過 1 秒就要檢查索引是否到位、數(shù)據(jù)量是否超出預(yù)期。再壓并發(fā)用 ab 模擬 1000 個請求、50 個并發(fā)ab -n 1000 -c 50 http://127.0.0.1:8000/api/search?qtest重點(diǎn)關(guān)注兩個數(shù)字Failed requests 應(yīng)為 0Requests per second 結(jié)合業(yè)務(wù)判斷。壓完看 free -m如果 swap 用量上漲明顯說明 worker 數(shù)偏多或緩存上限偏低把 -w 調(diào)小再壓。優(yōu)化參數(shù)一般動四處worker 數(shù)、timeout、數(shù)據(jù)庫連接池上限、緩存大小。單機(jī) 4 核下數(shù)據(jù)庫連接池上限我控制在 64 以內(nèi)timeout 保持在 120 秒左右給慢查詢留余量但又不至于讓請求堆積。日志方面用 logrotate 輪轉(zhuǎn) Nginx 和 Gunicorn 日志防止磁盤被日志打滿。從那次壓測時內(nèi)存差點(diǎn)被打爆之后我每次部署完都會強(qiáng)制走一遍這套循環(huán)功能自測、并發(fā)壓測、看內(nèi)存、查日志四步確認(rèn)沒問題才收工。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取