設定
最後更新
本頁列出環境變數、程序管理設定與儲存目錄配置。
環境變數(app/.env)
| 變數 | 必要 | .env 值 |
說明 |
|---|---|---|---|
NODE_PORT |
是 | 8080 |
Express 監聽埠;須與 Nginx proxy_pass 的埠號一致 |
NODE_ENV |
否 | production |
development 時上傳回應的 src 使用 http://localhost:8080/c/img,否則使用 https://${DOMAIN}/c/img |
DOMAIN |
NODE_ENV 非 development 時 |
— | 組成上傳回應 src 的對外網域 |
.env 由 dotenv 載入,不覆蓋已存在的環境變數;docker-compose.yaml 設定 NODE_ENV: development,因此容器內以 compose 的值為準。正式環境請改 compose 的 environment 區塊並設定 DOMAIN。
程序管理
| 項目 | 設定 | 位置 |
|---|---|---|
| 啟動 | pm2-runtime 以 ./node_modules/.bin/ts-node -r tsconfig-paths/register 執行 app.ts |
app/app.json |
| PM2 日誌 | storage/logs/out.log、storage/logs/err.log |
app/app.json |
| Cluster | CPU 數大於 1 時,主程序 fork max(CPU 數, 4) - 1 個 worker,worker 退出時立即補位;主程序本身不監聽 |
app/app.ts |
| 單核 | CPU 數為 1 時不 fork,由同一程序監聽 | app/app.ts |
| 結束訊號 | SIGINT/SIGTERM/SIGHUP 時終止所有 worker 後結束 |
app/app.ts |
| 路徑別名 | @middlewares、@router、@src |
app/tsconfig.json |
儲存目錄
| 容器內路徑 | 主機掛載(Docker Compose) | 用途 |
|---|---|---|
storage/image/upload/ |
./image/upload/ |
原始上傳檔 |
storage/image/cache/ |
./image/cache/ |
轉檔快取檔 |
storage/image/upload/.trash/ |
./image/upload/.trash/ |
刪除項目 |
storage/logs/ |
./logs/nodejs/ |
req.log(每 3 天輪替)與 PM2 日誌 |
storage/static/ |
不掛載(隨程式碼) | 404-light.svg、404-dark.svg |
Nginx 日誌掛載於 ./logs/nginx/。
相關頁面
- Nginx 路由與快取:Nginx