2
0
mirror of https://github.com/acepanel/acepanel.github.io.git synced 2026-02-04 09:13:09 +08:00
Files
acepanel.github.io/zh_TW/advanced/project.md
github-actions[bot] 5b9a08c9a1 New Crowdin translations by GitHub Action (#76)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-01-27 05:28:16 +08:00

5.5 KiB
Raw Blame History

專案

專案模組用於管理後端應用程式,支援 Go、Java、Node.js、PHP、Python 等多種語言。 專案會作為系統服務運行,支援自動重啟、開機自啟等功能。

專案類型

類型 說明 適用場景
Go Go 語言專案 Gin、Echo、Fiber 等框架
Java Java 專案 Spring Boot、Tomcat 等
Node.js Node.js 專案 Express、Koa、NestJS 等
PHP PHP 專案 Laravel Octane、Swoole 等
Python Python 專案 Django、Flask、FastAPI 等
通用 其他類型專案 任意可執行程式

專案列表

專案 vs 網站

特性 專案 網站
運行方式 獨立進程 依賴 Web 伺服器
進程管理 專案自動重啟 由 Web 伺服器管理
適用場景 後端服務、API 傳統 Web 應用
對外存取 反向代理配置 直接存取

建立專案

  1. 進入 專案 頁面
  2. 點擊 建立專案

建立專案

配置項

  • 專案名:專案標識,用作服務名稱
  • 專案目錄:專案檔案所在目錄
  • 運行使用者:運行專案的系統使用者,預設 www
  • 啟動命令:啟動專案的命令
  • 建立專案時開啟「反向代理」,會自動建立一個反向代理網站。

專案管理

專案列表顯示以下資訊:

  • 名稱:專案名稱
  • 描述:專案描述
  • 類型專案類型Go/Java/Node.js 等)
  • 狀態:運行狀態
  • 自啟動:是否開機自啟
  • 目錄:專案目錄
  • 操作:啟動、停止、重啟、日誌等

專案操作

  • 啟動:啟動專案
  • 停止:停止專案
  • 重啟:重啟專案
  • 檢視專案日誌
  • 編輯:修改專案配置
  • 刪除:刪除專案

編輯專案

點擊專案列表中的 編輯 按鈕,可以修改專案配置。 編輯對話框包含多個標籤頁:

基本設置

配置專案的基本資訊:

基本設置

  • 專案名:專案標識,用作服務名稱
  • 描述:專案描述資訊
  • 專案目錄:專案檔案所在目錄
  • 工作目錄:程式運行時的工作目錄,預設為專案目錄
  • 運行使用者:運行專案的系統使用者

運行設置

配置專案的運行參數:

運行設置

  • 啟動命令:啟動專案的命令
  • 預啟動命令
  • 啟動後命令:啟動後運行的命令(可選)
  • 停止命令:自定義停止命令(可選)
  • 重載命令:自定義重載命令(可選)
  • 重啟策略:失敗時重啟 / 總是重啟 / 不重啟
  • 重啟間隔:兩次重啟之間的等待時間
  • 最大重啟次數:防止無限重啟
  • 在專案啟動前執行,如安裝依賴:
  • lsof -i:3000 # 檢視佔用連接埠的進程
  • 標準輸出:標準輸出的處理方式
  • 標準錯誤:標準錯誤的處理方式
  • 環境變數:設置專案運行時的環境變數

依賴

配置服務依賴關係以控制啟動順序:

依賴

  • Requires:強依賴,如果這些服務不可用,專案將會失敗
  • Wants:弱依賴,如果這些服務失敗,專案仍然會啟動
  • After:在指定服務之後啟動此專案
  • Before:在指定服務之前啟動此專案

常見服務:network.targetmysqld.servicepostgresql.serviceredis.service

資源限制

設置資源限制以防止服務消耗過多系統資源:

資源限制

  • 記憶體限制限制專案使用的最大記憶體0 表示無限制
  • CPU 配額:限制 CPU 使用率100% = 1 個 CPU 核心

安全設置

增強服務隔離的安全選項:

安全設置

  • 沒有新權限:防止進程獲取新的權限
  • 保護 /tmp:為服務建立私有的 /tmp 目錄
  • 保護 /home:限制對 /home 目錄的存取
  • 保護系統:設置系統目錄的唯讀保護級別
    • true/usr、/boot 為唯讀
    • full+ /etc 為唯讀
    • strict:整個檔案系統為唯讀
  • 讀寫路徑:服務可以讀寫的路徑
  • 唯讀路徑:服務只能讀取的路徑

:::warning 注意 安全設置可能會影響某些功能, 請在啟用之前進行充分測試。 :::

進程管理

專案使用 systemd 進行進程管理,具有以下特性:

  • 專案啟動失敗
  • 開機自啟:系統啟動時自動啟動專案
  • 日誌管理:自動記錄標準輸出和錯誤輸出

下一步