專案

一般

配置概況

動作

Task #31

進行中

PID 安裝說明文件

是由 Eric Pan約 2 個月 前加入. 於 約 1 個月 前更新.

狀態:
關閉
優先權:
Low
被分派者:
開始日期:
2025-09-08
完成日期:
2025-09-08 (逾期 52 天)
完成百分比:

100%

預估工時:
OS版本:
windows
網路環境:
內網
現場IP位置:

localhost

硬體設備規格:

DELLPrecision 5820 Tower intel(R)Xeon(R)w-2233 CPU,3.6GHz, RAM:128G Windows 11專業版工作站。x64位元

是由 Eric Pan約 2 個月 前更新 · 已被編輯

Insight Web 前端靜態部署

伺服器環境需求

  • Nginx 1.18+ (用於提供靜態檔案服務)
  • Node.js 18+ (僅用於本地打包,伺服器不需要)

打包說明

本地打包步驟

  1. 進入專案目錄
    cd insight_web
    npm install
    
  2. 設定生產環境 API 地址
    cp .env.production.sample .env.production
    
    編輯 .env.production,設定正確的 API 地址:
    VITE_API_BASE_URL=https://api.yourdomain.com/api/v1
    
  3. 執行生產環境打包
    npm run build
    
  4. 打包完成後,dist/ 目錄就是要部署的靜態檔案

Nginx 配置

建立配置檔 /etc/nginx/sites-available/insight-web

server {
    listen 80;
    server_name your.domain.com;

    # 網站根目錄指向靜態檔案位置
    root /var/www/insight-web;
    index index.html;

    # Vue Router History 模式支援 (重要!)
    location / {
        try_files $uri $uri/ /index.html;
    }

    # API 反向代理
    location /api {
        proxy_pass http://localhost:8000;  # 後端服務地址
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    # 靜態資源快取
    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2)$ {
        expires 30d;
        add_header Cache-Control "public, immutable";
    }

    # Gzip 壓縮
    gzip on;
    gzip_types text/plain text/css text/xml text/javascript application/javascript application/json;
    gzip_min_length 1000;
}

HTTPS 配置 (建議使用)

server {
    listen 80;
    server_name your.domain.com;
    return 301 https://$server_name$request_uri; # 強制跳轉 HTTPS
}

server {
    listen 443 ssl http2;
    server_name your.domain.com;

    # SSL 證書
    ssl_certificate /etc/ssl/certs/your-cert.pem;
    ssl_certificate_key /etc/ssl/private/your-key.pem;

    root /var/www/insight-web;
    index index.html;

    # 其餘配置同上...
}

部署步驟

方法一:直接複製檔案

npm run build
scp -r dist/* user@server:/var/www/insight-web/
# 或使用 rsync (推薦)
rsync -avz --delete dist/ user@server:/var/www/insight-web/

方法二:在伺服器上打包

ssh user@server
cd /opt/source
git clone https://github.com/yourrepo/insight.git
cd insight/insight_web
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
npm install
npm run build
sudo cp -r dist/* /var/www/insight-web/

設定檔案權限

sudo chown -R www-data:www-data /var/www/insight-web
sudo chmod -R 755 /var/www/insight-web

啟用 Nginx 設定

sudo ln -s /etc/nginx/sites-available/insight-web /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

PID 控制功能操作說明

  1. 訪問網站 https://your.domain.com
  2. 登入系統(管理員或工程師帳號)
  3. 進入 控制 → PID 最佳化設定
  4. 設定 PID 參數:
    • 步階控制策略:
      • 無限制 = 理論最佳值
      • 保守 (2%) = 每次調整 2%
      • 平衡 (3%) = 每次調整 3%
      • 積極 (5%) = 每次調整 5%
    • PID 參數:
      • Kp (比例): 1.0
      • Ti (積分): 100
      • Td (微分): 0
      • SP (設定值): 目標值
      • u_min/u_max: 控制範圍
  5. 上傳歷史數據 (CSV 格式)
    process_variable,control_variable
    23.45,67.8
    24.12,68.2
    
    • 至少 10 筆數據
  6. 查看優化結果(曲線圖、建議參數、AI 分析建議)

常見問題

頁面重新整理出現 404

location / {
    try_files $uri $uri/ /index.html;
}

API 連接失敗

  • 檢查 .env.productionVITE_API_BASE_URL
  • 檢查 Nginx proxy 設定

靜態資源載入慢

  • 啟用 Gzip 壓縮
  • 設定快取

簡單監控

tail -f /var/log/nginx/access.log
tail -f /var/log/nginx/error.log
curl -I https://your.domain.com
curl https://your.domain.com/api/health

更新部署

npm run build
rsync -avz --delete dist/ user@server:/var/www/insight-web/
  • 用戶端可按 Ctrl+F5 強制重新整理

部署檢查清單

  • Node.js 18+ 已安裝(本地打包用)
  • Nginx 已安裝並運行
  • .env.production 已設定正確的 API 地址
  • npm run build 成功執行
  • dist 目錄已上傳到伺服器
  • Nginx 配置已設定並測試通過
  • 檔案權限已正確設定 (www-data)
  • 可以正常訪問網站首頁
  • API 請求可以正常轉發

是由 Eric Pan約 2 個月 前更新

  • 狀態需求確認 變更為 設計中

是由 Eric Pan約 2 個月 前更新

  • 完成百分比0 變更為 100

後端系統打包部署完整指南

📦 環境需求與安裝清單

系統要求

  • 作業系統: Windows 10/11 (64位元)
  • 內存: 至少 8GB RAM
  • 儲存空間: 至少 20GB 可用空間

必要軟體安裝清單

  1. Python 環境

    • Python 3.9+ (建議 3.9.x 或更高版本)
  2. 開發工具

  3. AI 模型服務

  4. 資料庫系統

  5. Python 套件

    • Cython (pip install Cython)
    • setuptools (pip install setuptools)
  6. 混淆工具

    • Obfuscator 安裝包(專案特定)
  7. 版本控制


🛠️ 詳細安裝步驟

步驟 1: Python 3.9+ 安裝

# 安裝完成後驗證
python --version
pip --version

# 升級 pip 到最新版本
python -m pip install --upgrade pip

注意事項:

  • 確認 Python 版本(x86/x64)與系統架構匹配
  • 建議使用 x64 版本以獲得更好的效能

步驟 2: Visual Studio Build Tools 2022 安裝

2.1 下載與安裝

  1. 下載 vs_buildtools.exe
  2. 以管理員身份運行安裝程式
  3. 選擇 C++ build tools 工作負載

2.2 必要組件確認

  • ✅ MSVC v143 - VS 2022 C++ x64/x86 build tools
  • ✅ Windows 11 SDK (10.0.26100.4654) 或 Windows 10 SDK

2.3 安裝驗證

檢查以下檔案是否存在:
C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvars64.bat

2.4 環境設定

  • 重新啟動命令提示符
  • 對於 x64 版本,使用 "x64 Native Tools Command Prompt for VS 2022"

步驟 3: 必要套件安裝

# 安裝 Cython
pip install Cython

# 安裝 setuptools
pip install setuptools

# 驗證安裝
python -c "import Cython; print(f'Cython 版本: {Cython.__version__}')"

步驟 4: 專案與工具準備

4.1 下載專案

# 下載預計混淆專案
git clone <混淆專案 URL>

# 下載打包工具專案
git clone <打包工具專案 URL>

4.2 專案結構設定

預計混淆專案/
├── src/
├── build/
│   ├── builder.py
│   ├── build.config.yaml
│   └── ...
└── ...

🚀 打包執行流程

步驟 1: 進入專案目錄

cd 預計混淆專案目錄

步驟 2: 執行打包命令

python build/builder.py -c build/build.config.yaml

⚠️ 常見問題與解決方案

問題 1: Cython 未安裝

錯誤訊息:

請先安裝 Cython: pip install Cython

解決方案:

pip install Cython

問題 2: 未檢測到 C++ 編譯器

錯誤訊息:

⚠️ 未檢測到 C++ 編譯器!
正式混淆編譯需要 C++ 編譯器

解決方案:

  1. 安裝 Visual Studio Build Tools 2022(參考步驟 2)
  2. 臨時解決: 使用測試模式
python build/builder.py -c build/build.config.yaml --test

問題 3: vcvars64.bat 檔案缺失

檢查檔案:

dir "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvars64.bat"

問題 4: Python 版本架構不匹配

  • 確認 Python 版本(x86 或 x64)
  • 使用對應的 VS Command Prompt

問題 5: 打包環境未正確載入

確認是否顯示以下訊息:

** Visual Studio 2022 Developer Command Prompt v17.14.13

📋 安裝驗證檢查清單

Python 環境檢查

python --version
pip --version
python -c "import Cython; print(f'Cython: {Cython.__version__}')"
python -c "import setuptools; print(f'setuptools: {setuptools.__version__}')"

Build Tools 檢查

dir "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvars64.bat"
cl

專案結構檢查

dir build\
dir build\build.config.yaml
dir build\builder.py

🔧 進階配置

自訂建構配置

編輯 build/build.config.yaml:

project: "FastAPI App"
source: "src"

效能優化建議

  1. 使用 SSD 儲存: 提升編譯速度
  2. 增加 RAM: 大型專案建議 16GB+
  3. 關閉防毒軟體: 編譯時暫時關閉即時掃描

測試模式使用

python build/builder.py -c build/build.config.yaml --test

📞 故障排除

取得詳細錯誤資訊

python build/builder.py -c build/build.config.yaml --verbose

環境重置

python -m pip cache purge
pip uninstall Cython setuptools -y
pip install Cython setuptools

聯繫支援

  • 記錄完整的錯誤訊息
  • 提供環境資訊:Python 版本、作業系統版本
  • 檢查是否遵循所有安裝步驟

📝 部署檢查清單

  • Python 3.9+ 已安裝並加入 PATH
  • Visual Studio Build Tools 2022 已安裝
  • MSVC v143 建置工具已選擇
  • Windows SDK 已安裝
  • Cython 套件已安裝
  • setuptools 套件已安裝
  • vcvars64.bat 檔案存在
  • 專案已下載並結構正確
  • build 資料夾已放置到專案中
  • 可在 x64 Native Tools Command Prompt 中執行
  • 打包命令執行成功

是由 Eric Pan約 2 個月 前更新

  • 狀態設計中 變更為 開發中

是由 Eric Pan約 2 個月 前更新

  • 狀態開發中 變更為 測試中

是由 Eric Pan約 2 個月 前更新

  • 完成日期 設定為 2025-09-08
  • 狀態測試中 變更為 預備上線

是由 Eric Pan約 1 個月 前更新

  • 狀態預備上線 變更為 已上線/驗收中

是由 Eric Pan約 1 個月 前更新

  • 狀態已上線/驗收中 變更為 關閉
動作

匯出至 Atom PDF