mirror of
https://github.com/acepanel/acepanel.github.io.git
synced 2026-02-04 07:57:17 +08:00
New Crowdin translations by GitHub Action (#76)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
This commit is contained in:
committed by
GitHub
parent
526cd8363b
commit
5b9a08c9a1
@@ -71,7 +71,7 @@ function nav(): DefaultTheme.NavItem[] {
|
|||||||
link: locale == 'zh_CN' ? '/' : `/${locale}/`
|
link: locale == 'zh_CN' ? '/' : `/${locale}/`
|
||||||
}, {
|
}, {
|
||||||
text: "文档",
|
text: "文档",
|
||||||
link: locale == 'zh_CN' ? '/quickstart/install' : `/${locale}/quickstart/install`
|
link: locale == 'zh_CN' ? '/quickstart/introduction' : `/${locale}/quickstart/introduction`
|
||||||
}, {
|
}, {
|
||||||
text: "支持",
|
text: "支持",
|
||||||
link: locale == 'zh_CN' ? '/support' : `/${locale}/support`
|
link: locale == 'zh_CN' ? '/support' : `/${locale}/support`
|
||||||
|
|||||||
@@ -20,12 +20,12 @@ export const config = defineConfig({
|
|||||||
base: locale == 'zh_CN' ? '/advanced' : `/${locale}/advanced`,
|
base: locale == 'zh_CN' ? '/advanced' : `/${locale}/advanced`,
|
||||||
items: sidebarAdvanced()
|
items: sidebarAdvanced()
|
||||||
}, {
|
}, {
|
||||||
text: "FAQ",
|
text: "常見問題",
|
||||||
collapsed: true,
|
collapsed: true,
|
||||||
base: locale == 'zh_CN' ? '/faq' : `/${locale}/faq`,
|
base: locale == 'zh_CN' ? '/faq' : `/${locale}/faq`,
|
||||||
items: sidebarFAQ()
|
items: sidebarFAQ()
|
||||||
}, {
|
}, {
|
||||||
text: "Versions",
|
text: "版本歷史",
|
||||||
collapsed: true,
|
collapsed: true,
|
||||||
items: [...versions.map((version: string) => {
|
items: [...versions.map((version: string) => {
|
||||||
return {
|
return {
|
||||||
@@ -71,7 +71,7 @@ function nav(): DefaultTheme.NavItem[] {
|
|||||||
link: locale == 'zh_CN' ? '/' : `/${locale}/`
|
link: locale == 'zh_CN' ? '/' : `/${locale}/`
|
||||||
}, {
|
}, {
|
||||||
text: "文檔",
|
text: "文檔",
|
||||||
link: locale == 'zh_CN' ? '/quickstart/install' : `/${locale}/quickstart/install`
|
link: locale == 'zh_CN' ? '/quickstart/introduction' : `/${locale}/quickstart/introduction`
|
||||||
}, {
|
}, {
|
||||||
text: "支持",
|
text: "支持",
|
||||||
link: locale == 'zh_CN' ? '/support' : `/${locale}/support`
|
link: locale == 'zh_CN' ? '/support' : `/${locale}/support`
|
||||||
@@ -85,98 +85,98 @@ function nav(): DefaultTheme.NavItem[] {
|
|||||||
}
|
}
|
||||||
function sidebarQuickstart(): DefaultTheme.SidebarItem[] {
|
function sidebarQuickstart(): DefaultTheme.SidebarItem[] {
|
||||||
return [{
|
return [{
|
||||||
text: 'News & Announcements',
|
text: "動態與公告",
|
||||||
collapsed: true,
|
collapsed: true,
|
||||||
items: [{
|
items: [{
|
||||||
text: "AcePanel 3.0 Official Release",
|
text: "AcePanel 3.0 正式發布",
|
||||||
link: '/news/acepanel-3-release'
|
link: '/news/acepanel-3-release'
|
||||||
}]
|
}]
|
||||||
}, {
|
}, {
|
||||||
text: 'Introduction',
|
text: "介紹",
|
||||||
link: '/introduction'
|
link: '/introduction'
|
||||||
}, {
|
}, {
|
||||||
text: 'Install',
|
text: "安裝",
|
||||||
link: '/install'
|
link: '/install'
|
||||||
}, {
|
}, {
|
||||||
text: 'Upgrade',
|
text: "升級",
|
||||||
link: '/upgrade'
|
link: '/upgrade'
|
||||||
}, {
|
}, {
|
||||||
text: 'First Website',
|
text: "第一個網站",
|
||||||
link: '/first-website'
|
link: '/first-website'
|
||||||
}, {
|
}, {
|
||||||
text: 'First Container',
|
text: "第一個容器",
|
||||||
link: '/first-container'
|
link: '/first-container'
|
||||||
}, {
|
}, {
|
||||||
text: 'First Project',
|
text: "第一個項目",
|
||||||
link: '/first-project'
|
link: '/first-project'
|
||||||
}, {
|
}, {
|
||||||
text: 'Command Line',
|
text: "命令列",
|
||||||
link: '/cli'
|
link: '/cli'
|
||||||
}, {
|
}, {
|
||||||
text: 'Uninstall',
|
text: "卸載",
|
||||||
link: '/uninstall'
|
link: '/uninstall'
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
function sidebarAdvanced(): DefaultTheme.SidebarItem[] {
|
function sidebarAdvanced(): DefaultTheme.SidebarItem[] {
|
||||||
return [{
|
return [{
|
||||||
text: "Apps",
|
text: "應用",
|
||||||
collapsed: true,
|
collapsed: true,
|
||||||
items: [{
|
items: [{
|
||||||
text: "Overview",
|
text: "概述",
|
||||||
link: '/app'
|
link: '/app'
|
||||||
}, {
|
}, {
|
||||||
text: "Native Apps",
|
text: "原生應用",
|
||||||
link: '/app/native'
|
link: '/app/native'
|
||||||
}, {
|
}, {
|
||||||
text: "Runtimes",
|
text: "運行環境",
|
||||||
link: '/app/environment'
|
link: '/app/environment'
|
||||||
}, {
|
}, {
|
||||||
text: "Container Templates",
|
text: "容器模版",
|
||||||
link: '/app/template'
|
link: '/app/template'
|
||||||
}]
|
}]
|
||||||
}, {
|
}, {
|
||||||
text: "Containers",
|
text: "容器",
|
||||||
collapsed: true,
|
collapsed: true,
|
||||||
items: [{
|
items: [{
|
||||||
text: "Overview",
|
text: "概述",
|
||||||
link: '/container'
|
link: '/container'
|
||||||
}, {
|
}, {
|
||||||
text: "Containers",
|
text: "容器",
|
||||||
link: '/container/container'
|
link: '/container/container'
|
||||||
}, {
|
}, {
|
||||||
text: "Compose",
|
text: "編排",
|
||||||
link: '/container/compose'
|
link: '/container/compose'
|
||||||
}, {
|
}, {
|
||||||
text: "Images",
|
text: "映像",
|
||||||
link: '/container/image'
|
link: '/container/image'
|
||||||
}, {
|
}, {
|
||||||
text: "Networks",
|
text: "網路",
|
||||||
link: '/container/network'
|
link: '/container/network'
|
||||||
}, {
|
}, {
|
||||||
text: "Volumes",
|
text: "卷",
|
||||||
link: '/container/volume'
|
link: '/container/volume'
|
||||||
}]
|
}]
|
||||||
}, {
|
}, {
|
||||||
text: "Websites",
|
text: "網站",
|
||||||
collapsed: true,
|
collapsed: true,
|
||||||
items: [{
|
items: [{
|
||||||
text: "Overview",
|
text: "概述",
|
||||||
link: '/website'
|
link: '/website'
|
||||||
}, {
|
}, {
|
||||||
text: "Reverse Proxy",
|
text: "反向代理",
|
||||||
link: '/website/proxy'
|
link: '/website/proxy'
|
||||||
}, {
|
}, {
|
||||||
text: "PHP",
|
text: "PHP",
|
||||||
link: '/website/php'
|
link: '/website/php'
|
||||||
}, {
|
}, {
|
||||||
text: "Static",
|
text: "純靜態",
|
||||||
link: '/website/static'
|
link: '/website/static'
|
||||||
}]
|
}]
|
||||||
}, {
|
}, {
|
||||||
text: "Projects",
|
text: "項目",
|
||||||
collapsed: true,
|
collapsed: true,
|
||||||
items: [{
|
items: [{
|
||||||
text: "Overview",
|
text: "概述",
|
||||||
link: '/project'
|
link: '/project'
|
||||||
}, {
|
}, {
|
||||||
text: "Go",
|
text: "Go",
|
||||||
@@ -194,130 +194,130 @@ function sidebarAdvanced(): DefaultTheme.SidebarItem[] {
|
|||||||
text: "Python",
|
text: "Python",
|
||||||
link: '/project/python'
|
link: '/project/python'
|
||||||
}, {
|
}, {
|
||||||
text: "General",
|
text: "通用",
|
||||||
link: '/project/general'
|
link: '/project/general'
|
||||||
}]
|
}]
|
||||||
}, {
|
}, {
|
||||||
text: "Databases",
|
text: "數據庫",
|
||||||
collapsed: true,
|
collapsed: true,
|
||||||
items: [{
|
items: [{
|
||||||
text: "Overview",
|
text: "概述",
|
||||||
link: '/database'
|
link: '/database'
|
||||||
}, {
|
}, {
|
||||||
text: "Databases",
|
text: "數據庫",
|
||||||
link: '/database/database'
|
link: '/database/database'
|
||||||
}, {
|
}, {
|
||||||
text: "Users",
|
text: "用戶",
|
||||||
link: '/database/user'
|
link: '/database/user'
|
||||||
}, {
|
}, {
|
||||||
text: "Servers",
|
text: "伺服器",
|
||||||
link: '/database/server'
|
link: '/database/server'
|
||||||
}]
|
}]
|
||||||
}, {
|
}, {
|
||||||
text: "Certificates",
|
text: "證書",
|
||||||
collapsed: true,
|
collapsed: true,
|
||||||
items: [{
|
items: [{
|
||||||
text: "Overview",
|
text: "概述",
|
||||||
link: '/cert'
|
link: '/cert'
|
||||||
}, {
|
}, {
|
||||||
text: "Certificates",
|
text: "證書",
|
||||||
link: '/cert/cert'
|
link: '/cert/cert'
|
||||||
}, {
|
}, {
|
||||||
text: "Accounts",
|
text: "帳號",
|
||||||
link: '/cert/account'
|
link: '/cert/account'
|
||||||
}, {
|
}, {
|
||||||
text: "DNS",
|
text: "DNS",
|
||||||
link: '/cert/dns'
|
link: '/cert/dns'
|
||||||
}]
|
}]
|
||||||
}, {
|
}, {
|
||||||
text: "Monitor",
|
text: "監控",
|
||||||
link: '/monitor'
|
link: '/monitor'
|
||||||
}, {
|
}, {
|
||||||
text: "Files",
|
text: "檔案",
|
||||||
link: '/file'
|
link: '/file'
|
||||||
}, {
|
}, {
|
||||||
text: "Backup",
|
text: "備份",
|
||||||
link: '/backup'
|
link: '/backup'
|
||||||
}, {
|
}, {
|
||||||
text: "Terminal",
|
text: "終端機",
|
||||||
link: '/ssh'
|
link: '/ssh'
|
||||||
}, {
|
}, {
|
||||||
text: "Tasks",
|
text: "任務",
|
||||||
collapsed: true,
|
collapsed: true,
|
||||||
items: [{
|
items: [{
|
||||||
text: "Scheduled Tasks",
|
text: "計劃任務",
|
||||||
link: '/task/schedule'
|
link: '/task/schedule'
|
||||||
}, {
|
}, {
|
||||||
text: "Panel Tasks",
|
text: "面板任務",
|
||||||
link: '/task/panel'
|
link: '/task/panel'
|
||||||
}]
|
}]
|
||||||
}, {
|
}, {
|
||||||
text: "Toolbox",
|
text: "工具箱",
|
||||||
collapsed: true,
|
collapsed: true,
|
||||||
items: [{
|
items: [{
|
||||||
text: "Overview",
|
text: "概述",
|
||||||
link: '/toolbox'
|
link: '/toolbox'
|
||||||
}, {
|
}, {
|
||||||
text: "Processes",
|
text: "進程",
|
||||||
link: '/toolbox/process'
|
link: '/toolbox/process'
|
||||||
}, {
|
}, {
|
||||||
text: "System",
|
text: "系統",
|
||||||
link: '/toolbox/system'
|
link: '/toolbox/system'
|
||||||
}, {
|
}, {
|
||||||
text: "SSH",
|
text: "SSH",
|
||||||
link: '/toolbox/ssh'
|
link: '/toolbox/ssh'
|
||||||
}, {
|
}, {
|
||||||
text: "Disk",
|
text: "磁碟",
|
||||||
link: '/toolbox/disk'
|
link: '/toolbox/disk'
|
||||||
}, {
|
}, {
|
||||||
text: "Log Cleanup",
|
text: "日誌清理",
|
||||||
link: '/toolbox/log'
|
link: '/toolbox/log'
|
||||||
}, {
|
}, {
|
||||||
text: "Webhooks",
|
text: "Web 鉤子",
|
||||||
link: '/toolbox/webhook'
|
link: '/toolbox/webhook'
|
||||||
}, {
|
}, {
|
||||||
text: "Benchmark",
|
text: "跑分",
|
||||||
link: '/toolbox/benchmark'
|
link: '/toolbox/benchmark'
|
||||||
}]
|
}]
|
||||||
}, {
|
}, {
|
||||||
text: "Settings",
|
text: "設置",
|
||||||
collapsed: true,
|
collapsed: true,
|
||||||
items: [{
|
items: [{
|
||||||
text: "Basic Settings",
|
text: "基本設置",
|
||||||
link: '/setting/basic'
|
link: '/setting/basic'
|
||||||
}, {
|
}, {
|
||||||
text: "Security Settings",
|
text: "安全設置",
|
||||||
link: '/setting/safe'
|
link: '/setting/safe'
|
||||||
}, {
|
}, {
|
||||||
text: "User Management",
|
text: "用戶設置",
|
||||||
link: '/setting/user'
|
link: '/setting/user'
|
||||||
}]
|
}]
|
||||||
}, {
|
}, {
|
||||||
text: 'Panel API',
|
text: "面板 API",
|
||||||
link: '/api'
|
link: '/api'
|
||||||
}, {
|
}, {
|
||||||
text: 'Security Recommendations',
|
text: "安全建議",
|
||||||
link: '/security'
|
link: '/security'
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
function sidebarFAQ(): DefaultTheme.SidebarItem[] {
|
function sidebarFAQ(): DefaultTheme.SidebarItem[] {
|
||||||
return [{
|
return [{
|
||||||
text: "Panel",
|
text: "面板",
|
||||||
link: '/panel'
|
link: '/panel'
|
||||||
}, {
|
}, {
|
||||||
text: "Application",
|
text: "應用",
|
||||||
link: '/application'
|
link: '/application'
|
||||||
}, {
|
}, {
|
||||||
text: "Database",
|
text: "數據庫",
|
||||||
link: '/database'
|
link: '/database'
|
||||||
}, {
|
}, {
|
||||||
text: "Website",
|
text: "網站",
|
||||||
link: '/website'
|
link: '/website'
|
||||||
}, {
|
}, {
|
||||||
text: "Project",
|
text: "項目",
|
||||||
link: '/project'
|
link: '/project'
|
||||||
}, {
|
}, {
|
||||||
text: "Container",
|
text: "容器",
|
||||||
link: '/container'
|
link: '/container'
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
@@ -56,8 +56,7 @@ next: false
|
|||||||
border: 2px solid var(--vp-c-brand);
|
border: 2px solid var(--vp-c-brand);
|
||||||
}
|
}
|
||||||
|
|
||||||
.cert-card.featured::before {
|
.cert-badge {
|
||||||
content: "推荐";
|
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -12px;
|
top: -12px;
|
||||||
right: 24px;
|
right: 24px;
|
||||||
@@ -300,7 +299,7 @@ next: false
|
|||||||
</div><a href="https://jq.qq.com/?_wv=1027&k=I1oJKSTH" target="_blank" class="cert-btn cert-btn-secondary">联系购买</a>
|
</div><a href="https://jq.qq.com/?_wv=1027&k=I1oJKSTH" target="_blank" class="cert-btn cert-btn-secondary">联系购买</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="cert-card featured">
|
<div class="cert-card featured"><span class="cert-badge">推荐</span>
|
||||||
<div class="cert-card-icon">🛡️</div>
|
<div class="cert-card-icon">🛡️</div>
|
||||||
<h3>DV 泛域名证书</h3>
|
<h3>DV 泛域名证书</h3>
|
||||||
<div class="cert-card-desc">一张证书保护所有子域名</div>
|
<div class="cert-card-desc">一张证书保护所有子域名</div>
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ import { VPTeamMembers } from 'vitepress/theme'
|
|||||||
const members = [
|
const members = [
|
||||||
{
|
{
|
||||||
avatar: 'https://weavatar.com/avatar/18e77debb1bc0000c0b50757b8f1bebb2c3e4df3d494124f776c15dbc1ebe8a5',
|
avatar: 'https://weavatar.com/avatar/18e77debb1bc0000c0b50757b8f1bebb2c3e4df3d494124f776c15dbc1ebe8a5',
|
||||||
name: 'HaoZi',
|
name: '耗子',
|
||||||
desc: 'Founder & CEO',
|
desc: '創辦人 & CEO',
|
||||||
links: [
|
links: [
|
||||||
{ icon: 'github', link: 'https://github.com/devhaozi' },
|
{ icon: 'github', link: 'https://github.com/devhaozi' },
|
||||||
{ icon: 'bilibili', link: 'https://space.bilibili.com/8067' }
|
{ icon: 'bilibili', link: 'https://space.bilibili.com/8067' }
|
||||||
@@ -19,8 +19,8 @@ const members = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
avatar: 'https://weavatar.com/avatar/f6b23deadaa481f0b3ea75ad94f246881ed2326117efebad6f2799ea165779b9',
|
avatar: 'https://weavatar.com/avatar/f6b23deadaa481f0b3ea75ad94f246881ed2326117efebad6f2799ea165779b9',
|
||||||
name: 'Liang Zai',
|
name: '靚仔',
|
||||||
desc: 'Technical Director',
|
desc: '技術負責人',
|
||||||
links: [
|
links: [
|
||||||
{ icon: 'github', link: 'https://github.com/205125' }
|
{ icon: 'github', link: 'https://github.com/205125' }
|
||||||
]
|
]
|
||||||
@@ -30,8 +30,7 @@ const members = [
|
|||||||
|
|
||||||
# 關於
|
# 關於
|
||||||
|
|
||||||
AcePanel is a professional server operation and maintenance management panel dedicated to providing users with simple,
|
AcePanel 是一款專業的伺服器運維管理面板,致力於為用戶提供簡單、高效、安全的伺服器管理解決方案。
|
||||||
efficient, and secure server management solutions.
|
|
||||||
|
|
||||||
| 願景 | 使命 | 價值觀 |
|
| 願景 | 使命 | 價值觀 |
|
||||||
| ----------------- | ------------- | -------------- |
|
| ----------------- | ------------- | -------------- |
|
||||||
@@ -43,12 +42,12 @@ efficient, and secure server management solutions.
|
|||||||
|
|
||||||
## 發展歷程
|
## 發展歷程
|
||||||
|
|
||||||
:::timeline 2026 - 3.0 Era
|
:::timeline 2026 - 3.0 時代
|
||||||
In 2026, We launched the highly anticipated version 3.0, introducing a revamped user interface and advanced features
|
在 2026 年,我們推出了備受期待的 3.0 版本,推出了全新的用戶介面和更多高級功能
|
||||||
:::
|
:::
|
||||||
|
|
||||||
:::timeline 2025 - Steady Progress
|
:::timeline 2025 - 穩步發展
|
||||||
In 2025, We focused on optimizing user experience and enhancing system stability, releasing versions 2.4 series
|
在 2025 年,我們專注於優化用戶體驗和增強系統穩定性,發布了 2.4 系列版本
|
||||||
:::
|
:::
|
||||||
|
|
||||||
:::timeline 2024 - 全新起航
|
:::timeline 2024 - 全新起航
|
||||||
|
|||||||
@@ -6,9 +6,9 @@ AcePanel 提供了安全的 RESTful 接口,用於與面板系統進行互動
|
|||||||
|
|
||||||
## 基本信息
|
## 基本信息
|
||||||
|
|
||||||
- **基本 URL**: `http(s)://your-panel-domain/{entry}/api/`
|
- **基本 URL**: `http(s)://your-panel-domain/{entry}/api/`
|
||||||
- **內容類型**: 所有請求和響應均使用 `application/json`
|
- **內容類型**: 所有請求和響應均使用 `application/json`
|
||||||
- **字符編碼**: UTF-8
|
- **字符編碼**: UTF-8
|
||||||
|
|
||||||
## 身份驗證機制
|
## 身份驗證機制
|
||||||
|
|
||||||
@@ -649,13 +649,13 @@ sendApiRequest();
|
|||||||
|
|
||||||
如果遇到簽名驗證失敗,請檢查:
|
如果遇到簽名驗證失敗,請檢查:
|
||||||
|
|
||||||
- 確保使用了正確的 API 令牌和 ID
|
- 確保使用了正確的 API 令牌和 ID
|
||||||
- 檢查客戶端和伺服器時間是否準確;時間戳之間的差異超過 300 秒將導致驗證失敗
|
- 檢查客戶端和伺服器時間是否準確;時間戳之間的差異超過 300 秒將導致驗證失敗
|
||||||
- 確保請求主體在計算簽名前後沒有被修改
|
- 確保請求主體在計算簽名前後沒有被修改
|
||||||
- 確保 URL 路徑處理正確;請記住在規範化路徑時要移除入口前綴
|
- 確保 URL 路徑處理正確;請記住在規範化路徑時要移除入口前綴
|
||||||
|
|
||||||
### 請求超時
|
### 請求超時
|
||||||
|
|
||||||
- 檢查網絡連接
|
- 檢查網絡連接
|
||||||
- 確認伺服器狀態
|
- 確認伺服器狀態
|
||||||
- 考慮增加客戶端的超時設置
|
- 考慮增加客戶端的超時設置
|
||||||
|
|||||||
@@ -1,40 +1,40 @@
|
|||||||
# Application
|
# 應用程式
|
||||||
|
|
||||||
The application module is one of the core features of AcePanel, used to manage various software on the server. Through the application module, you can conveniently install, configure, and manage common software such as Web servers, databases, runtime environments, etc.
|
應用程式模組是 AcePanel 的核心功能之一,用於管理伺服器上的各類軟體。 透過應用程式模組,你可以方便地安裝、配置和管理 Web 伺服器、資料庫、執行環境等常用軟體。
|
||||||
|
|
||||||
## Feature Categories
|
## 功能分類
|
||||||
|
|
||||||
The application module is divided into three parts:
|
應用程式模組分為三個部分:
|
||||||
|
|
||||||
- **Native Applications**: Software installed directly on the system, such as Nginx, MySQL, Redis, etc.
|
- **原生應用程式**:直接安裝在系統上的軟體,如 Nginx、MySQL、Redis 等
|
||||||
- **Runtime Environments**: Runtime environments for various programming languages, such as PHP, Node.js, Python, Go, Java, etc.
|
- **執行環境**:各類程式語言的執行時環境,如 PHP、Node.js、Python、Go、Java 等
|
||||||
- **Container Templates**: One-click deployment templates based on Docker, for quickly deploying various applications
|
- **容器範本**:基於 Docker 的一鍵部署範本,可快速部署各類應用程式
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Native Application vs Container Template
|
## 原生應用程式 vs 容器範本
|
||||||
|
|
||||||
| Feature | Native Application | Container Template |
|
| 特性 | 原生應用程式 | 容器範本 |
|
||||||
| --------------------- | ---------------------------------------------- | ------------------------------------------- |
|
| ---- | ---------- | ---------- |
|
||||||
| Performance | Higher | Slight overhead |
|
| 效能 | 更高 | 略有損耗 |
|
||||||
| Isolation | Shared system environment | Fully isolated |
|
| 隔離性 | 共享系統環境 | 完全隔離 |
|
||||||
| Deployment Difficulty | Requires configuration | One-click deployment |
|
| 部署難度 | 需要配置 | 一鍵部署 |
|
||||||
| Resource Usage | Lower | Higher |
|
| 資源佔用 | 較低 | 較高 |
|
||||||
| Use Cases | Production environment, high performance needs | Quick testing, multiple version coexistence |
|
| 適用場景 | 生產環境、高效能需求 | 快速測試、多版本共存 |
|
||||||
|
|
||||||
## Application Categories
|
## 應用程式分類
|
||||||
|
|
||||||
Native applications are preset with multiple categories by function, including but not limited to:
|
原生應用程式按功能預設了多個分類,包括但不限於:
|
||||||
|
|
||||||
- **Web Servers**: Nginx, OpenResty, Apache
|
- **Web 伺服器**:Nginx、OpenResty、Apache
|
||||||
- **Databases**: MySQL, MariaDB, PostgreSQL, Percona
|
- **資料庫**:MySQL、MariaDB、PostgreSQL、Percona
|
||||||
- **Containers**: Docker, Podman
|
- **容器**:Docker、Podman
|
||||||
- **Middleware**: Redis, Memcached
|
- **中介軟體**:Redis、Memcached
|
||||||
- **Storage**: MinIO, S3fs
|
- **儲存**:MinIO、S3fs
|
||||||
- **Tools**: phpMyAdmin, Pure-FTPd, Supervisor, Rsync, Frp
|
- **工具**:phpMyAdmin、Pure-FTPd、Supervisor、Rsync、Frp
|
||||||
|
|
||||||
## Next Steps
|
## 下一步
|
||||||
|
|
||||||
- [Native Applications](./app/native) - Learn how to install and manage native applications
|
- [原生應用程式](./app/native) - 了解如何安裝和管理原生應用程式
|
||||||
- [Runtime Environments](./app/environment) - Learn how to install programming language runtime environments
|
- [執行環境](./app/environment) - 了解如何安裝程式語言執行環境
|
||||||
- [Container Templates](./app/template) - Learn how to use container templates to quickly deploy applications
|
- [容器範本](./app/template) - 了解如何使用容器範本快速部署應用程式
|
||||||
|
|||||||
@@ -1,98 +1,98 @@
|
|||||||
# Runtime Environment
|
# 運行環境
|
||||||
|
|
||||||
Runtime environments are used to install runtimes for various programming languages, providing execution environments for websites and projects.
|
運行環境用於安裝各類程式語言的運行時,為網站和專案提供執行環境。
|
||||||
|
|
||||||
## Supported Languages
|
## 支援的語言
|
||||||
|
|
||||||
AcePanel supports runtime environments for the following programming languages:
|
AcePanel 支援以下程式語言的運行環境:
|
||||||
|
|
||||||
| Language | Available Versions | Description |
|
| 語言 | 可用版本 | 說明 |
|
||||||
| ----------------------- | ------------------------------------------- | ------------------------------------------------------- |
|
| ----------------------- | ------------------------------------------- | ---------------------- |
|
||||||
| Go | 1.20 - 1.25 | Suitable for building high-performance backend services |
|
| Go | 1.20 - 1.25 | 適合建構高效能後端服務 |
|
||||||
| Java | JDK 8, 11, 17, 21, 25 | Uses Amazon Corretto distribution |
|
| Java | JDK 8, 11, 17, 21, 25 | 使用 Amazon Corretto 發行版 |
|
||||||
| Node.js | 20, 22, 24 | Suitable for frontend builds and Node applications |
|
| Node.js | 20, 22, 24 | 適合前端建構和 Node 應用 |
|
||||||
| PHP | 7.4 - 8.5 | Suitable for Web development |
|
| PHP | 7.4 - 8.5 | 適合 Web 開發 |
|
||||||
| Python | 3.10 - 3.14 | Suitable for scripts and Web applications |
|
| Python | 3.10 - 3.14 | 適合腳本和 Web 應用 |
|
||||||
|
|
||||||
## Runtime Environment List
|
## 運行環境列表
|
||||||
|
|
||||||
Go to the **Applications** page, click the **Runtime Environment** tab to view available runtime environments:
|
進入 **應用** 頁面,點擊 **運行環境** 標籤查看可用的運行環境:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Click the language category at the top to filter versions for a specific language:
|
點擊頂部的語言分類可以篩選特定語言的版本:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Install Runtime Environment
|
## 安裝運行環境
|
||||||
|
|
||||||
1. Go to the **Applications** page
|
1. 進入 **應用** 頁面
|
||||||
2. Click the **Runtime Environment** tab
|
2. 點擊 **運行環境** 標籤
|
||||||
3. Select the desired language category (or view all)
|
3. 選擇需要的語言分類(或查看全部)
|
||||||
4. Click the **Install** button for the corresponding version
|
4. 點擊對應版本的 **安裝** 按鈕
|
||||||
|
|
||||||
:::tip Version Selection Recommendations
|
:::tip 版本選擇建議
|
||||||
|
|
||||||
- Production environments are recommended to use LTS (Long Term Support) versions
|
- 生產環境建議使用 LTS(長期支援)版本
|
||||||
- Versions marked "End of Life" are not recommended for new projects
|
- 標註「已停止維護」的版本不建議用於新專案
|
||||||
- Multiple versions can be installed simultaneously and specified for use in projects
|
- 可以同時安裝多個版本,在專案中指定使用
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Manage Runtime Environment
|
## 管理運行環境
|
||||||
|
|
||||||
Installed runtime environments will display a **Manage** button. Click to enter the management page:
|
已安裝的運行環境會顯示 **管理** 按鈕。 點擊進入管理頁面:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Running Status
|
### 運行狀態
|
||||||
|
|
||||||
Displays the current status of the runtime environment, providing operations such as start, stop, restart, and reload.
|
顯示運行環境的當前狀態,提供啟動、停止、重啟、重載等操作。
|
||||||
|
|
||||||
### Module Management (PHP)
|
### 模組管理(PHP)
|
||||||
|
|
||||||
PHP runtime environment provides module management functionality, allowing installation or uninstallation of various PHP modules:
|
PHP 運行環境提供模組管理功能,可以安裝或卸載各種 PHP 模組:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Common modules include:
|
常用模組包括:
|
||||||
|
|
||||||
- **OPcache**: PHP bytecode cache, improves performance
|
- **OPcache**:PHP 位元組碼快取,提升效能
|
||||||
- **Redis**: Connect to Redis database
|
- **Redis**:連接 Redis 資料庫
|
||||||
- **ImageMagick**: Image processing
|
- **ImageMagick**:圖像處理
|
||||||
- **Swoole/Swow**: High-performance asynchronous framework
|
- **Swoole/Swow**:高效能非同步框架
|
||||||
- **ionCube**: PHP code encryption and decryption
|
- **ionCube**:PHP 程式碼加密解密
|
||||||
|
|
||||||
### Configuration Files
|
### 配置檔案
|
||||||
|
|
||||||
You can edit PHP's main configuration file (php.ini) and FPM configuration file.
|
可以編輯 PHP 的主配置檔案(php.ini)和 FPM 配置檔案。
|
||||||
|
|
||||||
### Set as CLI Default Version
|
### 設置為 CLI 預設版本
|
||||||
|
|
||||||
Click the **Set as CLI Default Version** button to set the current version as the default PHP version used by the command line.
|
點擊 **設置為 CLI 預設版本** 按鈕,可以將當前版本設置為命令列預設使用的 PHP 版本。
|
||||||
|
|
||||||
## Multiple Version Coexistence
|
## 多版本共存
|
||||||
|
|
||||||
AcePanel supports multiple versions of the same language coexisting. For example, you can install both PHP 7.4 and PHP 8.3 simultaneously, and different websites can use different PHP versions.
|
AcePanel 支援同一語言的多個版本共存。 例如,你可以同時安裝 PHP 7.4 和 PHP 8.3,不同的網站可以使用不同的 PHP 版本。
|
||||||
|
|
||||||
Installation path rules:
|
安裝路徑規則:
|
||||||
|
|
||||||
- **Go**: `/opt/ace/server/go/version`
|
- **Go**:`/opt/ace/server/go/版本號`
|
||||||
- **Java**: `/opt/ace/server/java/version`
|
- **Java**:`/opt/ace/server/java/版本號`
|
||||||
- **Node.js**: `/opt/ace/server/nodejs/version`
|
- **Node.js**:`/opt/ace/server/nodejs/版本號`
|
||||||
- **PHP**: `/opt/ace/server/php/version`
|
- **PHP**:`/opt/ace/server/php/版本號`
|
||||||
- **Python**: `/opt/ace/server/python/version`
|
- **Python**:`/opt/ace/server/python/版本號`
|
||||||
|
|
||||||
## Using in Projects
|
## 在專案中使用
|
||||||
|
|
||||||
When creating a project, you can select the runtime environment version to use in the project settings. See [Project Management](../project) documentation for details.
|
建立專案時,可以在專案設定中選擇使用的運行環境版本。 詳見 [專案管理](../project) 文件。
|
||||||
|
|
||||||
## Update Runtime Environment
|
## 更新運行環境
|
||||||
|
|
||||||
When a new version is available, the latest version number will be displayed in the list. You can:
|
當有新版本可用時,列表中會顯示最新版本號。 你可以:
|
||||||
|
|
||||||
1. Uninstall the old version and install the new version
|
1. 卸載舊版本,安裝新版本
|
||||||
2. Keep the old version and install the new version simultaneously (recommended)
|
2. 保留舊版本,同時安裝新版本(推薦)
|
||||||
|
|
||||||
:::warning Note
|
:::warning 注意
|
||||||
Updating runtime environment versions may cause compatibility issues with projects that depend on that version. Please verify in a test environment before updating the production environment.
|
更新運行環境版本可能導致依賴該版本的專案出現相容性問題, 請在測試環境驗證後再更新生產環境。
|
||||||
:::
|
:::
|
||||||
|
|||||||
@@ -1,83 +1,83 @@
|
|||||||
# Native Applications
|
# 原生應用
|
||||||
|
|
||||||
Native applications are software installed directly on the system, offering better performance and lower resource usage compared to containerized deployment.
|
原生應用是直接安裝在系統上的軟體,相比容器化部署具有更好的效能和更低的資源佔用。
|
||||||
|
|
||||||
## Application List
|
## 應用列表
|
||||||
|
|
||||||
Go to the **Applications** page, which displays the native application list by default. You can filter different types of applications through the category tabs at the top.
|
進入 **應用** 頁面,預設顯示原生應用列表。 你可以透過頂部的分類標籤篩選不同類型的應用。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The list displays the following information:
|
列表中顯示以下資訊:
|
||||||
|
|
||||||
- **Application Name**: Software name
|
- **應用名稱**:軟體名稱
|
||||||
- **Description**: Brief description of the software
|
- **描述**:軟體的簡要說明
|
||||||
- **Installed Version**: Currently installed version number (empty if not installed)
|
- **已安裝版本**:目前安裝的版本號(未安裝則為空)
|
||||||
- **Show on Homepage**: Whether to display in the quick applications on the panel homepage
|
- **在主頁顯示**:是否在面板首頁的快捷應用中顯示
|
||||||
- **Actions**: Install, manage, or uninstall
|
- **操作**:安裝、管理或卸載
|
||||||
|
|
||||||
## Install Application
|
## 安裝應用
|
||||||
|
|
||||||
Click the **Install** button on the right side of the application, and an installation dialog will pop up:
|
點擊應用右側的 **安裝** 按鈕,會彈出安裝對話框:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Select Channel
|
### 選擇渠道
|
||||||
|
|
||||||
Some applications provide multiple version channels. Click the dropdown to select the desired version series:
|
部分應用提供多個版本渠道, 點擊下拉框選擇需要的版本系列:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Select Version
|
### 選擇版本
|
||||||
|
|
||||||
After selecting a channel, the system will automatically fill in the latest version number for that channel:
|
選擇渠道後,系統會自動填入該渠道的最新版本號:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Click the **Install** button to start installation. During installation, you can view detailed logs on the **Tasks** page.
|
點擊 **安裝** 按鈕開始安裝。 安裝過程中可以在 **任務** 頁面查看詳細日誌。
|
||||||
|
|
||||||
## Manage Application
|
## 管理應用
|
||||||
|
|
||||||
Installed applications will display a **Manage** button. Click to enter the application management page.
|
已安裝的應用會顯示 **管理** 按鈕, 點擊進入應用管理頁面。
|
||||||
|
|
||||||
### Running Status
|
### 運行狀態
|
||||||
|
|
||||||
The management page first displays the application's running status:
|
管理頁面首先顯示應用的運行狀態:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The following operations are provided:
|
提供以下操作:
|
||||||
|
|
||||||
- **Start**: Start a stopped service
|
- **啟動**:啟動已停止的服務
|
||||||
- **Stop**: Stop a running service
|
- **停止**:停止正在運行的服務
|
||||||
- **Restart**: Restart the service (will interrupt connections)
|
- **重啟**:重啟服務(會中斷連線)
|
||||||
- **Reload**: Reload configuration (without interrupting connections, recommended)
|
- **重載**:重新載入配置(不中斷連線,推薦)
|
||||||
|
|
||||||
### Modify Configuration
|
### 修改配置
|
||||||
|
|
||||||
Click the **Modify Configuration** tab to directly edit the application's configuration file:
|
點擊 **修改配置** 標籤,可以直接編輯應用的配置檔案:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
:::warning Note
|
:::warning 注意
|
||||||
Please ensure you understand the meaning of each parameter before modifying configuration files. Incorrect configuration may prevent the service from starting.
|
修改配置檔案前請確保了解每個參數的含義, 錯誤的配置可能導致服務無法啟動。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
### View Logs
|
### 日誌查看
|
||||||
|
|
||||||
Click the **Run Log** or **Error Log** tab to view application logs, which is helpful for troubleshooting.
|
點擊 **運行日誌** 或 **錯誤日誌** 標籤,可以查看應用的日誌,便於排查問題。
|
||||||
|
|
||||||
## Uninstall Application
|
## 卸載應用
|
||||||
|
|
||||||
Click the **Uninstall** button to uninstall the application. Before uninstalling, please ensure:
|
點擊 **卸載** 按鈕可以卸載應用。 卸載前請確保:
|
||||||
|
|
||||||
1. No websites or projects depend on this application
|
1. 沒有網站或專案依賴該應用
|
||||||
2. Important configuration files and data have been backed up
|
2. 已備份重要的配置檔案和資料
|
||||||
|
|
||||||
:::danger Warning
|
:::danger 警告
|
||||||
Uninstalling database applications (such as MySQL, PostgreSQL) will delete all database data. Please make sure to backup in advance!
|
卸載資料庫類應用(如 MySQL、PostgreSQL)會刪除所有資料庫資料, 請務必提前備份!
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Homepage Shortcut
|
## 主頁快捷方式
|
||||||
|
|
||||||
After enabling the **Show on Homepage** switch, the application will appear in the quick applications area on the panel homepage for quick access to the management page.
|
開啟 **在主頁顯示** 開關後,該應用會出現在面板首頁的快捷應用區域,方便快速存取管理頁面。
|
||||||
|
|||||||
@@ -1,99 +1,99 @@
|
|||||||
# Container Templates
|
# 容器模板
|
||||||
|
|
||||||
Container templates provide Docker-based one-click deployment solutions for quickly deploying various common applications without manual configuration.
|
容器模板提供了基於 Docker 的一鍵部署方案,可以快速部署各類常用應用,無需手動配置。
|
||||||
|
|
||||||
## Prerequisites
|
## 前置要求
|
||||||
|
|
||||||
Before using container templates, you need to install Docker first:
|
使用容器模板前,需要先安裝 Docker:
|
||||||
|
|
||||||
1. Go to **Applications** > **Native Applications**
|
1. 進入 **應用** > **原生應用**
|
||||||
2. Find Docker, click **Install**
|
2. 找到 Docker,點擊 **安裝**
|
||||||
3. Wait for installation to complete
|
3. 等待安裝完成
|
||||||
|
|
||||||
## Template List
|
## 模板列表
|
||||||
|
|
||||||
Go to the **Applications** page, click the **Container Templates** tab to view available templates:
|
進入 **應用** 頁面,點擊 **容器模板** 標籤查看可用模板:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Deploy Application
|
## 部署應用
|
||||||
|
|
||||||
Click the **Deploy** button on the template card to start the deployment wizard.
|
點擊模板卡片上的 **部署** 按鈕,會啟動部署嚮導。
|
||||||
|
|
||||||
### Step 1: Select Deployment Mode
|
### 第一步:選擇部署模式
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
- **Create New Compose**: Create a new Docker Compose from the template
|
- **建立新編排**:從模板建立一個新的 Docker Compose 編排
|
||||||
- **Update Existing Compose**: Use the template to update an existing compose configuration
|
- **更新現有編排**:使用模板更新已有的編排配置
|
||||||
|
|
||||||
### Step 2: Configure Parameters
|
### 第二步:配置參數
|
||||||
|
|
||||||
Fill in configuration information according to application requirements:
|
根據應用需求填寫配置資訊:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Common configuration items:
|
常見配置項:
|
||||||
|
|
||||||
- **Compose Name**: Used to identify this deployment
|
- **編排名稱**:用於標識這個部署
|
||||||
- **Auto Start**: Whether to automatically start containers after creation
|
- **自動啟動**:是否在建立後自動啟動容器
|
||||||
- **Auto Firewall**: Whether to automatically allow ports
|
- **自動防火牆**:是否自動放行連接埠
|
||||||
- **Database Configuration**: Username, password, address, etc.
|
- **資料庫配置**:使用者名稱、密碼、地址等
|
||||||
- **Port Configuration**: Port the service listens on
|
- **連接埠配置**:服務監聽的連接埠
|
||||||
|
|
||||||
### Step 3: Preview and Edit
|
### 第三步:預覽與編輯
|
||||||
|
|
||||||
Preview the generated Docker Compose configuration file:
|
預覽生成的 Docker Compose 配置檔案:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Here you can:
|
你可以在這裡:
|
||||||
|
|
||||||
- View and edit the **Compose File** (docker-compose.yml)
|
- 查看和編輯 **編排檔案**(docker-compose.yml)
|
||||||
- View and edit **Environment Variables**
|
- 查看和編輯 **環境變數**
|
||||||
|
|
||||||
### Step 4: Confirm Deployment
|
### 第四步:確認部署
|
||||||
|
|
||||||
After confirming all configurations are correct, click **Create** to complete deployment:
|
確認所有配置無誤後,點擊 **建立** 完成部署:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
After deployment, the application will appear in the **Containers** > **Compose** page for management.
|
部署完成後,應用會出現在 **容器** > **編排** 頁面中進行管理。
|
||||||
|
|
||||||
## Template vs Manual Deployment
|
## 模板 vs 手動部署
|
||||||
|
|
||||||
| Feature | Using Template | Manual Deployment |
|
| 特性 | 使用模板 | 手動部署 |
|
||||||
| ------------------------ | --------------------------------------- | ------------------------------------------------ |
|
| ---- | ----------- | --------------------------------------- |
|
||||||
| Configuration Difficulty | Simple, just fill in basic information | Need to write docker-compose.yml |
|
| 配置難度 | 簡單,填寫基本資訊即可 | 需要編寫 docker-compose.yml |
|
||||||
| Flexibility | Uses preset configuration | Fully customizable |
|
| 靈活性 | 使用預設配置 | 完全自訂 |
|
||||||
| Use Cases | Quick deployment of common applications | Special requirements, custom configuration |
|
| 適用場景 | 快速部署常用應用 | 特殊需求、自訂配置 |
|
||||||
|
|
||||||
## Common Template Descriptions
|
## 常用模板說明
|
||||||
|
|
||||||
### WordPress
|
### WordPress
|
||||||
|
|
||||||
Open-source blog and content management system, suitable for building personal blogs or corporate websites.
|
開源部落格和內容管理系統,適合搭建個人部落格或企業網站。
|
||||||
|
|
||||||
### pgAdmin 4
|
### pgAdmin 4
|
||||||
|
|
||||||
Graphical management tool for PostgreSQL databases.
|
PostgreSQL 資料庫的圖形化管理工具。
|
||||||
|
|
||||||
### phpMyAdmin
|
### phpMyAdmin
|
||||||
|
|
||||||
Graphical management tool for MySQL/MariaDB databases.
|
MySQL/MariaDB 資料庫的圖形化管理工具。
|
||||||
|
|
||||||
### Vaultwarden
|
### Vaultwarden
|
||||||
|
|
||||||
Lightweight password management server, compatible with Bitwarden clients.
|
輕量級密碼管理伺服器,相容 Bitwarden 用戶端。
|
||||||
|
|
||||||
### Qinglong
|
### 青龍
|
||||||
|
|
||||||
Scheduled task management platform, supporting Python, JavaScript, Shell, and other scripts.
|
定時任務管理平台,支援 Python、JavaScript、Shell 等腳本。
|
||||||
|
|
||||||
### OpenList
|
### OpenList
|
||||||
|
|
||||||
Multi-storage aggregation file listing program, supporting Alibaba Cloud Drive, OneDrive, etc.
|
多儲存聚合的檔案列表程式,支援阿里雲盤、OneDrive 等。
|
||||||
|
|
||||||
## Update Cache
|
## 更新快取
|
||||||
|
|
||||||
If the template list is incomplete or you need to get the latest templates, click the **Update Cache** button at the top of the page to refresh the template list.
|
如果模板列表顯示不完整或需要取得最新模板,點擊頁面頂部的 **更新快取** 按鈕重新整理模板列表。
|
||||||
|
|||||||
@@ -1,231 +1,231 @@
|
|||||||
# Backup
|
# 備份
|
||||||
|
|
||||||
The backup module is used to backup and restore website files and databases, supporting local backup and remote storage.
|
備份模組用於備份和恢復網站檔案和資料庫,支援本地備份和遠端儲存。
|
||||||
|
|
||||||
## Backup Page
|
## 備份頁面
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Backup Types
|
## 備份類型
|
||||||
|
|
||||||
The backup module supports the following types of backups:
|
備份模組支援以下類型的備份:
|
||||||
|
|
||||||
| Type | Description |
|
| 類型 | 說明 |
|
||||||
| ---------- | -------------------------------------- |
|
| ---------- | ---------------------------- |
|
||||||
| Website | Backup website files |
|
| 網站 | 備份網站檔案 |
|
||||||
| MySQL | Backup Percona/MySQL/MariaDB databases |
|
| MySQL | 備份 Percona/MySQL/MariaDB 資料庫 |
|
||||||
| PostgreSQL | Backup PostgreSQL databases |
|
| PostgreSQL | 備份 PostgreSQL 資料庫 |
|
||||||
|
|
||||||
## Create Backup
|
## 創建備份
|
||||||
|
|
||||||
1. Select the backup type tab (Website/MySQL/PostgreSQL)
|
1. 選擇備份類型標籤(網站/MySQL/PostgreSQL)
|
||||||
2. Click **Create Backup**
|
2. 點擊 **創建備份**
|
||||||
3. Select the website or database to backup
|
3. 選擇要備份的網站或資料庫
|
||||||
4. Select storage location
|
4. 選擇儲存位置
|
||||||
5. Click Confirm
|
5. 點擊確認
|
||||||
|
|
||||||
Backup file formats:
|
備份檔案格式:
|
||||||
|
|
||||||
- Website: `.zip` compressed package
|
- 網站:`.zip` 壓縮包
|
||||||
- Database: `.sql.zip` compressed SQL file
|
- 資料庫:`.sql.zip` 壓縮的 SQL 檔案
|
||||||
|
|
||||||
## Backup List
|
## 備份列表
|
||||||
|
|
||||||
The backup list displays the following information:
|
備份列表顯示以下資訊:
|
||||||
|
|
||||||
- **Filename**: Backup file name
|
- **檔案名**:備份檔案名稱
|
||||||
- **Size**: Backup file size
|
- **大小**:備份檔案大小
|
||||||
- **Update Date**: Backup time
|
- **更新日期**:備份時間
|
||||||
- **Actions**: Download, restore, delete
|
- **操作**:下載、恢復、刪除
|
||||||
|
|
||||||
## Restore Backup
|
## 恢復備份
|
||||||
|
|
||||||
1. Find the backup to restore in the backup list
|
1. 在備份列表中找到要恢復的備份
|
||||||
2. Click the **Restore** button
|
2. 點擊 **恢復** 按鈕
|
||||||
3. Confirm the restore operation
|
3. 確認恢復操作
|
||||||
|
|
||||||
:::danger Warning
|
:::danger 警告
|
||||||
The restore operation will overwrite existing data. Please ensure you have backed up current data!
|
恢復操作會覆蓋現有資料, 請確保已備份當前資料!
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Upload Backup
|
## 上傳備份
|
||||||
|
|
||||||
Click the **Upload Backup** button to upload local backup files for data restoration.
|
點擊 **上傳備份** 按鈕可以上傳本地的備份檔案,用於恢復資料。
|
||||||
|
|
||||||
## Storage Management
|
## 儲存管理
|
||||||
|
|
||||||
Switch to the **Storage** tab to manage backup storage locations.
|
切換到 **儲存** 標籤頁管理備份儲存位置。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Local Storage
|
### 本地儲存
|
||||||
|
|
||||||
The default storage location, backup files are saved locally on the server.
|
預設的儲存位置,備份檔案保存在伺服器本地。
|
||||||
|
|
||||||
### Remote Storage
|
### 遠端儲存
|
||||||
|
|
||||||
Click **Add Storage** to add remote storage, supporting:
|
點擊 **新增儲存** 可以新增遠端儲存,支援:
|
||||||
|
|
||||||
- **S3 Compatible Storage**: AWS S3, Alibaba Cloud OSS, Tencent Cloud COS, etc.
|
- **S3 相容儲存**:AWS S3、阿里雲 OSS、騰訊雲 COS 等
|
||||||
- **FTP/SFTP**: FTP or SFTP servers
|
- **FTP/SFTP**:FTP 或 SFTP 伺服器
|
||||||
- **WebDAV**: WebDAV servers
|
- **WebDAV**:WebDAV 伺服器
|
||||||
|
|
||||||
Advantages of remote storage:
|
遠端儲存的優勢:
|
||||||
|
|
||||||
- Off-site backup to prevent data loss
|
- 異地備份,防止資料遺失
|
||||||
- Does not occupy server disk space
|
- 不佔用伺服器磁碟空間
|
||||||
- Convenient for sharing backups across multiple servers
|
- 便於多伺服器共享備份
|
||||||
|
|
||||||
### S3 Compatible Storage Configuration
|
### S3 相容儲存配置
|
||||||
|
|
||||||
S3 compatible storage is the most commonly used remote storage method. Most cloud storage providers offer S3 compatible interfaces.
|
S3 相容儲存是最常用的遠端儲存方式, 大多數雲端儲存服務商都提供 S3 相容介面。
|
||||||
|
|
||||||
#### Configuration Parameters
|
#### 配置參數
|
||||||
|
|
||||||
| Parameter | Description |
|
| 參數 | 說明 |
|
||||||
| ---------- | ----------------------------------------------------------------------------- |
|
| ---------- | -------------------------------- |
|
||||||
| Name | Name of the storage configuration for identification |
|
| 名稱 | 儲存配置的名稱,便於識別 |
|
||||||
| Type | Select S3 |
|
| 類型 | 選擇 S3 |
|
||||||
| Access Key | Access Key ID |
|
| Access Key | Access Key ID |
|
||||||
| Secret Key | Access Key Secret |
|
| Secret Key | Access Key Secret |
|
||||||
| Style | Virtual Hosted or Path Style |
|
| 風格 | Virtual Hosted 或 Path Style |
|
||||||
| Region | Region code, e.g., `us-east-1`, `cn-hangzhou` |
|
| 區域 | 區域代碼,如 `us-east-1`、`cn-hangzhou` |
|
||||||
| Endpoint | S3 service endpoint URL |
|
| 端點 | S3 服務端點 URL |
|
||||||
| Protocol | HTTPS (recommended) or HTTP |
|
| 協定 | HTTPS(推薦)或 HTTP |
|
||||||
| Bucket | Bucket name |
|
| 儲存桶 | 儲存桶名稱 |
|
||||||
| Path | Sub-path for backup file storage (optional) |
|
| 路徑 | 備份檔案儲存的子路徑(可選) |
|
||||||
|
|
||||||
#### Access Style Explanation
|
#### 存取風格說明
|
||||||
|
|
||||||
S3 has two URL access styles:
|
S3 有兩種 URL 存取風格:
|
||||||
|
|
||||||
- **Virtual Hosted Style**: `https://bucket.endpoint/key`
|
- **Virtual Hosted Style**:`https://bucket.endpoint/key`
|
||||||
- Bucket name as subdomain
|
- 桶名作為子網域
|
||||||
- AWS S3 uses this style by default
|
- AWS S3 預設使用此風格
|
||||||
|
|
||||||
- **Path Style**: `https://endpoint/bucket/key`
|
- **Path Style**:`https://endpoint/bucket/key`
|
||||||
- Bucket name as part of the path
|
- 桶名作為路徑的一部分
|
||||||
- Self-hosted MinIO typically uses this style
|
- 自建 MinIO 等通常使用此風格
|
||||||
|
|
||||||
#### Compatibility List
|
#### 相容性列表
|
||||||
|
|
||||||
| Provider | Documentation | Compatible Access Style | Compatibility |
|
| 服務商 | 文檔 | 相容存取風格 | 相容性 |
|
||||||
| ------------------ | ------------------------------------------------------------------------------------ | --------------------------------- | ------------- |
|
| ------------- | ---------------------------------------------------------------------------------- | --------------------------- | --- |
|
||||||
| Alibaba Cloud OSS | [Docs](https://help.aliyun.com/document_detail/410748.html) | Virtual Hosted Style | ✅ |
|
| 阿里雲 OSS | [文檔](https://help.aliyun.com/document_detail/410748.html) | Virtual Hosted 風格 | ✅ |
|
||||||
| Tencent Cloud COS | [Docs](https://cloud.tencent.com/document/product/436/41284) | Virtual Hosted Style / Path Style | ✅ |
|
| 騰訊雲 COS | [文檔](https://cloud.tencent.com/document/product/436/41284) | Virtual Hosted 風格 / Path 風格 | ✅ |
|
||||||
| Qiniu Cloud | [Docs](https://developer.qiniu.com/kodo/4088/s3-access-domainname) | Virtual Hosted Style / Path Style | ✅ |
|
| 七牛雲 | [文檔](https://developer.qiniu.com/kodo/4088/s3-access-domainname) | Virtual Hosted 風格 / Path 風格 | ✅ |
|
||||||
| Baidu Cloud BOS | [Docs](https://cloud.baidu.com/doc/BOS/s/Fjwvyq9xo) | Virtual Hosted Style / Path Style | ✅ |
|
| 百度雲 BOS | [文檔](https://cloud.baidu.com/doc/BOS/s/Fjwvyq9xo) | Virtual Hosted 風格 / Path 風格 | ✅ |
|
||||||
| JD Cloud | [Docs](https://docs.jdcloud.com/cn/object-storage-service/api/regions-and-endpoints) | Virtual Hosted Style | ✅ |
|
| 京東雲 | [文檔](https://docs.jdcloud.com/cn/object-storage-service/api/regions-and-endpoints) | Virtual Hosted 風格 | ✅ |
|
||||||
| Kingsoft Cloud | [Docs](https://docs.ksyun.com/documents/6761) | Virtual Hosted Style | ✅ |
|
| 金山雲 | [文檔](https://docs.ksyun.com/documents/6761) | Virtual Hosted 風格 | ✅ |
|
||||||
| QingCloud QingStor | [Docs](https://docsv3.qingcloud.com/storage/object-storage/s3/intro/) | Virtual Hosted Style / Path Style | ✅ |
|
| 青雲 QingStor | [文檔](https://docsv3.qingcloud.com/storage/object-storage/s3/intro/) | Virtual Hosted 風格 / Path 風格 | ✅ |
|
||||||
| NetEase Shufan | [Docs](https://sf.163.com/help/documents/89796157866430464) | Virtual Hosted Style | ✅ |
|
| 網易數帆 | [文檔](https://sf.163.com/help/documents/89796157866430464) | Virtual Hosted 風格 | ✅ |
|
||||||
| Cloudflare R2 | [Docs](https://developers.cloudflare.com/r2/data-access/s3-api/) | Virtual Hosted Style / Path Style | ✅ |
|
| Cloudflare R2 | [文檔](https://developers.cloudflare.com/r2/data-access/s3-api/) | Virtual Hosted 風格 / Path 風格 | ✅ |
|
||||||
| Oracle Cloud | [Docs](https://docs.oracle.com/en-us/iaas/Content/Object/Tasks/s3compatibleapi.htm) | Virtual Hosted Style / Path Style | ✅ |
|
| 甲骨文雲 | [文檔](https://docs.oracle.com/en-us/iaas/Content/Object/Tasks/s3compatibleapi.htm) | Virtual Hosted 風格 / Path 風格 | ✅ |
|
||||||
| Upyun | [Docs](https://help.upyun.com/knowledge-base/aws-s3%E5%85%BC%E5%AE%B9/) | Virtual Hosted Style / Path Style | ✅ |
|
| 又拍雲 | [文檔](https://help.upyun.com/knowledge-base/aws-s3%E5%85%BC%E5%AE%B9/) | Virtual Hosted 風格 / Path 風格 | ✅ |
|
||||||
| Self-hosted MinIO | - | Path Style | ✅ |
|
| 自建 MinIO | - | Path 風格 | ✅ |
|
||||||
| Huawei Cloud OBS | - | Virtual Hosted Style | ❓ |
|
| 華為雲 OBS | - | Virtual Hosted 風格 | ❓ |
|
||||||
|
|
||||||
:::tip Note
|
:::tip 提示
|
||||||
Huawei Cloud official documentation does not specify S3 API compatibility, but it works in actual testing.
|
華為雲官方文檔未說明是否相容 S3 API,但實際測試可以使用。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
#### Configuration Examples
|
#### 配置範例
|
||||||
|
|
||||||
**Alibaba Cloud OSS**
|
**阿里雲 OSS**
|
||||||
|
|
||||||
```
|
```
|
||||||
Name: aliyun-oss
|
名稱: aliyun-oss
|
||||||
Type: S3
|
類型: S3
|
||||||
Access Key: Your AccessKey ID
|
Access Key: 你的 AccessKey ID
|
||||||
Secret Key: Your AccessKey Secret
|
Secret Key: 你的 AccessKey Secret
|
||||||
Style: Virtual Hosted
|
風格: Virtual Hosted
|
||||||
Region: cn-hangzhou
|
區域: cn-hangzhou
|
||||||
Endpoint: oss-cn-hangzhou.aliyuncs.com
|
端點: oss-cn-hangzhou.aliyuncs.com
|
||||||
Protocol: HTTPS
|
協定: HTTPS
|
||||||
Bucket: your-bucket-name
|
儲存桶: your-bucket-name
|
||||||
Path: backup (optional)
|
路徑: backup(可選)
|
||||||
```
|
```
|
||||||
|
|
||||||
**Tencent Cloud COS**
|
**騰訊雲 COS**
|
||||||
|
|
||||||
```
|
```
|
||||||
Name: tencent-cos
|
名稱: tencent-cos
|
||||||
Type: S3
|
類型: S3
|
||||||
Access Key: Your SecretId
|
Access Key: 你的 SecretId
|
||||||
Secret Key: Your SecretKey
|
Secret Key: 你的 SecretKey
|
||||||
Style: Virtual Hosted
|
風格: Virtual Hosted
|
||||||
Region: ap-guangzhou
|
區域: ap-guangzhou
|
||||||
Endpoint: cos.ap-guangzhou.myqcloud.com
|
端點: cos.ap-guangzhou.myqcloud.com
|
||||||
Protocol: HTTPS
|
協定: HTTPS
|
||||||
Bucket: your-bucket-name
|
儲存桶: your-bucket-name
|
||||||
Path: backup (optional)
|
路徑: backup(可選)
|
||||||
```
|
```
|
||||||
|
|
||||||
**Cloudflare R2**
|
**Cloudflare R2**
|
||||||
|
|
||||||
```
|
```
|
||||||
Name: cloudflare-r2
|
名稱: cloudflare-r2
|
||||||
Type: S3
|
類型: S3
|
||||||
Access Key: Your Access Key ID
|
Access Key: 你的 Access Key ID
|
||||||
Secret Key: Your Secret Access Key
|
Secret Key: 你的 Secret Access Key
|
||||||
Style: Path Style
|
風格: Path Style
|
||||||
Region: auto
|
區域: auto
|
||||||
Endpoint: <account-id>.r2.cloudflarestorage.com
|
端點: <account-id>.r2.cloudflarestorage.com
|
||||||
Protocol: HTTPS
|
協定: HTTPS
|
||||||
Bucket: your-bucket-name
|
儲存桶: your-bucket-name
|
||||||
Path: backup (optional)
|
路徑: backup(可選)
|
||||||
```
|
```
|
||||||
|
|
||||||
**Self-hosted MinIO**
|
**自建 MinIO**
|
||||||
|
|
||||||
```
|
```
|
||||||
Name: minio
|
名稱: minio
|
||||||
Type: S3
|
類型: S3
|
||||||
Access Key: minioadmin
|
Access Key: minioadmin
|
||||||
Secret Key: minioadmin
|
Secret Key: minioadmin
|
||||||
Style: Path Style
|
風格: Path Style
|
||||||
Region: us-east-1
|
區域: us-east-1
|
||||||
Endpoint: minio.example.com:9000
|
端點: minio.example.com:9000
|
||||||
Protocol: HTTP or HTTPS
|
協定: HTTP 或 HTTPS
|
||||||
Bucket: backup
|
儲存桶: backup
|
||||||
Path: (optional)
|
路徑:(可選)
|
||||||
```
|
```
|
||||||
|
|
||||||
:::warning Note
|
:::warning 注意
|
||||||
|
|
||||||
- Please ensure the bucket has been created and has correct access permissions
|
- 請確保儲存桶已創建且有正確的存取權限
|
||||||
- It is recommended to create dedicated access keys for backups with limited permissions
|
- 建議為備份創建專用的存取金鑰,並限制權限範圍
|
||||||
- Some providers' Endpoints need to include region information
|
- 部分服務商的 Endpoint 需要包含區域資訊
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Scheduled Backup
|
## 定時備份
|
||||||
|
|
||||||
Combined with the [Scheduled Tasks](./task/schedule) feature, you can set up automatic scheduled backups:
|
結合 [計劃任務](./task/schedule) 功能,可以設定定時自動備份:
|
||||||
|
|
||||||
1. Go to **Tasks** > **Scheduled Tasks**
|
1. 進入 **任務** > **計劃任務**
|
||||||
2. Create a new task
|
2. 創建新任務
|
||||||
3. Select backup type
|
3. 選擇備份類型
|
||||||
4. Set execution schedule
|
4. 設定執行週期
|
||||||
5. Select storage location
|
5. 選擇儲存位置
|
||||||
|
|
||||||
## Backup Strategy Recommendations
|
## 備份策略建議
|
||||||
|
|
||||||
### Backup Frequency
|
### 備份頻率
|
||||||
|
|
||||||
| Data Type | Recommended Frequency |
|
| 資料類型 | 建議頻率 |
|
||||||
| ------------------- | ------------------------------ |
|
| ---- | ------- |
|
||||||
| Database | Daily |
|
| 資料庫 | 每天 |
|
||||||
| Website Files | Weekly |
|
| 網站檔案 | 每週 |
|
||||||
| Configuration Files | Immediately after modification |
|
| 配置檔案 | 修改後立即備份 |
|
||||||
|
|
||||||
### Retention Policy
|
### 保留策略
|
||||||
|
|
||||||
- Keep daily backups for the last 7 days
|
- 保留最近 7 天的每日備份
|
||||||
- Keep weekly backups for the last 4 weeks
|
- 保留最近 4 週的每週備份
|
||||||
- Keep monthly backups for the last 3 months
|
- 保留最近 3 個月的每月備份
|
||||||
|
|
||||||
### Storage Location
|
### 儲存位置
|
||||||
|
|
||||||
- Keep at least one local backup
|
- 至少保留一份本地備份
|
||||||
- Important data should also be backed up to remote storage
|
- 重要資料應同時備份到遠端儲存
|
||||||
- Regularly verify the integrity of backup files
|
- 定期驗證備份檔案的完整性
|
||||||
|
|||||||
@@ -1,81 +1,81 @@
|
|||||||
# Certificate
|
# 憑證
|
||||||
|
|
||||||
The certificate module is used to manage SSL/TLS certificates, supporting automatic free certificate application through the ACME protocol, as well as uploading your own certificates.
|
憑證模組用於管理 SSL/TLS 憑證,支援透過 ACME 協議自動申請免費憑證,也支援上傳自有憑證。
|
||||||
|
|
||||||
## Feature Overview
|
## 功能概覽
|
||||||
|
|
||||||
The certificate module is divided into three parts:
|
憑證模組分為三個部分:
|
||||||
|
|
||||||
| Feature | Description |
|
| 功能 | 說明 |
|
||||||
| -------------------------- | ---------------------------- |
|
| -------------------- | ------------- |
|
||||||
| [Certificate](./cert/cert) | Manage SSL certificates |
|
| [憑證](./cert/cert) | 管理 SSL 憑證 |
|
||||||
| [Account](./cert/account) | Manage ACME accounts |
|
| [帳戶](./cert/account) | 管理 ACME 帳戶 |
|
||||||
| [DNS](./cert/dns) | Manage DNS API configuration |
|
| [DNS](./cert/dns) | 管理 DNS API 配置 |
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Certificate Types
|
## 憑證類型
|
||||||
|
|
||||||
### Free Certificates
|
### 免費憑證
|
||||||
|
|
||||||
Automatically apply for free certificates from CAs like Let's Encrypt through the ACME protocol:
|
透過 ACME 協議從 Let's Encrypt 等 CA 自動申請免費憑證:
|
||||||
|
|
||||||
- **Let's Encrypt**: The most popular free certificate authority
|
- **Let's Encrypt**:最流行的免費憑證頒發機構
|
||||||
- **LiteSSL**: Free certificate service provided by TrustAsia
|
- **LiteSSL**:TrustAsia 提供的免費憑證服務
|
||||||
- **Google**: Google's free certificate service
|
- **Google**:谷歌的免費憑證服務
|
||||||
- **GoogleCN**: Google certificate service mirror provided by AcePanel
|
- **GoogleCN**:AcePanel 提供的谷歌憑證服務鏡像
|
||||||
- **ZeroSSL**: Another free certificate option
|
- **ZeroSSL**:另一個免費憑證選項
|
||||||
- **Buypass**: Norwegian free certificate service
|
- **Buypass**:挪威的免費憑證服務
|
||||||
|
|
||||||
Free certificates are typically valid for 90 days, and AcePanel supports automatic renewal.
|
免費憑證有效期通常為 90 天,AcePanel 支援自動續簽。
|
||||||
|
|
||||||
### Paid Certificates
|
### 付費憑證
|
||||||
|
|
||||||
Certificates purchased from commercial CAs, typically valid for 1 year or longer:
|
從商業 CA 購買的憑證,通常有效期為 1 年或更長:
|
||||||
|
|
||||||
- Longer validity period
|
- 更長的有效期
|
||||||
- Higher trust level
|
- 更高的信任度
|
||||||
- Provides insurance and technical support
|
- 提供保險和技術支援
|
||||||
|
|
||||||
If you need to purchase certificates, you can contact us through the "Certificate" link at the top of this page.
|
如有憑證購買需求,可透過本頁頂部的「憑證」連結聯繫我們。
|
||||||
|
|
||||||
## Verification Methods
|
## 驗證方式
|
||||||
|
|
||||||
When applying for a certificate, you need to verify domain ownership. The following methods are supported:
|
申請憑證時需要驗證網域所有權, 支援以下方式:
|
||||||
|
|
||||||
### HTTP Verification
|
### HTTP 驗證
|
||||||
|
|
||||||
Place a verification file in the website root directory, and the CA verifies through HTTP access.
|
在網站根目錄放置驗證檔案,CA 透過 HTTP 存取驗證。
|
||||||
|
|
||||||
Requirements:
|
要求:
|
||||||
|
|
||||||
- Domain is resolved to the server
|
- 網域已解析到伺服器
|
||||||
- Port 80 is accessible
|
- 80 連接埠可存取
|
||||||
|
|
||||||
### DNS Verification
|
### DNS 驗證
|
||||||
|
|
||||||
Add a TXT record in the domain DNS for verification.
|
在網域 DNS 中新增 TXT 記錄驗證。
|
||||||
|
|
||||||
Requirements:
|
要求:
|
||||||
|
|
||||||
- Have DNS management permissions for the domain
|
- 有網域 DNS 管理權限
|
||||||
- Configure DNS API (for automatic verification)
|
- 配置 DNS API(用於自動驗證)
|
||||||
|
|
||||||
Advantages of DNS verification:
|
DNS 驗證的優勢:
|
||||||
|
|
||||||
- Supports applying for wildcard certificates (\*.example.com)
|
- 支援申請萬用字元憑證(\*.example.com)
|
||||||
- Does not require port 80 to be accessible
|
- 不需要 80 連接埠可存取
|
||||||
- Suitable for intranet servers
|
- 適合內網伺服器
|
||||||
|
|
||||||
## Quick Start
|
## 快速開始
|
||||||
|
|
||||||
1. Create an ACME account (first time use)
|
1. 建立 ACME 帳戶(首次使用)
|
||||||
2. If DNS verification is needed, configure DNS API
|
2. 如需 DNS 驗證,配置 DNS API
|
||||||
3. Create a certificate, select verification method
|
3. 建立憑證,選擇驗證方式
|
||||||
4. Apply the certificate to the website
|
4. 將憑證套用到網站
|
||||||
|
|
||||||
## Next Steps
|
## 下一步
|
||||||
|
|
||||||
- [Certificate Management](./cert/cert) - Learn how to apply for and manage certificates
|
- [憑證管理](./cert/cert) - 了解如何申請和管理憑證
|
||||||
- [Account Management](./cert/account) - Learn how to manage ACME accounts
|
- [帳戶管理](./cert/account) - 了解如何管理 ACME 帳戶
|
||||||
- [DNS Configuration](./cert/dns) - Learn how to configure DNS API
|
- [DNS 配置](./cert/dns) - 了解如何配置 DNS API
|
||||||
|
|||||||
@@ -1,84 +1,84 @@
|
|||||||
# Account Management
|
# 帳戶管理
|
||||||
|
|
||||||
The account management page is used to manage ACME accounts. ACME accounts are used to apply for certificates from certificate authorities.
|
帳戶管理頁面用於管理 ACME 帳戶, ACME 帳戶用於向證書頒發機構申請證書。
|
||||||
|
|
||||||
## Account List
|
## 帳戶列表
|
||||||
|
|
||||||
Go to **Certificate** > **Account** tab to view the account list.
|
進入 **證書** > **帳戶** 標籤頁查看帳戶列表。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The list displays the following information:
|
列表顯示以下資訊:
|
||||||
|
|
||||||
- **Email**: Account email
|
- **郵箱**:帳戶郵箱
|
||||||
- **CA**: Certificate Authority
|
- **CA**:證書頒發機構
|
||||||
- **Key Type**: Account key type
|
- **密鑰類型**:帳戶密鑰類型
|
||||||
- **Actions**: Modify, delete
|
- **操作**:修改、刪除
|
||||||
|
|
||||||
## Create Account
|
## 創建帳戶
|
||||||
|
|
||||||
1. Click the **Create Account** button
|
1. 點擊 **創建帳戶** 按鈕
|
||||||
2. Fill in the configuration:
|
2. 填寫配置:
|
||||||
- **Email**: Used to receive certificate-related notifications
|
- **郵箱**:用於接收證書相關通知
|
||||||
- **CA**: Select certificate authority
|
- **CA**:選擇證書頒發機構
|
||||||
- **Key Type**: Select key algorithm
|
- **密鑰類型**:選擇密鑰演算法
|
||||||
- **KID**: Optional, some CAs require KID
|
- **KID**:可選,部分 CA 需要提供 KID
|
||||||
- **HMAC**: Optional, some CAs require HMAC key
|
- **HMAC**:可選,部分 CA 需要提供 HMAC 密鑰
|
||||||
3. Click Create
|
3. 點擊創建
|
||||||
|
|
||||||
### Certificate Authority (CA)
|
### 證書頒發機構(CA)
|
||||||
|
|
||||||
| CA | Description |
|
| CA | 說明 |
|
||||||
| ------------- | ------------------------------------------------------ |
|
| ------------- | -------------------- |
|
||||||
| Let's Encrypt | Most popular free CA, certificate valid for 90 days |
|
| Let's Encrypt | 最流行的免費 CA,證書有效期 90 天 |
|
||||||
| LiteSSL | Free certificate service provided by TrustAsia |
|
| LiteSSL | TrustAsia 提供的免費證書服務 |
|
||||||
| Google | Google's free certificate service |
|
| Google | 谷歌的免費證書服務 |
|
||||||
| GoogleCN | Google certificate service mirror provided by AcePanel |
|
| GoogleCN | AcePanel 提供的谷歌證書服務鏡像 |
|
||||||
| ZeroSSL | Free CA, certificate valid for 90 days |
|
| ZeroSSL | 免費 CA,證書有效期 90 天 |
|
||||||
| Buypass | Norwegian free CA, certificate valid for 180 days |
|
| Buypass | 挪威免費 CA,證書有效期 180 天 |
|
||||||
|
|
||||||
### Key Type
|
### 密鑰類型
|
||||||
|
|
||||||
| Type | Description |
|
| 類型 | 說明 |
|
||||||
| ----------------------------- | -------------------------------------------- |
|
| ----------------------------- | --------------- |
|
||||||
| P256 (ECC) | Recommended, shorter key, better performance |
|
| P256 (ECC) | 推薦,密鑰更短,性能更好 |
|
||||||
| P384 (ECC) | Higher security ECC key |
|
| P384 (ECC) | 更高安全性的 ECC 密鑰 |
|
||||||
| RSA 2048 | Traditional RSA key, best compatibility |
|
| RSA 2048 | 傳統 RSA 密鑰,兼容性最好 |
|
||||||
| RSA 4096 | Higher security RSA key |
|
| RSA 4096 | 更高安全性的 RSA 密鑰 |
|
||||||
|
|
||||||
:::tip Recommendation
|
:::tip 推薦
|
||||||
Generally recommended to use P256 (ECC) key, balancing security and performance.
|
一般情況下推薦使用 P256 (ECC) 密鑰,兼顧安全性和性能。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Modify Account
|
## 修改帳戶
|
||||||
|
|
||||||
Click the **Modify** button on the right side of the account to modify the account email.
|
點擊帳戶右側的 **修改** 按鈕可以修改帳戶郵箱。
|
||||||
|
|
||||||
:::warning Note
|
:::warning 注意
|
||||||
After modifying the email, certificate-related notifications will be sent to the new email.
|
修改郵箱後,證書相關通知將發送到新郵箱。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Delete Account
|
## 刪除帳戶
|
||||||
|
|
||||||
Click the **Delete** button on the right side of the account to delete the account.
|
點擊帳戶右側的 **刪除** 按鈕刪除帳戶。
|
||||||
|
|
||||||
:::warning Note
|
:::warning 注意
|
||||||
After deleting an account, certificates applied with that account cannot be renewed. Please migrate certificates to another account or delete related certificates first.
|
刪除帳戶後,使用該帳戶申請的證書將無法續簽。 請先將證書遷移到其他帳戶或刪除相關證書。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Account Usage
|
## 帳戶用途
|
||||||
|
|
||||||
ACME accounts are used for:
|
ACME 帳戶用於:
|
||||||
|
|
||||||
1. Proving your identity to the CA
|
1. 向 CA 證明你的身份
|
||||||
2. Receiving certificate expiration reminders
|
2. 接收證書到期提醒
|
||||||
3. Managing applied certificates
|
3. 管理已申請的證書
|
||||||
4. Revoking certificates
|
4. 撤銷證書
|
||||||
|
|
||||||
## Multiple Accounts
|
## 多帳戶
|
||||||
|
|
||||||
You can create multiple accounts:
|
你可以創建多個帳戶:
|
||||||
|
|
||||||
- Different CAs require different accounts
|
- 不同 CA 需要不同帳戶
|
||||||
- Can use different accounts for different projects
|
- 可以為不同項目使用不同帳戶
|
||||||
- Convenient for managing and distinguishing certificates
|
- 便於管理和區分證書
|
||||||
|
|||||||
@@ -1,103 +1,103 @@
|
|||||||
# Certificate Management
|
# 憑證管理
|
||||||
|
|
||||||
The certificate management page is used to apply for, upload, and manage SSL/TLS certificates.
|
憑證管理頁面用於申請、上傳和管理 SSL/TLS 憑證。
|
||||||
|
|
||||||
## Certificate List
|
## 憑證列表
|
||||||
|
|
||||||
Go to the **Certificate** page, which displays the certificate list by default.
|
進入 **憑證** 頁面,預設顯示憑證列表。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The list displays the following information:
|
列表顯示以下資訊:
|
||||||
|
|
||||||
- **Domain**: Domains included in the certificate
|
- **網域**:憑證包含的網域
|
||||||
- **Type**: Certificate type (ACME/Upload)
|
- **類型**:憑證類型(ACME/上傳)
|
||||||
- **Associated Account**: ACME account used
|
- **關聯帳戶**:使用的 ACME 帳戶
|
||||||
- **Issuer**: Certificate authority
|
- **頒發者**:憑證頒發機構
|
||||||
- **Expiration Time**: Certificate expiration time
|
- **過期時間**:憑證到期時間
|
||||||
- **Next Renewal Time**: Automatic renewal time
|
- **下次續簽時間**:自動續簽時間
|
||||||
- **Auto Renewal**: Whether auto renewal is enabled
|
- **自動續簽**:是否啟用自動續簽
|
||||||
- **Actions**: Renew, download, delete, etc.
|
- **操作**:續簽、下載、刪除等
|
||||||
|
|
||||||
## Create Certificate
|
## 建立憑證
|
||||||
|
|
||||||
Click the **Create Certificate** button to apply for a new certificate.
|
點擊 **建立憑證** 按鈕申請新憑證。
|
||||||
|
|
||||||
### Configuration Items
|
### 配置項
|
||||||
|
|
||||||
- **Domain**: Domains to apply certificate for, supports multiple domains
|
- **網域**:要申請憑證的網域,支援多個網域
|
||||||
- **Key Type**: RSA or ECC
|
- **金鑰類型**:RSA 或 ECC
|
||||||
- **Website**: Website associated with this certificate
|
- **網站**:該憑證關聯的網站
|
||||||
- **Account**: ACME account associated with this certificate
|
- **帳戶**:該憑證關聯的 ACME 帳戶
|
||||||
- **DNS**: DNS API associated with this certificate
|
- **DNS**:該憑證關聯的 DNS API
|
||||||
|
|
||||||
### Domain Format
|
### 網域格式
|
||||||
|
|
||||||
```
|
```
|
||||||
example.com # Single domain
|
example.com # 單個網域
|
||||||
www.example.com # Subdomain
|
www.example.com # 子網域
|
||||||
*.example.com # Wildcard domain (requires DNS verification)
|
*.example.com # 泛網域(需要 DNS 驗證)
|
||||||
```
|
```
|
||||||
|
|
||||||
:::tip Note
|
:::tip 提示
|
||||||
Wildcard certificates (\*.example.com) can only be applied through DNS verification.
|
泛網域憑證(\*.example.com)只能透過 DNS 驗證方式申請。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Upload Certificate
|
## 上傳憑證
|
||||||
|
|
||||||
Click the **Upload Certificate** button to upload an existing certificate.
|
點擊 **上傳憑證** 按鈕上傳已有憑證。
|
||||||
|
|
||||||
Required:
|
需要提供:
|
||||||
|
|
||||||
- **Certificate File**: PEM format certificate (.crt or .pem), please include complete certificate chain
|
- **憑證檔案**:PEM 格式的憑證(.crt 或 .pem),請包含完整憑證鏈
|
||||||
- **Private Key File**: PEM format private key (.key)
|
- **私鑰檔案**:PEM 格式的私鑰(.key)
|
||||||
|
|
||||||
## Apply Certificate
|
## 套用憑證
|
||||||
|
|
||||||
After applying or uploading a certificate, you need to enable HTTPS in the website settings and select the certificate.
|
申請或上傳憑證後,需要在網站設定中啟用 HTTPS 並選擇憑證。
|
||||||
|
|
||||||
1. Enter the website edit page
|
1. 進入網站編輯頁面
|
||||||
2. Switch to the **HTTPS** tab
|
2. 切換到 **HTTPS** 標籤
|
||||||
3. Enable HTTPS
|
3. 啟用 HTTPS
|
||||||
4. Select certificate
|
4. 選擇憑證
|
||||||
5. Save configuration
|
5. 儲存配置
|
||||||
|
|
||||||
## Auto Renewal
|
## 自動續簽
|
||||||
|
|
||||||
ACME certificates support auto renewal:
|
ACME 憑證支援自動續簽:
|
||||||
|
|
||||||
- After certificate issuance, the recommended renewal time is obtained through ARI
|
- 憑證簽發後透過 ARI 取得建議的續簽時間
|
||||||
- The system will automatically attempt renewal before the renewal time
|
- 系統會在續簽時間前自動嘗試續簽
|
||||||
- After successful renewal, website configuration is automatically updated
|
- 續簽成功後自動更新網站配置
|
||||||
- Notification is sent if renewal fails
|
- 續簽失敗會傳送通知
|
||||||
|
|
||||||
## Certificate Operations
|
## 憑證操作
|
||||||
|
|
||||||
### Manual Renewal
|
### 手動續簽
|
||||||
|
|
||||||
Click the **Renew** button to manually trigger certificate renewal.
|
點擊 **續簽** 按鈕手動觸發憑證續簽。
|
||||||
|
|
||||||
### Download Certificate
|
### 下載憑證
|
||||||
|
|
||||||
Click the **Download** button to download certificate files, including:
|
點擊 **下載** 按鈕下載憑證檔案,包含:
|
||||||
|
|
||||||
- Complete certificate chain (.crt)
|
- 完整憑證鏈(.crt)
|
||||||
- Private key file (.key)
|
- 私鑰檔案(.key)
|
||||||
|
|
||||||
### Delete Certificate
|
### 刪除憑證
|
||||||
|
|
||||||
Click the **Delete** button to delete the certificate.
|
點擊 **刪除** 按鈕刪除憑證。
|
||||||
|
|
||||||
## FAQ
|
## 常見問題
|
||||||
|
|
||||||
### Application Failed
|
### 申請失敗
|
||||||
|
|
||||||
- Check if the domain is correctly resolved to the server
|
- 檢查網域是否正確解析到伺服器
|
||||||
- Check if port 80 is accessible (HTTP verification)
|
- 檢查 80 連接埠是否可存取(HTTP 驗證)
|
||||||
- Check if DNS API configuration is correct (DNS verification)
|
- 檢查 DNS API 配置是否正確(DNS 驗證)
|
||||||
|
|
||||||
### Renewal Failed
|
### 續簽失敗
|
||||||
|
|
||||||
- Check if domain resolution has changed
|
- 檢查網域解析是否變更
|
||||||
- Check if DNS API has expired
|
- 檢查 DNS API 是否過期
|
||||||
- Check panel logs for detailed errors
|
- 查看面板日誌了解詳細錯誤
|
||||||
|
|||||||
@@ -1,99 +1,99 @@
|
|||||||
# DNS Configuration
|
# DNS 配置
|
||||||
|
|
||||||
The DNS configuration page is used to manage DNS APIs for applying certificates through DNS verification.
|
DNS 配置頁面用於管理 DNS API,用於通過 DNS 驗證方式申請證書。
|
||||||
|
|
||||||
## DNS List
|
## DNS 列表
|
||||||
|
|
||||||
Go to **Certificate** > **DNS** tab to view the DNS configuration list.
|
進入 **證書** > **DNS** 標籤頁查看 DNS 配置列表。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The list displays the following information:
|
列表顯示以下資訊:
|
||||||
|
|
||||||
- **Remark Name**: Configuration name
|
- **備註名稱**:配置名稱
|
||||||
- **Type**: DNS provider type
|
- **類型**:DNS 提供商類型
|
||||||
- **Actions**: Modify, delete
|
- **操作**:修改、刪除
|
||||||
|
|
||||||
## Create DNS Configuration
|
## 創建 DNS 配置
|
||||||
|
|
||||||
1. Click the **Create DNS** button
|
1. 點擊 **創建 DNS** 按鈕
|
||||||
2. Select DNS provider
|
2. 選擇 DNS 提供商
|
||||||
3. Fill in API credentials
|
3. 填寫 API 憑證
|
||||||
4. Click Create
|
4. 點擊創建
|
||||||
|
|
||||||
## Supported DNS Providers
|
## 支持的 DNS 提供商
|
||||||
|
|
||||||
### Domestic Providers
|
### 國內提供商
|
||||||
|
|
||||||
| Provider | Required Credentials |
|
| 提供商 | 所需憑證 |
|
||||||
| --------------------------- | ------------------------------ |
|
| ---------- | ----------------------------- |
|
||||||
| Alibaba Cloud DNS | AccessKey ID, AccessKey Secret |
|
| 阿里雲 DNS | AccessKey ID、AccessKey Secret |
|
||||||
| Tencent Cloud DNSPod | SecretId, SecretKey |
|
| 騰訊雲 DNSPod | SecretId、SecretKey |
|
||||||
| Huawei Cloud DNS | AccessKeyId, SecretAccessKey |
|
| 華為雲 DNS | AccessKeyId、SecretAccessKey |
|
||||||
| West.cn DNS | Username, API Password |
|
| 西部數碼 DNS | Username、API Password |
|
||||||
|
|
||||||
### International Providers
|
### 國際提供商
|
||||||
|
|
||||||
| Provider | Required Credentials |
|
| 提供商 | 所需憑證 |
|
||||||
| ---------- | ---------------------- |
|
| ---------- | --------------------- |
|
||||||
| Cloudflare | API Token |
|
| Cloudflare | API Token |
|
||||||
| Gcore DNS | API Key |
|
| Gcore DNS | API Key |
|
||||||
| Porkbun | API Key, Secret Key |
|
| Porkbun | API Key、Secret Key |
|
||||||
| NameSilo | API Token |
|
| NameSilo | API Token |
|
||||||
| ClouDNS | Auth ID, Auth Password |
|
| ClouDNS | Auth ID、Auth Password |
|
||||||
|
|
||||||
## Obtaining API Credentials
|
## 獲取 API 憑證
|
||||||
|
|
||||||
### Alibaba Cloud
|
### 阿里雲
|
||||||
|
|
||||||
1. Log in to Alibaba Cloud console
|
1. 登錄阿里雲控制台
|
||||||
2. Go to **AccessKey Management**
|
2. 進入 **AccessKey 管理**
|
||||||
3. Create AccessKey
|
3. 創建 AccessKey
|
||||||
4. Record AccessKey ID and AccessKey Secret
|
4. 記錄 AccessKey ID 和 AccessKey Secret
|
||||||
|
|
||||||
:::warning Security Notice
|
:::warning 安全提示
|
||||||
It is recommended to create a sub-account and only grant DNS management permissions. Avoid using the main account AccessKey.
|
建議創建子帳號並只授予 DNS 管理權限, 避免使用主帳戶的 AccessKey。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
### Tencent Cloud
|
### 騰訊雲
|
||||||
|
|
||||||
1. Log in to Tencent Cloud console
|
1. 登錄騰訊雲控制台
|
||||||
2. Go to **Access Management** > **API Key Management**
|
2. 進入 **訪問管理** > **API 密鑰管理**
|
||||||
3. Create key
|
3. 創建密鑰
|
||||||
4. Record SecretId and SecretKey
|
4. 記錄 SecretId 和 SecretKey
|
||||||
|
|
||||||
### Cloudflare
|
### Cloudflare
|
||||||
|
|
||||||
1. Log in to Cloudflare console
|
1. 登錄 Cloudflare 控制台
|
||||||
2. Go to **My Profile** > **API Tokens**
|
2. 進入 **My Profile** > **API Tokens**
|
||||||
3. Create Token, select **Edit zone DNS** template
|
3. 創建 Token,選擇 **Edit zone DNS** 模板
|
||||||
4. Record the generated Token
|
4. 記錄生成的 Token
|
||||||
|
|
||||||
## DNS Verification Principle
|
## DNS 驗證原理
|
||||||
|
|
||||||
1. When applying for a certificate, the CA requires adding a specific TXT record in the domain DNS
|
1. 申請證書時,CA 要求在域名 DNS 中添加特定的 TXT 記錄
|
||||||
2. AcePanel automatically adds the verification record through DNS API
|
2. AcePanel 通過 DNS API 自動添加驗證記錄
|
||||||
3. CA verifies the TXT record exists
|
3. CA 驗證 TXT 記錄存在
|
||||||
4. Certificate is issued after verification passes
|
4. 驗證通過後頒發證書
|
||||||
5. AcePanel automatically deletes the verification record
|
5. AcePanel 自動刪除驗證記錄
|
||||||
|
|
||||||
## Use Cases
|
## 使用場景
|
||||||
|
|
||||||
DNS verification is suitable for:
|
DNS 驗證適用於:
|
||||||
|
|
||||||
- Applying for wildcard certificates (\*.example.com)
|
- 申請泛域名證書(\*.example.com)
|
||||||
- Server port 80 is not accessible
|
- 伺服器 80 端口不可訪問
|
||||||
- Intranet servers
|
- 內網伺服器
|
||||||
- Origin servers behind CDN
|
- CDN 後的源站
|
||||||
|
|
||||||
## FAQ
|
## 常見問題
|
||||||
|
|
||||||
### Verification Failed
|
### 驗證失敗
|
||||||
|
|
||||||
- Check if API credentials are correct
|
- 檢查 API 憑證是否正確
|
||||||
- Check if API permissions are sufficient
|
- 檢查 API 權限是否足夠
|
||||||
- Check if the domain is managed by that DNS provider
|
- 檢查域名是否在該 DNS 提供商管理
|
||||||
|
|
||||||
### DNS Propagation Delay
|
### DNS 傳播延遲
|
||||||
|
|
||||||
DNS records need some time to propagate after being added, usually ranging from a few minutes to a few hours. If verification fails, you can retry later.
|
DNS 記錄添加後需要一定時間傳播,通常幾分鐘到幾小時不等。 如果驗證失敗,可以稍後重試。
|
||||||
|
|||||||
@@ -1,56 +1,56 @@
|
|||||||
# Container
|
# 容器
|
||||||
|
|
||||||
The container module provides complete Docker container management functionality, including management of containers, compose, images, networks, and volumes.
|
容器模組提供了完整的 Docker 容器管理功能,包括容器、編排、映像、網路和卷的管理。
|
||||||
|
|
||||||
## Prerequisites
|
## 前置要求
|
||||||
|
|
||||||
Before using the container feature, you need to install Docker or Podman first:
|
使用容器功能前,需要先安裝 Docker 或 Podman:
|
||||||
|
|
||||||
1. Go to **Applications** > **Native Applications**
|
1. 進入 **應用** > **原生應用**
|
||||||
2. Find Docker or Podman, click **Install**
|
2. 找到 Docker 或 Podman,點擊 **安裝**
|
||||||
|
|
||||||
## Feature Overview
|
## 功能概覽
|
||||||
|
|
||||||
The container module is divided into five parts:
|
容器模組分為五個部分:
|
||||||
|
|
||||||
| Feature | Description |
|
| 功能 | 說明 |
|
||||||
| ---------------------------------- | -------------------------------------------------------- |
|
| --------------------------- | ------------------------- |
|
||||||
| [Container](./container/container) | Manage running container instances |
|
| [容器](./container/container) | 管理運行中的容器實例 |
|
||||||
| [Compose](./container/compose) | Manage multi-container applications using Docker Compose |
|
| [編排](./container/compose) | 使用 Docker Compose 管理多容器應用 |
|
||||||
| [Image](./container/image) | Manage local images |
|
| [映像](./container/image) | 管理本地映像 |
|
||||||
| [Network](./container/network) | Manage Docker networks |
|
| [網路](./container/network) | 管理 Docker 網路 |
|
||||||
| [Volume](./container/volume) | Manage data volumes |
|
| [卷](./container/volume) | 管理資料卷 |
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Quick Start
|
## 快速開始
|
||||||
|
|
||||||
### Create Container
|
### 創建容器
|
||||||
|
|
||||||
1. Go to the **Container** page
|
1. 進入 **容器** 頁面
|
||||||
2. Click **Create Container**
|
2. 點擊 **創建容器**
|
||||||
3. Enter the image name (e.g., `nginx:latest`)
|
3. 填寫映像名稱(如 `nginx:latest`)
|
||||||
4. Configure port mapping, volume mounts, etc.
|
4. 配置連接埠映射、卷掛載等
|
||||||
5. Click **Create**
|
5. 點擊 **創建**
|
||||||
|
|
||||||
### Use Container Templates
|
### 使用容器模板
|
||||||
|
|
||||||
If you want to quickly deploy common applications, it is recommended to use [Container Templates](./app/template), which allows one-click deployment without manual configuration.
|
如果你想快速部署常用應用,推薦使用 [容器模板](./app/template),無需手動配置即可一鍵部署。
|
||||||
|
|
||||||
## Container vs Native Application
|
## 容器 vs 原生應用
|
||||||
|
|
||||||
| Feature | Container | Native Application |
|
| 特性 | 容器 | 原生應用 |
|
||||||
| ------------------ | ---------------------- | ----------------------------- |
|
| ---- | ------- | ------ |
|
||||||
| Isolation | Fully isolated | Shared system environment |
|
| 隔離性 | 完全隔離 | 共享系統環境 |
|
||||||
| Performance | Slight overhead | Native performance |
|
| 性能 | 略有損耗 | 原生性能 |
|
||||||
| Deployment | Standardized, portable | Depends on system environment |
|
| 部署 | 標準化、可移植 | 依賴系統環境 |
|
||||||
| Resource Usage | Higher | Lower |
|
| 資源佔用 | 較高 | 較低 |
|
||||||
| Version Management | Easy to switch | Requires manual management |
|
| 版本管理 | 方便切換 | 需要手動管理 |
|
||||||
|
|
||||||
## Next Steps
|
## 下一步
|
||||||
|
|
||||||
- [Container Management](./container/container) - Learn how to manage containers
|
- [容器管理](./container/container) - 了解如何管理容器
|
||||||
- [Compose Management](./container/compose) - Learn how to use Docker Compose
|
- [編排管理](./container/compose) - 了解如何使用 Docker Compose
|
||||||
- [Image Management](./container/image) - Learn how to manage images
|
- [映像管理](./container/image) - 了解如何管理映像
|
||||||
- [Network Management](./container/network) - Learn how to manage networks
|
- [網路管理](./container/network) - 了解如何管理網路
|
||||||
- [Volume Management](./container/volume) - Learn how to manage data volumes
|
- [卷管理](./container/volume) - 了解如何管理資料卷
|
||||||
|
|||||||
@@ -1,32 +1,32 @@
|
|||||||
# Compose
|
# 編排
|
||||||
|
|
||||||
The compose feature is based on Docker Compose, used to define and run multi-container applications. Describe the application's services, networks, and volumes through a YAML file, then start the entire application with one click.
|
編排功能基於 Docker Compose,用於定義和運行多容器應用。 通過一個 YAML 文件描述應用的服務、網路和卷,然後一鍵啟動整個應用。
|
||||||
|
|
||||||
## Compose List
|
## 編排列表
|
||||||
|
|
||||||
Go to **Container** > **Compose** tab to view the compose list.
|
進入 **容器** > **編排** 標籤頁查看編排列表。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The list displays the following information:
|
列表顯示以下資訊:
|
||||||
|
|
||||||
- **Name**: Compose project name
|
- **名稱**:編排項目名稱
|
||||||
- **Directory**: Directory where docker-compose.yml file is located
|
- **目錄**:docker-compose.yml 文件所在目錄
|
||||||
- **Status**: Running status
|
- **狀態**:運行狀態
|
||||||
- **Created Time**: Creation time
|
- **創建時間**:創建時間
|
||||||
- **Actions**: Start, stop, edit, etc.
|
- **操作**:啟動、停止、編輯等
|
||||||
|
|
||||||
## Create Compose
|
## 創建編排
|
||||||
|
|
||||||
1. Click the **Create Compose** button
|
1. 點擊 **創建編排** 按鈕
|
||||||
2. Enter compose name
|
2. 輸入編排名稱
|
||||||
3. Write or paste docker-compose.yml content
|
3. 編寫或粘貼 docker-compose.yml 內容
|
||||||
4. Configure environment variables (optional)
|
4. 配置環境變數(可選)
|
||||||
5. Click Create
|
5. 點擊創建
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### docker-compose.yml Example
|
### docker-compose.yml 示例
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
version: '3'
|
version: '3'
|
||||||
@@ -54,55 +54,55 @@ volumes:
|
|||||||
db_data:
|
db_data:
|
||||||
```
|
```
|
||||||
|
|
||||||
## Compose Operations
|
## 編排操作
|
||||||
|
|
||||||
### Start Compose
|
### 啟動編排
|
||||||
|
|
||||||
Click the **Start** button and a confirmation dialog will pop up:
|
點擊 **啟動** 按鈕會彈出確認對話框:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
- **Force Pull Images**: When checked, will pull the latest images before starting
|
- **強制拉取鏡像**:勾選後會在啟動前拉取最新鏡像
|
||||||
|
|
||||||
After clicking confirm, the startup progress will be displayed:
|
點擊確認後,會顯示啟動進度:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Starting compose will create and start all defined service containers.
|
啟動編排會創建並啟動所有定義的服務容器。
|
||||||
|
|
||||||
### Stop Compose
|
### 停止編排
|
||||||
|
|
||||||
Stopping compose will stop all related containers, but will not delete containers and data.
|
停止編排會停止所有相關容器,但不會刪除容器和資料。
|
||||||
|
|
||||||
### Delete Compose
|
### 刪除編排
|
||||||
|
|
||||||
Deleting compose will stop and delete all related containers.
|
刪除編排會停止並刪除所有相關容器。
|
||||||
|
|
||||||
:::warning Note
|
:::warning 注意
|
||||||
Deleting compose will not delete data volumes. To delete data volumes, please manually delete them on the **Volume** page.
|
刪除編排不會刪除資料卷, 如需刪除資料卷請在 **卷** 頁面手動刪除。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
### Edit Compose
|
### 編輯編排
|
||||||
|
|
||||||
Click the **Edit** button in the compose list to modify the docker-compose.yml file content and environment variables.
|
點擊編排列表中的 **編輯** 按鈕,可以修改 docker-compose.yml 文件內容和環境變數。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
After modification, you need to restart the compose for changes to take effect.
|
修改後需要重新啟動編排才能生效。
|
||||||
|
|
||||||
## Use Cases
|
## 使用場景
|
||||||
|
|
||||||
Compose is suitable for the following scenarios:
|
編排適合以下場景:
|
||||||
|
|
||||||
- **Multi-container Applications**: Such as Web application + database + cache
|
- **多容器應用**:如 Web 應用 + 資料庫 + 快取
|
||||||
- **Development Environment**: Quickly set up a consistent development environment
|
- **開發環境**:快速搭建一致的開發環境
|
||||||
- **Microservices Architecture**: Manage multiple interdependent services
|
- **微服務架構**:管理多個相互依賴的服務
|
||||||
|
|
||||||
## Difference from Container Templates
|
## 與容器模板的區別
|
||||||
|
|
||||||
| Feature | Compose | Container Templates |
|
| 特性 | 編排 | 容器模板 |
|
||||||
| -------------------- | --------------------------------- | ---------------------------------------- |
|
| ---- | --------------- | ---------- |
|
||||||
| Configuration Method | Write YAML manually | Graphical interface |
|
| 配置方式 | 手寫 YAML | 圖形介面 |
|
||||||
| Flexibility | Fully customizable | Use preset configuration + customization |
|
| 靈活性 | 完全自定義 | 使用預設配置+自定義 |
|
||||||
| Use Cases | Custom complex applications | Quick deployment of common applications |
|
| 適用場景 | 自定義複雜應用 | 快速部署常用應用 |
|
||||||
| Learning Cost | Need to understand Compose syntax | No learning required |
|
| 學習成本 | 需要了解 Compose 語法 | 無需學習 |
|
||||||
|
|||||||
@@ -1,93 +1,93 @@
|
|||||||
# Container Management
|
# 容器管理
|
||||||
|
|
||||||
Containers are the core concept of Docker, being running instances of images. Through the container management page, you can create, start, stop, and manage containers.
|
容器是 Docker 的核心概念,是映像的運行實例。 通過容器管理頁面,你可以創建、啟動、停止和管理容器。
|
||||||
|
|
||||||
## Container List
|
## 容器列表
|
||||||
|
|
||||||
Go to the **Container** page, which displays the container list by default.
|
進入 **容器** 頁面,預設顯示容器列表。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The list displays the following information:
|
列表顯示以下資訊:
|
||||||
|
|
||||||
- **Container Name**: Name of the container
|
- **容器名稱**:容器的名稱
|
||||||
- **Status**: Running status switch
|
- **狀態**:運行狀態開關
|
||||||
- **Image**: Image used by the container
|
- **映像**:容器使用的映像
|
||||||
- **Ports**: Port mapping (host port -> container port)
|
- **連接埠**:連接埠映射(主機連接埠 -> 容器連接埠)
|
||||||
- **Running Status**: Detailed running status information
|
- **運行狀態**:詳細的運行狀態資訊
|
||||||
- **Actions**: Terminal, logs, rename, etc.
|
- **操作**:終端、日誌、重新命名等
|
||||||
|
|
||||||
## Create Container
|
## 創建容器
|
||||||
|
|
||||||
Click the **Create Container** button to open the creation dialog.
|
點擊 **創建容器** 按鈕打開創建對話框。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Basic Settings
|
### 基本設置
|
||||||
|
|
||||||
- **Container Name**: Optional, auto-generated if left empty
|
- **容器名稱**:可選,留空則自動生成
|
||||||
- **Image**: Docker image name, e.g., `nginx:latest`, `mysql:8.0`
|
- **映像**:Docker 映像名稱,如 `nginx:latest`、`mysql:8.0`
|
||||||
- **Network**: Select the network for the container to use
|
- **網路**:選擇容器使用的網路
|
||||||
- **Restart Policy**: Restart behavior after container exits
|
- **重啟策略**:容器退出後的重啟行為
|
||||||
- None: Do not auto restart
|
- 無:不自動重啟
|
||||||
- always: Always restart
|
- always:總是重啟
|
||||||
- on-failure: Restart on failure
|
- on-failure:啟動失敗時重啟
|
||||||
- unless-stopped: Restart unless manually stopped
|
- unless-stopped:除非手動停止,否則重啟
|
||||||
|
|
||||||
### Advanced Options
|
### 進階選項
|
||||||
|
|
||||||
- **TTY (-t)**: Allocate a pseudo-TTY
|
- **TTY (-t)**:分配偽終端
|
||||||
- **STDIN (-i)**: Keep STDIN open
|
- **STDIN (-i)**:保持標準輸入打開
|
||||||
- **Auto Remove**: Automatically delete container when stopped
|
- **自動移除**:容器停止後自動刪除
|
||||||
- **Privileged Mode**: Grant container full system privileges (use with caution)
|
- **特權模式**:賦予容器完整的系統權限(謹慎使用)
|
||||||
|
|
||||||
### Port Mapping
|
### 連接埠映射
|
||||||
|
|
||||||
Map container internal ports to host ports, format: `host_port:container_port`
|
將容器內部連接埠映射到主機連接埠,格式:`主機連接埠:容器連接埠`
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
For example: `8080:80` means mapping container port 80 to host port 8080.
|
例如:`8080:80` 表示將容器的 80 連接埠映射到主機的 8080 連接埠。
|
||||||
|
|
||||||
### Volume Mounts
|
### 卷掛載
|
||||||
|
|
||||||
Mount host directories or data volumes to the container, format: `host_path:container_path`
|
將主機目錄或資料卷掛載到容器內,格式:`主機路徑:容器路徑`
|
||||||
|
|
||||||
For example: `/opt/ace/data:/data` means mounting the host's `/opt/ace/data` directory to the container's `/data` directory.
|
例如:`/opt/ace/data:/data` 表示將主機的 `/opt/ace/data` 目錄掛載到容器的 `/data` 目錄。
|
||||||
|
|
||||||
### Resource Limits
|
### 資源限制
|
||||||
|
|
||||||
Limit the CPU and memory resources the container can use.
|
限制容器可使用的 CPU 和記憶體資源。
|
||||||
|
|
||||||
### Environment Variables
|
### 環境變數
|
||||||
|
|
||||||
Set container environment variables, format: `KEY=VALUE`
|
設置容器的環境變數,格式:`KEY=VALUE`
|
||||||
|
|
||||||
## Container Operations
|
## 容器操作
|
||||||
|
|
||||||
### Batch Operations
|
### 批量操作
|
||||||
|
|
||||||
After selecting multiple containers, you can perform batch operations:
|
勾選多個容器後,可以進行批量操作:
|
||||||
|
|
||||||
- **Start**: Start selected containers
|
- **啟動**:啟動選中的容器
|
||||||
- **Stop**: Stop selected containers
|
- **停止**:停止選中的容器
|
||||||
- **Restart**: Restart selected containers
|
- **重啟**:重啟選中的容器
|
||||||
- **Force Stop**: Force stop selected containers
|
- **強制停止**:強制停止選中的容器
|
||||||
- **Pause**: Pause selected containers
|
- **暫停**:暫停選中的容器
|
||||||
- **Resume**: Resume paused containers
|
- **恢復**:恢復暫停的容器
|
||||||
- **Delete**: Delete selected containers
|
- **刪除**:刪除選中的容器
|
||||||
|
|
||||||
### Single Container Operations
|
### 單個容器操作
|
||||||
|
|
||||||
- **Terminal**: Open the container's terminal to execute commands inside the container
|
- **終端**:打開容器的終端,可以在容器內執行命令
|
||||||
- **Logs**: View container runtime logs
|
- **日誌**:查看容器運行日誌
|
||||||
- **Rename**: Modify container name
|
- **重新命名**:修改容器名稱
|
||||||
- **More**: View details, export, and other operations
|
- **更多**:查看詳情、匯出等操作
|
||||||
|
|
||||||
## Clean Containers
|
## 清理容器
|
||||||
|
|
||||||
Click **Clean Containers** to delete all stopped containers and free up system resources.
|
點擊 **清理容器** 可以刪除所有已停止的容器,釋放系統資源。
|
||||||
|
|
||||||
:::warning Note
|
:::warning 注意
|
||||||
The cleanup operation cannot be undone. Please ensure stopped containers are no longer needed.
|
清理操作不可恢復, 請確保已停止的容器不再需要。
|
||||||
:::
|
:::
|
||||||
|
|||||||
@@ -1,77 +1,77 @@
|
|||||||
# Image
|
# 映像
|
||||||
|
|
||||||
Images are templates for containers, containing all files and configurations needed to run applications. Through the image management page, you can pull, view, and delete local images.
|
映像是容器的模板,包含了運行應用所需的所有檔案和配置。 透過映像管理頁面,你可以拉取、查看和刪除本地映像。
|
||||||
|
|
||||||
## Image List
|
## 映像列表
|
||||||
|
|
||||||
Go to **Container** > **Image** tab to view the local image list.
|
進入 **容器** > **映像** 標籤頁查看本地映像列表。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The list displays the following information:
|
列表顯示以下資訊:
|
||||||
|
|
||||||
- **ID**: Image ID
|
- **ID**:映像 ID
|
||||||
- **Container Count**: Number of containers using this image
|
- **容器數量**:使用該映像的容器數量
|
||||||
- **Image**: Image name and tag
|
- **映像**:映像名稱和標籤
|
||||||
- **Size**: Disk space occupied by the image
|
- **大小**:映像佔用的磁碟空間
|
||||||
- **Created Time**: Image creation time
|
- **建立時間**:映像建立時間
|
||||||
- **Actions**: Delete, etc.
|
- **操作**:刪除等
|
||||||
|
|
||||||
## Pull Image
|
## 拉取映像
|
||||||
|
|
||||||
1. Click the **Pull Image** button
|
1. 點擊 **拉取映像** 按鈕
|
||||||
2. Enter the image name, e.g., `nginx:latest`, `mysql:8.4`
|
2. 輸入映像名稱,如 `nginx:latest`、`mysql:8.4`
|
||||||
3. Click confirm to start pulling
|
3. 點擊確認開始拉取
|
||||||
|
|
||||||
Image name format: `[registry_address/]image_name[:tag]`
|
映像名稱格式:`[倉庫地址/]映像名[:標籤]`
|
||||||
|
|
||||||
- `nginx` - Pull the latest tag of the official nginx image
|
- `nginx` - 拉取官方 nginx 映像的 latest 標籤
|
||||||
- `nginx:1.28` - Pull a specific version
|
- `nginx:1.28` - 拉取指定版本
|
||||||
- `mysql:8.4` - Pull MySQL version 8.4
|
- `mysql:8.4` - 拉取 MySQL 8.4 版本
|
||||||
- `registry.cn-hangzhou.aliyuncs.com/xxx/yyy:latest` - Pull from Alibaba Cloud image registry
|
- `registry.cn-hangzhou.aliyuncs.com/xxx/yyy:latest` - 從阿里雲映像倉庫拉取
|
||||||
|
|
||||||
:::tip Note
|
:::tip 提示
|
||||||
Pulling Docker Hub images from servers in China may be slow. It is recommended to configure an image accelerator or use domestic image sources.
|
國內伺服器拉取 Docker Hub 映像可能較慢, 建議配置映像加速器或使用國內映像源。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Delete Image
|
## 刪除映像
|
||||||
|
|
||||||
Select an image and click the **Delete** button to delete the image.
|
選中映像後點擊 **刪除** 按鈕刪除映像。
|
||||||
|
|
||||||
:::warning Note
|
:::warning 注意
|
||||||
If the image is being used by containers, you need to delete the related containers before deleting the image.
|
如果映像正在被容器使用,需要先刪除相關容器才能刪除映像。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Clean Images
|
## 清理映像
|
||||||
|
|
||||||
Click **Clean Images** to delete all unused images and free up disk space.
|
點擊 **清理映像** 可以刪除所有未被使用的映像,釋放磁碟空間。
|
||||||
|
|
||||||
The cleanup operation will delete:
|
清理操作會刪除:
|
||||||
|
|
||||||
- Dangling images
|
- 懸空映像(dangling images)
|
||||||
- Images not used by any container
|
- 未被任何容器使用的映像
|
||||||
|
|
||||||
## Image Sources
|
## 映像來源
|
||||||
|
|
||||||
### Docker Hub
|
### Docker Hub
|
||||||
|
|
||||||
Docker's official image registry, containing a large number of official and community images.
|
Docker 官方映像倉庫,包含大量官方和社群映像。
|
||||||
|
|
||||||
Common official images:
|
常用官方映像:
|
||||||
|
|
||||||
- `nginx` - Web server
|
- `nginx` - Web 伺服器
|
||||||
- `mysql` / `mariadb` - Database
|
- `mysql` / `mariadb` - 資料庫
|
||||||
- `redis` - Cache
|
- `redis` - 快取
|
||||||
- `postgres` - PostgreSQL database
|
- `postgres` - PostgreSQL 資料庫
|
||||||
- `node` - Node.js runtime environment
|
- `node` - Node.js 執行環境
|
||||||
- `python` - Python runtime environment
|
- `python` - Python 執行環境
|
||||||
|
|
||||||
### Domestic Image Sources
|
### 國內映像源
|
||||||
|
|
||||||
- Alibaba Cloud: `registry.cn-hangzhou.aliyuncs.com`
|
- 阿里雲:`registry.cn-hangzhou.aliyuncs.com`
|
||||||
- Tencent Cloud: `ccr.ccs.tencentyun.com`
|
- 騰訊雲:`ccr.ccs.tencentyun.com`
|
||||||
- Huawei Cloud: `swr.cn-north-4.myhuaweicloud.com`
|
- 華為雲:`swr.cn-north-4.myhuaweicloud.com`
|
||||||
|
|
||||||
### Private Registry
|
### 私有倉庫
|
||||||
|
|
||||||
If you have a private image registry, you can directly use the full image address to pull.
|
如果你有私有映像倉庫,可以直接使用完整的映像地址拉取。
|
||||||
|
|||||||
@@ -1,76 +1,76 @@
|
|||||||
# Network
|
# 網絡
|
||||||
|
|
||||||
Docker networks are used for communication between containers. Through the network management page, you can create, view, and delete networks.
|
Docker 網絡用於容器之間的通信。 通過網絡管理頁面,你可以創建、查看和刪除網絡。
|
||||||
|
|
||||||
## Network List
|
## 網絡列表
|
||||||
|
|
||||||
Go to **Container** > **Network** tab to view the network list.
|
進入 **容器** > **網絡** 標籤頁查看網絡列表。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The list displays the following information:
|
列表顯示以下信息:
|
||||||
|
|
||||||
- **Name**: Network name
|
- **名稱**:網絡名稱
|
||||||
- **Driver**: Network driver type
|
- **驅動**:網絡驅動類型
|
||||||
- **Scope**: Network scope
|
- **範圍**:網絡範圍
|
||||||
- **Subnet**: Network subnet address
|
- **子網**:網絡的子網地址
|
||||||
- **Gateway**: Network gateway address
|
- **網關**:網絡的網關地址
|
||||||
- **Created Time**: Creation time
|
- **創建時間**:創建時間
|
||||||
- **Actions**: Delete
|
- **操作**:刪除
|
||||||
|
|
||||||
## Default Networks
|
## 默認網絡
|
||||||
|
|
||||||
Docker automatically creates the following networks after installation:
|
Docker 安裝後會自動創建以下網絡:
|
||||||
|
|
||||||
| Network Name | Driver | Description |
|
| 網路名稱 | 驅動 | 說明 |
|
||||||
| ------------ | ------ | --------------------------------------------------------------- |
|
| ------ | ------ | -------------------- |
|
||||||
| bridge | bridge | Default network, containers access external network through NAT |
|
| bridge | bridge | 默認網絡,容器通過 NAT 訪問外部網絡 |
|
||||||
| host | host | Container directly uses host network, no network isolation |
|
| host | host | 容器直接使用主機網絡,無網絡隔離 |
|
||||||
| none | null | No network, container is completely isolated |
|
| none | null | 無網絡,容器完全隔離 |
|
||||||
|
|
||||||
AcePanel also creates the `acepanel-network` network for containers deployed by panel compose templates. Please do not delete it.
|
AcePanel 還會創建 `acepanel-network` 網絡,用於面板編排模版部署的容器, 請勿刪除。
|
||||||
|
|
||||||
## Create Network
|
## 創建網絡
|
||||||
|
|
||||||
1. Click the **Create Network** button
|
1. 點擊 **創建網絡** 按鈕
|
||||||
2. Enter network name
|
2. 輸入網絡名稱
|
||||||
3. Select network driver
|
3. 選擇網絡驅動
|
||||||
4. Configure subnet and gateway (optional)
|
4. 配置子網和網關(可選)
|
||||||
5. Click Create
|
5. 點擊創建
|
||||||
|
|
||||||
### Network Drivers
|
### 網絡驅動
|
||||||
|
|
||||||
- **bridge**: Bridge network, the most commonly used network type. Containers connect through a virtual bridge and can communicate with each other.
|
- **bridge**:橋接網絡,最常用的網絡類型。 容器通過虛擬網橋連接,可以相互通信。
|
||||||
- **host**: Host network, container directly uses the host's network stack, best performance but no isolation.
|
- **host**:主機網絡,容器直接使用主機的網絡棧,性能最好但無隔離。
|
||||||
- **overlay**: Overlay network, used for cross-host container communication (Swarm mode).
|
- **overlay**:覆蓋網絡,用於跨主機的容器通信(Swarm 模式)。
|
||||||
- **macvlan**: MAC VLAN network, assigns independent MAC addresses to containers.
|
- **macvlan**:MAC VLAN 網絡,為容器分配獨立的 MAC 地址。
|
||||||
|
|
||||||
## Network Usage
|
## 網絡使用
|
||||||
|
|
||||||
### Specify Network When Creating Container
|
### 創建容器時指定網絡
|
||||||
|
|
||||||
When creating a container, select the network to use in the **Network** option.
|
創建容器時,在 **網絡** 選項中選擇要使用的網絡。
|
||||||
|
|
||||||
### Communication Between Containers
|
### 容器間通信
|
||||||
|
|
||||||
Containers in the same network can access each other by container name.
|
同一網絡中的容器可以通過容器名稱相互訪問。
|
||||||
|
|
||||||
For example, in the `acepanel-network` network:
|
例如,在 `acepanel-network` 網絡中:
|
||||||
|
|
||||||
- Container A is named `web`
|
- 容器 A 名稱為 `web`
|
||||||
- Container B is named `db`
|
- 容器 B 名稱為 `db`
|
||||||
- Container A can access Container B's database through `db:3306`
|
- 容器 A 可以通過 `db:3306` 訪問容器 B 的數據庫
|
||||||
|
|
||||||
## Delete Network
|
## 刪除網絡
|
||||||
|
|
||||||
Select a network and click the **Delete** button to delete the network.
|
選中網絡後點擊 **刪除** 按鈕刪除網絡。
|
||||||
|
|
||||||
:::warning Note
|
:::warning 注意
|
||||||
|
|
||||||
- Default networks (bridge, host, none) and `acepanel-network` cannot be deleted
|
- 默認網絡(bridge、host、none)和 `acepanel-network` 不能刪除
|
||||||
- If there are containers in the network, you need to delete or disconnect the containers before deleting the network
|
- 如果網絡中有容器,需要先刪除或斷開容器才能刪除網絡
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Clean Networks
|
## 清理網絡
|
||||||
|
|
||||||
Click **Clean Networks** to delete all unused custom networks.
|
點擊 **清理網絡** 可以刪除所有未被使用的自定義網絡。
|
||||||
|
|||||||
@@ -1,77 +1,77 @@
|
|||||||
# Volume
|
# 卷
|
||||||
|
|
||||||
Volumes are Docker-managed data storage used to persist container data. Compared to directly mounting host directories, volumes are managed by Docker, making them more secure and portable.
|
卷(Volume)是 Docker 管理的資料儲存,用於持久化容器資料。 與直接掛載主機目錄相比,卷由 Docker 管理,更加安全和便攜。
|
||||||
|
|
||||||
## Volume List
|
## 卷列表
|
||||||
|
|
||||||
Go to **Container** > **Volume** tab to view the volume list.
|
進入 **容器** > **卷** 標籤頁查看卷列表。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The list displays the following information:
|
列表顯示以下資訊:
|
||||||
|
|
||||||
- **Name**: Volume name
|
- **名稱**:卷名稱
|
||||||
- **Driver**: Storage driver
|
- **驅動**:儲存驅動
|
||||||
- **Scope**: Volume scope
|
- **範圍**:卷的範圍
|
||||||
- **Mount Point**: Actual storage path of the volume on the host
|
- **掛載點**:卷在主機上的實際儲存路徑
|
||||||
- **Created Time**: Creation time
|
- **建立時間**:建立時間
|
||||||
- **Actions**: Delete
|
- **操作**:刪除
|
||||||
|
|
||||||
## Create Volume
|
## 建立卷
|
||||||
|
|
||||||
1. Click the **Create Volume** button
|
1. 點擊 **建立卷** 按鈕
|
||||||
2. Enter volume name
|
2. 輸入卷名稱
|
||||||
3. Select driver (default local)
|
3. 選擇驅動(預設 local)
|
||||||
4. Click Create
|
4. 點擊建立
|
||||||
|
|
||||||
## Using Volumes
|
## 使用卷
|
||||||
|
|
||||||
### Mount Volume When Creating Container
|
### 建立容器時掛載卷
|
||||||
|
|
||||||
When creating a container, add volume mounts in the **Volume** option:
|
建立容器時,在 **卷** 選項中新增卷掛載:
|
||||||
|
|
||||||
- **volume_name:container_path** - Use named volume
|
- **卷名稱:容器路徑** - 使用命名卷
|
||||||
- **host_path:container_path** - Directly mount host directory
|
- **主機路徑:容器路徑** - 直接掛載主機目錄
|
||||||
|
|
||||||
For example:
|
例如:
|
||||||
|
|
||||||
- `mysql_data:/var/lib/mysql` - Mount mysql_data volume to container's /var/lib/mysql
|
- `mysql_data:/var/lib/mysql` - 將 mysql_data 卷掛載到容器的 /var/lib/mysql
|
||||||
- `/opt/ace/data:/data` - Mount host's /opt/ace/data directory to container's /data
|
- `/opt/ace/data:/data` - 將主機的 /opt/ace/data 目錄掛載到容器的 /data
|
||||||
|
|
||||||
### Volume vs Bind Mount
|
### 卷 vs 綁定掛載
|
||||||
|
|
||||||
| Feature | Volume | Bind Mount |
|
| 特性 | 卷(Volume) | 綁定掛載(Bind Mount) |
|
||||||
| ---------------- | ------------------------------------------ | ------------------------------------- |
|
| ---- | -------------- | ---------------- |
|
||||||
| Management | Docker managed | User managed |
|
| 管理方式 | Docker 管理 | 用戶管理 |
|
||||||
| Storage Location | Docker data directory | Any host path |
|
| 儲存位置 | Docker 資料目錄 | 任意主機路徑 |
|
||||||
| Backup | Requires Docker commands | Directly backup directory |
|
| 備份 | 需要透過 Docker 命令 | 直接備份目錄 |
|
||||||
| Portability | High | Depends on host path |
|
| 可移植性 | 高 | 依賴主機路徑 |
|
||||||
| Use Cases | Data that needs persistence like databases | Configuration files, code directories |
|
| 適用場景 | 資料庫等需要持久化的資料 | 配置檔案、程式碼目錄 |
|
||||||
|
|
||||||
## Delete Volume
|
## 刪除卷
|
||||||
|
|
||||||
Select a volume and click the **Delete** button to delete the volume.
|
選中卷後點擊 **刪除** 按鈕刪除卷。
|
||||||
|
|
||||||
:::danger Warning
|
:::danger 警告
|
||||||
Deleting a volume will permanently delete all data in the volume. This operation cannot be undone!
|
刪除卷會永久刪除卷中的所有資料, 此操作不可恢復!
|
||||||
:::
|
:::
|
||||||
|
|
||||||
:::warning Note
|
:::warning 注意
|
||||||
If the volume is being used by containers, you need to delete the related containers before deleting the volume.
|
如果卷正在被容器使用,需要先刪除相關容器才能刪除卷。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Clean Volumes
|
## 清理卷
|
||||||
|
|
||||||
Click **Clean Volumes** to delete all unused volumes and free up disk space.
|
點擊 **清理卷** 可以刪除所有未被使用的卷,釋放磁碟空間。
|
||||||
|
|
||||||
:::tip Note
|
:::tip 提示
|
||||||
Please confirm that unused volumes do not contain important data before cleaning.
|
清理前請確認未使用的卷中沒有重要資料。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Data Backup
|
## 資料備份
|
||||||
|
|
||||||
Volume data is stored in the Docker data directory (usually `/var/lib/docker/volumes/`). You can backup through the following methods:
|
卷資料儲存在 Docker 資料目錄中(通常是 `/var/lib/docker/volumes/`), 可以透過以下方式備份:
|
||||||
|
|
||||||
1. Use `docker run` to create a temporary container that mounts the volume and exports data
|
1. 使用 `docker run` 建立臨時容器掛載卷並匯出資料
|
||||||
2. Directly backup the Docker data directory (requires stopping Docker service)
|
2. 直接備份 Docker 資料目錄(需要停止 Docker 服務)
|
||||||
3. (In development) Use AcePanel's [Backup Feature](../backup) for backup
|
3. (開發中)使用 AcePanel 的 [備份功能](../backup) 進行備份
|
||||||
|
|||||||
@@ -1,77 +1,77 @@
|
|||||||
# Database
|
# 數據庫
|
||||||
|
|
||||||
The database module is used to manage MySQL, MariaDB, PostgreSQL, and other databases. It supports creating databases, managing users, and configuring database servers.
|
數據庫模組用於管理 MySQL、MariaDB、PostgreSQL 等數據庫。 支持創建數據庫、管理用戶和配置數據庫服務器。
|
||||||
|
|
||||||
## Prerequisites
|
## 前置要求
|
||||||
|
|
||||||
Before using the database feature, you need to install database software first:
|
使用數據庫功能前,需要先安裝數據庫軟體:
|
||||||
|
|
||||||
1. Go to **Applications** > **Native Applications**
|
1. 進入 **應用** > **原生應用**
|
||||||
2. Install Percona, MySQL, MariaDB, or PostgreSQL
|
2. 安裝 Percona、MySQL、MariaDB 或 PostgreSQL
|
||||||
|
|
||||||
## Feature Overview
|
## 功能概覽
|
||||||
|
|
||||||
The database module is divided into three parts:
|
數據庫模組分為三個部分:
|
||||||
|
|
||||||
| Feature | Description |
|
| 功能 | 說明 |
|
||||||
| ------------------------------- | ------------------------------------- |
|
| -------------------------- | ---------- |
|
||||||
| [Database](./database/database) | Create and manage databases |
|
| [數據庫](./database/database) | 創建和管理數據庫 |
|
||||||
| [User](./database/user) | Manage database users and permissions |
|
| [用戶](./database/user) | 管理數據庫用戶和權限 |
|
||||||
| [Server](./database/server) | Manage database server connections |
|
| [服務器](./database/server) | 管理數據庫服務器連接 |
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Supported Databases
|
## 支持的數據庫
|
||||||
|
|
||||||
| Database | Description |
|
| 數據庫 | 說明 |
|
||||||
| ---------- | ---------------------------------------------------------------- |
|
| ---------- | ---------------------- |
|
||||||
| Percona | High-performance fork of MySQL, suitable for high-load scenarios |
|
| Percona | MySQL 的高性能分支,適合高負載場景 |
|
||||||
| MySQL | The world's most popular open-source relational database |
|
| MySQL | 世界上最流行的開源關係型數據庫 |
|
||||||
| MariaDB | Open-source fork of MySQL, fully compatible with MySQL |
|
| MariaDB | MySQL 的開源分支,完全兼容 MySQL |
|
||||||
| PostgreSQL | Powerful open-source object-relational database |
|
| PostgreSQL | 功能強大的開源對象關係型數據庫 |
|
||||||
|
|
||||||
## Quick Start
|
## 快速開始
|
||||||
|
|
||||||
### Create Database
|
### 創建數據庫
|
||||||
|
|
||||||
1. Go to the **Database** page
|
1. 進入 **數據庫** 頁面
|
||||||
2. Click **Create Database**
|
2. 點擊 **創建數據庫**
|
||||||
3. Select database type and server
|
3. 選擇數據庫類型和服務器
|
||||||
4. Enter database name
|
4. 輸入數據庫名稱
|
||||||
5. Choose whether to create a user and set permissions
|
5. 選擇是否創建用戶並設置權限
|
||||||
6. Click Create
|
6. 點擊創建
|
||||||
|
|
||||||
### Create User
|
### 創建用戶
|
||||||
|
|
||||||
1. Switch to the **User** tab
|
1. 切換到 **用戶** 標籤
|
||||||
2. Click **Create User**
|
2. 點擊 **創建用戶**
|
||||||
3. Enter username and password
|
3. 輸入用戶名和密碼
|
||||||
4. Set access permissions
|
4. 設置訪問權限
|
||||||
5. Click Create
|
5. 點擊創建
|
||||||
|
|
||||||
## Connect to Database
|
## 連接數據庫
|
||||||
|
|
||||||
### Local Connection
|
### 本地連接
|
||||||
|
|
||||||
```
|
```
|
||||||
Host: 127.0.0.1 or localhost
|
主機:127.0.0.1 或 localhost
|
||||||
Port: Percona/MySQL/MariaDB 3306, PostgreSQL 5432
|
端口:Percona/MySQL/MariaDB 3306,PostgreSQL 5432
|
||||||
Socket: Percona/MySQL/MariaDB /tmp/mysql.sock, PostgreSQL /tmp/.s.PGSQL.5432
|
Socket:Percona/MySQL/MariaDB /tmp/mysql.sock,PostgreSQL /tmp/.s.PGSQL.5432
|
||||||
```
|
```
|
||||||
|
|
||||||
### Remote Connection
|
### 遠程連接
|
||||||
|
|
||||||
To connect to the database remotely:
|
如需遠程連接數據庫:
|
||||||
|
|
||||||
1. Open the database port in the firewall
|
1. 在防火牆中開放數據庫端口
|
||||||
2. Create a user that allows remote access (set host to `%`)
|
2. 創建允許遠程訪問的用戶(主機設為 `%`)
|
||||||
|
|
||||||
:::warning Security Notice
|
:::warning 安全提示
|
||||||
It is not recommended to expose database ports to the public network. For remote management, it is recommended to use SSH tunnels or VPN.
|
不建議將數據庫端口暴露到公網, 如需遠程管理建議使用 SSH 隧道或 VPN。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Next Steps
|
## 下一步
|
||||||
|
|
||||||
- [Database Management](./database/database) - Learn how to create and manage databases
|
- [數據庫管理](./database/database) - 了解如何創建和管理數據庫
|
||||||
- [User Management](./database/user) - Learn how to manage database users
|
- [用戶管理](./database/user) - 了解如何管理數據庫用戶
|
||||||
- [Server Management](./database/server) - Learn how to manage database servers
|
- [服務器管理](./database/server) - 了解如何管理數據庫服務器
|
||||||
|
|||||||
@@ -1,58 +1,58 @@
|
|||||||
# Database Management
|
# 數據庫管理
|
||||||
|
|
||||||
The database management page is used to create, view, and delete databases. AcePanel now uses UTF-8 encoding by default when creating databases.
|
數據庫管理頁面用於創建、查看和刪除數據庫, AcePanel 已全面默認使用 UTF-8 編碼創建數據庫。
|
||||||
|
|
||||||
## Database List
|
## 數據庫列表
|
||||||
|
|
||||||
Go to the **Database** page, which displays the database list by default.
|
進入 **數據庫** 頁面,默認顯示數據庫列表。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The list displays the following information:
|
列表顯示以下信息:
|
||||||
|
|
||||||
- **Type**: Database type (MySQL/PostgreSQL)
|
- **類型**:數據庫類型(MySQL/PostgreSQL)
|
||||||
- **Database Name**: Database name
|
- **數據庫名稱**:數據庫名稱
|
||||||
- **Server**: The database server it belongs to
|
- **服務器**:所屬的數據庫服務器
|
||||||
- **Encoding**: Character encoding
|
- **編碼**:字符編碼
|
||||||
- **Comment**: Remarks (PostgreSQL supported)
|
- **註釋**:備註信息(PostgreSQL 支持)
|
||||||
- **Actions**: Delete
|
- **操作**:刪除
|
||||||
|
|
||||||
## Create Database
|
## 創建數據庫
|
||||||
|
|
||||||
1. Click the **Create Database** button
|
1. 點擊 **創建數據庫** 按鈕
|
||||||
2. Fill in the configuration:
|
2. 填寫配置:
|
||||||
- **Server**: Select database server
|
- **服務器**:選擇數據庫服務器
|
||||||
- **Database Name**: Can only use letters, numbers, and underscores
|
- **數據庫名稱**:只能使用字母、數字和下劃線
|
||||||
3. Choose whether to create a user and set permissions (optional)
|
3. 選擇是否創建用戶並設置權限(可選)
|
||||||
4. Click Create
|
4. 點擊創建
|
||||||
|
|
||||||
## Delete Database
|
## 數據庫備份
|
||||||
|
|
||||||
Click the **Delete** button on the right side of the database to delete it.
|
點擊數據庫右側的 **刪除** 按鈕刪除數據庫。
|
||||||
|
|
||||||
:::danger Warning
|
:::danger 警告
|
||||||
Deleting a database will permanently delete all data in that database. This operation cannot be undone! Please make sure to backup important data in advance.
|
刪除數據庫會永久刪除該數據庫中的所有數據, 此操作不可恢復! 請務必提前備份重要數據。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Database Naming Conventions
|
## 數據庫命名規範
|
||||||
|
|
||||||
- Can only use letters, numbers, and underscores
|
- 只能使用字母、數字和下劃線
|
||||||
- Cannot start with a number
|
- 不能以數字開頭
|
||||||
- Avoid using database reserved words
|
- 避免使用數據庫保留字
|
||||||
- Recommend using meaningful names, such as `wordpress`, `myapp_production`
|
- 建議使用有意義的名稱,如 `wordpress`、`myapp_production`
|
||||||
|
|
||||||
## FAQ
|
## 常見問題
|
||||||
|
|
||||||
### Failed to Create Database
|
### 創建數據庫失敗
|
||||||
|
|
||||||
- Check if the database name follows naming conventions
|
- 檢查數據庫名稱是否符合命名規範
|
||||||
- Check if a database with the same name already exists
|
- 檢查是否已存在同名數據庫
|
||||||
- Check if the database service is running normally
|
- 檢查數據庫服務是否運行
|
||||||
|
|
||||||
### Database Encoding Issues
|
### 數據庫常見問題
|
||||||
|
|
||||||
If garbled characters appear, check:
|
如果出現亂碼,檢查:
|
||||||
|
|
||||||
1. Whether the database encoding is correct
|
1. 數據庫編碼是否正確
|
||||||
2. Whether the correct encoding is specified when connecting
|
2. 連接時是否指定了正確的編碼
|
||||||
3. The encoding settings of the application
|
3. 應用程序的編碼設置
|
||||||
|
|||||||
@@ -1,86 +1,86 @@
|
|||||||
# Server Management
|
# 伺服器管理
|
||||||
|
|
||||||
The server management page is used to manage database server connections, supporting both local and remote database servers.
|
伺服器管理頁面用於管理資料庫伺服器連接,支援本地和遠端資料庫伺服器。
|
||||||
|
|
||||||
## Server List
|
## 伺服器列表
|
||||||
|
|
||||||
Go to **Database** > **Server** tab to view the server list.
|
進入 **資料庫** > **伺服器** 標籤頁查看伺服器列表。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The list displays the following information:
|
列表顯示以下資訊:
|
||||||
|
|
||||||
- **Type**: Database type (MySQL/PostgreSQL)
|
- **類型**:資料庫類型(MySQL/PostgreSQL)
|
||||||
- **Name**: Server name
|
- **名稱**:伺服器名稱
|
||||||
- **Username**: Administrator username
|
- **使用者名稱**:管理員使用者名稱
|
||||||
- **Password**: Administrator password
|
- **密碼**:管理員密碼
|
||||||
- **Host**: Server address and port
|
- **主機**:伺服器地址和連接埠
|
||||||
- **Comment**: Remarks
|
- **註釋**:備註資訊
|
||||||
- **Status**: Connection status
|
- **狀態**:連接狀態
|
||||||
- **Update Date**: Last update time
|
- **更新日期**:最後更新時間
|
||||||
- **Actions**: Terminal, sync, modify, delete
|
- **操作**:終端機、同步、修改、刪除
|
||||||
|
|
||||||
## Local Server
|
## 本地伺服器
|
||||||
|
|
||||||
After installing database software, AcePanel will automatically add local servers. These servers cannot be deleted by users:
|
安裝資料庫軟體後,AcePanel 會自動新增本地伺服器, 此類伺服器不支援自行刪除:
|
||||||
|
|
||||||
- **local_mysql**: Local Percona/MySQL/MariaDB server
|
- **local_mysql**:本地 Percona/MySQL/MariaDB 伺服器
|
||||||
- **local_postgresql**: Local PostgreSQL server
|
- **local_postgresql**:本地 PostgreSQL 伺服器
|
||||||
|
|
||||||
## Add Remote Server
|
## 新增遠端伺服器
|
||||||
|
|
||||||
1. Click the **Add Server** button
|
1. 點擊 **新增伺服器** 按鈕
|
||||||
2. Fill in the configuration:
|
2. 填寫配置:
|
||||||
- **Type**: Select database type
|
- **類型**:選擇資料庫類型
|
||||||
- **Name**: Server name (for identification)
|
- **名稱**:伺服器名稱(用於標識)
|
||||||
- **Host**: Server address
|
- **主機**:伺服器地址
|
||||||
- **Port**: Database port
|
- **連接埠**:資料庫連接埠
|
||||||
- **Username**: Administrator username
|
- **使用者名稱**:管理員使用者名稱
|
||||||
- **Password**: Administrator password
|
- **密碼**:管理員密碼
|
||||||
3. Click Add
|
3. 點擊新增
|
||||||
|
|
||||||
### Remote Server Use Cases
|
### 遠端伺服器使用場景
|
||||||
|
|
||||||
- Connect to cloud databases (such as Alibaba Cloud RDS, Tencent Cloud CDB)
|
- 連接雲端資料庫(如阿里雲 RDS、騰訊雲 CDB)
|
||||||
- Connect to database services in containers
|
- 連接容器中的資料庫服務
|
||||||
- Connect to databases on other servers
|
- 連接其他伺服器上的資料庫
|
||||||
- Database read-write separation architecture
|
- 資料庫讀寫分離架構
|
||||||
|
|
||||||
## Server Operations
|
## 伺服器操作
|
||||||
|
|
||||||
### Terminal
|
### 終端機
|
||||||
|
|
||||||
Click the **Terminal** button to open the database command line terminal, where you can directly execute SQL statements.
|
點擊 **終端機** 按鈕開啟資料庫命令列終端機,可以直接執行 SQL 語句。
|
||||||
|
|
||||||
### Sync
|
### 同步
|
||||||
|
|
||||||
Click the **Sync** button to synchronize database and user information. When databases or users are created directly in the database, you can use this function to sync to the panel.
|
點擊 **同步** 按鈕同步資料庫和使用者資訊。 當直接在資料庫中建立了資料庫或使用者時,可以使用此功能同步到面板。
|
||||||
|
|
||||||
### Modify
|
### 修改
|
||||||
|
|
||||||
Click the **Modify** button to modify server connection information, such as password, host address, etc.
|
點擊 **修改** 按鈕可以修改伺服器連接資訊,如密碼、主機地址等。
|
||||||
|
|
||||||
### Delete
|
### 刪除
|
||||||
|
|
||||||
Click the **Delete** button to delete the server configuration.
|
點擊 **刪除** 按鈕刪除伺服器配置。
|
||||||
|
|
||||||
:::warning Note
|
:::warning 注意
|
||||||
Deleting the server configuration will not delete the actual database service, it only removes the server management from the panel.
|
刪除伺服器配置不會刪除實際的資料庫服務,只是從面板中移除該伺服器的管理。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Connection Test
|
## 連接測試
|
||||||
|
|
||||||
After adding or modifying a server, the system will automatically test the connection. If the connection fails, please check:
|
新增或修改伺服器後,系統會自動測試連接。 如果連接失敗,請檢查:
|
||||||
|
|
||||||
1. Whether the server address and port are correct
|
1. 伺服器地址和連接埠是否正確
|
||||||
2. Whether the username and password are correct
|
2. 使用者名稱和密碼是否正確
|
||||||
3. Whether the firewall allows the connection
|
3. 防火牆是否允許連接
|
||||||
4. Whether the database service is running normally
|
4. 資料庫服務是否正常運行
|
||||||
5. Whether the database user is allowed to connect from the current host
|
5. 資料庫使用者是否允許從當前主機連接
|
||||||
|
|
||||||
## Default Ports
|
## 預設連接埠
|
||||||
|
|
||||||
| Database | Default Port |
|
| 資料庫 | 預設連接埠 |
|
||||||
| --------------------- | ------------ |
|
| --------------------- | ----- |
|
||||||
| Percona/MySQL/MariaDB | 3306 |
|
| Percona/MySQL/MariaDB | 3306 |
|
||||||
| PostgreSQL | 5432 |
|
| PostgreSQL | 5432 |
|
||||||
|
|||||||
@@ -1,83 +1,83 @@
|
|||||||
# User Management
|
# 用戶管理
|
||||||
|
|
||||||
The user management page is used to create and manage database users and set user permissions.
|
用戶管理頁面用於創建和管理數據庫用戶,設置用戶權限。
|
||||||
|
|
||||||
## User List
|
## 用戶列表
|
||||||
|
|
||||||
Go to **Database** > **User** tab to view the user list.
|
進入 **數據庫** > **用戶** 標籤頁查看用戶列表。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The list displays the following information:
|
列表顯示所有面板用戶的信息:
|
||||||
|
|
||||||
- **Type**: Database type
|
- **類型**:數據庫類型
|
||||||
- **Username**: Database username
|
- 用戶名
|
||||||
- **Password**: User password (click to copy)
|
- 用戶郵箱,用於找回密碼等功能
|
||||||
- **Host**: Allowed connection hosts
|
- **主機**:允許連接的主機
|
||||||
- **Server**: The database server it belongs to
|
- **服務器**:所屬的數據庫服務器
|
||||||
- **Permissions**: Databases the user has permissions for
|
- **權限**:用戶擁有權限的數據庫
|
||||||
- **Comment**: Remarks
|
- **註釋**:備註信息
|
||||||
- **Status**: User status
|
- **郵箱**:用戶郵箱地址
|
||||||
- **Update Date**: Last update time
|
- **更新日期**:最後更新時間
|
||||||
- **Actions**: Modify, delete
|
- **操作**:修改、刪除
|
||||||
|
|
||||||
## Create User
|
## 創建用戶
|
||||||
|
|
||||||
1. Click the **Create User** button
|
1. 點擊 **創建用戶** 按鈕添加新用戶:
|
||||||
2. Fill in the configuration:
|
2. 填寫配置:
|
||||||
- **Server**: Select database server
|
- **服務器**:選擇數據庫服務器
|
||||||
- **Username**: Database username
|
- **用戶名**:登錄用戶名
|
||||||
- **Password**: User password (strong password recommended)
|
- **密碼**:登錄密碼
|
||||||
- **Host**: Allowed connection host address
|
- **主機**:允許連接的主機地址
|
||||||
- **Permissions**: Select databases the user can access
|
- **權限**:選擇用戶可以訪問的數據庫
|
||||||
3. Click Create
|
3. 創建時間
|
||||||
|
|
||||||
### Host Settings
|
### 主機設置
|
||||||
|
|
||||||
| Value | Description |
|
| 值 | 說明 |
|
||||||
| --------------- | ---------------------------------------- |
|
| --------------- | ----------- |
|
||||||
| `localhost` | Only allow local connections |
|
| `localhost` | 只允許本地連接 |
|
||||||
| `127.0.0.1` | Only allow local IP connections |
|
| `127.0.0.1` | 只允許本地 IP 連接 |
|
||||||
| `%` | Allow connections from any host |
|
| `%` | 允許任意主機連接 |
|
||||||
| `192.168.1.%` | Allow connections from specified subnet |
|
| `192.168.1.%` | 允許指定網段連接 |
|
||||||
| `192.168.1.100` | Only allow connections from specified IP |
|
| `192.168.1.100` | 只允許指定 IP 連接 |
|
||||||
|
|
||||||
:::warning Security Notice
|
:::warning 安全建議
|
||||||
Production environments are not recommended to use `%` to allow connections from any host. Should be restricted to specific IP addresses or subnets.
|
生產環境不建議使用 `%` 允許任意主機連接, 應限制為具體的 IP 地址或網段。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Modify User
|
## 用戶操作
|
||||||
|
|
||||||
Click the **Modify** button on the right side of the user to:
|
登錄用戶名,可直接在表格中修改
|
||||||
|
|
||||||
- Modify password
|
- 更改密碼
|
||||||
- Modify allowed connection hosts
|
- 修改允許連接的主機
|
||||||
- Modify database permissions
|
- 修改數據庫權限
|
||||||
|
|
||||||
## Delete User
|
## 刪除用戶
|
||||||
|
|
||||||
Click the **Delete** button on the right side of the user to delete the user.
|
點擊用戶右側的 **刪除** 按鈕刪除用戶。
|
||||||
|
|
||||||
:::warning Note
|
:::warning 注意
|
||||||
After deleting a user, applications using that user to connect to the database will not work properly.
|
刪除用戶後,使用該用戶連接數據庫的應用將無法正常工作。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Permission Explanation
|
## 權限說明
|
||||||
|
|
||||||
### Percona/MySQL/MariaDB Permissions
|
### Percona/MySQL/MariaDB 權限
|
||||||
|
|
||||||
When creating a user, you can select databases to grant permissions:
|
創建用戶時可以選擇授予權限的數據庫:
|
||||||
|
|
||||||
- Select specific databases: User can only access selected databases
|
- 選擇具體數據庫:用戶只能訪問選中的數據庫
|
||||||
- No selection: User has no database permissions
|
- 不選擇:用戶沒有任何數據庫權限
|
||||||
|
|
||||||
### PostgreSQL Permissions
|
### PostgreSQL 權限
|
||||||
|
|
||||||
PostgreSQL permission management is more fine-grained. You can set different permissions for databases, schemas, tables, etc. The panel only supports granting database access permissions.
|
PostgreSQL 的權限管理更加細粒度, 可以自行針對數據庫、模式、表等設置不同權限, 面板僅支持授予數據庫訪問權限。
|
||||||
|
|
||||||
## Password Security
|
## 密碼安全
|
||||||
|
|
||||||
- Use strong passwords containing uppercase and lowercase letters, numbers, and special characters
|
- 使用強密碼,包含大小寫字母、數字和特殊字符
|
||||||
- Password length recommended 16 characters or more
|
- 密碼長度建議 16 位以上
|
||||||
- Use different database users for different applications
|
- 不同應用使用不同的數據庫用戶
|
||||||
- Change passwords regularly
|
- 定期更換密碼
|
||||||
|
|||||||
@@ -1,206 +1,206 @@
|
|||||||
# File
|
# 檔案
|
||||||
|
|
||||||
The file module provides a powerful graphical file manager. The design philosophy is to restore the Windows Explorer operation experience as much as possible, supporting right-click menus, drag-and-drop upload, keyboard shortcuts, and other features.
|
檔案模組提供了功能強大的圖形化檔案管理器, 設計理念是盡可能還原 Windows 資源管理器的操作體驗,支援右鍵選單、拖曳上傳、快捷鍵等特性。
|
||||||
|
|
||||||
## File Manager
|
## 檔案管理器
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Core Features
|
## 核心特性
|
||||||
|
|
||||||
### Windows-like Operation Experience
|
### 類 Windows 操作體驗
|
||||||
|
|
||||||
- **Right-click Menu**: Right-click on files or directories to pop up an action menu
|
- **右鍵選單**:右鍵點擊檔案或目錄彈出操作選單
|
||||||
- **Drag-and-drop Upload**: Directly drag local files to the browser window to upload
|
- **拖曳上傳**:直接將本機檔案拖曳到瀏覽器視窗即可上傳
|
||||||
- **Multi-select Operations**: Support Ctrl+click for multi-select, Shift+click for range selection
|
- **多選操作**:支援 Ctrl+點擊 多選,Shift+點擊 範圍選擇
|
||||||
- **Keyboard Shortcuts**: Common operations have corresponding keyboard shortcuts
|
- **快捷鍵支援**:常用操作都有對應的快捷鍵
|
||||||
|
|
||||||
### Keyboard Shortcuts
|
### 快捷鍵
|
||||||
|
|
||||||
| Shortcut | Function |
|
| 快捷鍵 | 功能 |
|
||||||
| -------- | ---------- |
|
| -------- | ---- |
|
||||||
| `Ctrl+C` | Copy |
|
| `Ctrl+C` | 複製 |
|
||||||
| `Ctrl+X` | Cut |
|
| `Ctrl+X` | 剪下 |
|
||||||
| `Ctrl+V` | Paste |
|
| `Ctrl+V` | 貼上 |
|
||||||
| `Delete` | Delete |
|
| `Delete` | 刪除 |
|
||||||
| `F2` | Rename |
|
| `F2` | 重新命名 |
|
||||||
| `Ctrl+A` | Select All |
|
| `Ctrl+A` | 全選 |
|
||||||
|
|
||||||
## Navigation
|
## 導覽
|
||||||
|
|
||||||
### Path Navigation
|
### 路徑導覽
|
||||||
|
|
||||||
The top displays breadcrumb navigation of the current path. Click to quickly jump to any parent directory.
|
頂部顯示當前路徑的麵包屑導覽, 點擊可以快速跳轉到任意上級目錄。
|
||||||
|
|
||||||
### Quick Buttons
|
### 快捷按鈕
|
||||||
|
|
||||||
- **Back**: Return to the previous visited directory
|
- **後退**:返回上一個存取的目錄
|
||||||
- **Forward**: Go to the next directory
|
- **前進**:前進到下一個目錄
|
||||||
- **Parent Directory**: Return to parent directory
|
- **上級目錄**:返回上級目錄
|
||||||
- **Refresh**: Refresh current directory
|
- **重新整理**:重新整理當前目錄
|
||||||
- **Home Directory**: Return to default directory
|
- **主目錄**:返回預設目錄
|
||||||
|
|
||||||
## File List
|
## 檔案列表
|
||||||
|
|
||||||
The file list displays the following information:
|
檔案列表顯示以下資訊:
|
||||||
|
|
||||||
| Column | Description |
|
| 欄 | 說明 |
|
||||||
| ------------- | -------------------------------------------------------------------------------- |
|
| ------ | ------------------ |
|
||||||
| Name | File or directory name |
|
| 名稱 | 檔案或目錄名稱 |
|
||||||
| Size | File size, directories show "Calculate" which can be clicked to calculate |
|
| 大小 | 檔案大小,目錄顯示「計算」可點擊計算 |
|
||||||
| Permissions | File permissions (e.g., 0755) |
|
| 權限 | 檔案權限(如 0755) |
|
||||||
| Owner/Group | File owner and group |
|
| 所有者/群組 | 檔案的所有者和所屬群組 |
|
||||||
| Modified Time | Last modified time |
|
| 修改時間 | 最後修改時間 |
|
||||||
| Actions | Open, compress, rename, delete, more |
|
| 操作 | 開啟、壓縮、重新命名、刪除、更多 |
|
||||||
|
|
||||||
### Select Files
|
### 選擇檔案
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
After selecting files, batch operation buttons appear at the top:
|
選擇檔案後,頂部會顯示批次操作按鈕:
|
||||||
|
|
||||||
- **Copy**: Copy selected files
|
- **複製**:複製選中的檔案
|
||||||
- **Move**: Move selected files
|
- **移動**:移動選中的檔案
|
||||||
- **Compress**: Compress selected files
|
- **壓縮**:壓縮選中的檔案
|
||||||
- **Permissions**: Modify permissions
|
- **權限**:修改權限
|
||||||
- **Delete**: Delete selected files
|
- **刪除**:刪除選中的檔案
|
||||||
|
|
||||||
### More Actions
|
### 更多操作
|
||||||
|
|
||||||
Click the **More** button on the file row to display more action options:
|
點擊檔案列的 **更多** 按鈕,顯示更多操作選項:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
- **Copy**: Copy file to another directory
|
- **複製**:複製檔案到其他目錄
|
||||||
- **Move**: Move file to another directory
|
- **移動**:移動檔案到其他目錄
|
||||||
- **Permissions**: Modify file permissions and owner
|
- **權限**:修改檔案權限和所有者
|
||||||
- **Compress**: Compress file
|
- **壓縮**:壓縮檔案
|
||||||
- **Copy Path**: Copy the full path of the file
|
- **複製路徑**:複製檔案的完整路徑
|
||||||
- **Properties**: View detailed file properties
|
- **屬性**:檢視檔案詳細屬性
|
||||||
|
|
||||||
## Toolbar
|
## 工具列
|
||||||
|
|
||||||
### New
|
### 新建
|
||||||
|
|
||||||
Click the **New** button to:
|
點擊 **新建** 按鈕可以:
|
||||||
|
|
||||||
- Create new file
|
- 新建檔案
|
||||||
- Create new directory
|
- 新建目錄
|
||||||
|
|
||||||
### Upload
|
### 上傳
|
||||||
|
|
||||||
Click the **Upload** button to upload local files to the server.
|
點擊 **上傳** 按鈕上傳本機檔案到伺服器。
|
||||||
|
|
||||||
Supported upload methods:
|
支援的上傳方式:
|
||||||
|
|
||||||
- Click to select files for upload
|
- 點擊選擇檔案上傳
|
||||||
- **Drag-and-drop Upload**: Directly drag files to the page to upload
|
- **拖曳上傳**:直接將檔案拖曳到頁面即可上傳
|
||||||
|
|
||||||
### Remote Download
|
### 遠端下載
|
||||||
|
|
||||||
Click the **Remote Download** button, enter a URL address to download remote files to the current directory.
|
點擊 **遠端下載** 按鈕,輸入 URL 位址,將遠端檔案下載到當前目錄。
|
||||||
|
|
||||||
Use cases:
|
適用場景:
|
||||||
|
|
||||||
- Download software installation packages
|
- 下載軟體安裝套件
|
||||||
- Download remote backup files
|
- 下載遠端備份檔案
|
||||||
- Get files from other servers
|
- 從其他伺服器取得檔案
|
||||||
|
|
||||||
### Search
|
### 搜尋
|
||||||
|
|
||||||
Enter keywords in the search box to search for files:
|
在搜尋框輸入關鍵字搜尋檔案:
|
||||||
|
|
||||||
- Default searches current directory
|
- 預設搜尋當前目錄
|
||||||
- Check **Include Subdirectories** to search recursively
|
- 勾選 **包括子目錄** 可以遞迴搜尋
|
||||||
|
|
||||||
### Terminal
|
### 終端機
|
||||||
|
|
||||||
Click the **Terminal** button to open a terminal in the current directory for convenient command line operations.
|
點擊 **終端機** 按鈕可以在當前目錄開啟終端機,方便執行命令列操作。
|
||||||
|
|
||||||
### Sort
|
### 排序
|
||||||
|
|
||||||
Click the **Sort** button to sort the file list by different fields.
|
點擊 **排序** 按鈕可以按不同欄位排序檔案列表。
|
||||||
|
|
||||||
## File Editor
|
## 文件編輯器
|
||||||
|
|
||||||
AcePanel has a built-in powerful code editor based on Monaco Editor (the same editor core as VS Code).
|
AcePanel 內建了功能強大的程式碼編輯器,基於 Monaco Editor(VS Code 同款編輯器核心)。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Editor Features
|
### 編輯器特性
|
||||||
|
|
||||||
- **Syntax Highlighting**: Supports syntax highlighting for various programming languages
|
- **語法高亮**:支援各種程式語言的語法高亮
|
||||||
- **Code Folding**: Supports code block folding
|
- **程式碼摺疊**:支援程式碼區塊摺疊
|
||||||
- **Line Numbers**: Displays line numbers for easy positioning
|
- **行號顯示**:顯示行號,方便定位
|
||||||
- **Minimap**: Displays code thumbnail on the right side
|
- **小地圖**:右側顯示程式碼縮圖
|
||||||
- **Word Wrap**: Can toggle word wrap mode
|
- **自動換行**:可切換自動換行模式
|
||||||
- **Multi-file Editing**: Supports opening multiple files simultaneously with tab switching
|
- **多檔案編輯**:支援同時開啟多個檔案,分頁切換
|
||||||
|
|
||||||
### Editor Shortcuts
|
### 編輯器快捷鍵
|
||||||
|
|
||||||
| Shortcut | Function |
|
| 快捷鍵 | 功能 |
|
||||||
| -------------- | ----------------- |
|
| -------------- | ------ |
|
||||||
| `Ctrl+S` | Save current file |
|
| `Ctrl+S` | 儲存當前檔案 |
|
||||||
| `Ctrl+Shift+S` | Save all files |
|
| `Ctrl+Shift+S` | 儲存所有檔案 |
|
||||||
| `Ctrl+F` | Search |
|
| `Ctrl+F` | 搜尋 |
|
||||||
| `Ctrl+H` | Replace |
|
| `Ctrl+H` | 替換 |
|
||||||
| `Ctrl+G` | Go to line |
|
| `Ctrl+G` | 跳轉到指定行 |
|
||||||
|
|
||||||
### Editor Toolbar
|
### 編輯器工具列
|
||||||
|
|
||||||
- **Save**: Save current file
|
- **儲存**:儲存當前檔案
|
||||||
- **Save All**: Save all modified files
|
- **儲存所有**:儲存所有修改的檔案
|
||||||
- **Refresh**: Reload file content
|
- **重新整理**:重新載入檔案內容
|
||||||
- **Search**: Open search panel
|
- **搜尋**:開啟搜尋面板
|
||||||
- **Replace**: Open replace panel
|
- **替換**:開啟替換面板
|
||||||
- **Go to**: Jump to specified line
|
- **跳轉**:跳轉到指定行
|
||||||
- **Font Size**: Adjust editor font size
|
- **字型大小**:調整編輯器字型大小
|
||||||
- **Toggle Word Wrap**: Enable/disable word wrap
|
- **切換自動換行**:開啟/關閉自動換行
|
||||||
- **Toggle Minimap**: Show/hide right-side minimap
|
- **切換小地圖**:顯示/隱藏右側小地圖
|
||||||
- **Settings**: Editor settings
|
- **設定**:編輯器設定
|
||||||
|
|
||||||
### Fullscreen Mode
|
### 全螢幕模式
|
||||||
|
|
||||||
Click the **Maximize** button for fullscreen editing to get more editing space:
|
點擊 **最大化** 按鈕可以全螢幕編輯,獲得更大的編輯空間:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Sidebar File Tree
|
### 側邊欄檔案樹
|
||||||
|
|
||||||
The left side of the editor displays the file tree of the current directory, allowing you to:
|
編輯器左側顯示當前目錄的檔案樹,可以:
|
||||||
|
|
||||||
- Quickly switch to edit other files
|
- 快速切換編輯其他檔案
|
||||||
- Create new files
|
- 新建檔案
|
||||||
- Search files
|
- 搜尋檔案
|
||||||
|
|
||||||
### Status Bar
|
### 狀態列
|
||||||
|
|
||||||
The editor bottom status bar displays:
|
編輯器底部狀態列顯示:
|
||||||
|
|
||||||
- Full file path
|
- 檔案完整路徑
|
||||||
- Line ending type (LF/CRLF)
|
- 換行符類型(LF/CRLF)
|
||||||
- Cursor position (line, column)
|
- 游標位置(行、列)
|
||||||
- Indentation settings (spaces/Tab)
|
- 縮排設定(空格/Tab)
|
||||||
- File language type
|
- 檔案語言類型
|
||||||
|
|
||||||
## Permission Explanation
|
## 權限說明
|
||||||
|
|
||||||
Linux file permissions are represented by three groups of numbers:
|
Linux 檔案權限由三組數字表示:
|
||||||
|
|
||||||
| Permission | Number | Description |
|
| 權限 | 數字 | 說明 |
|
||||||
| ---------- | ------ | ----------- |
|
| -- | -- | -- |
|
||||||
| r | 4 | Read |
|
| r | 4 | 讀取 |
|
||||||
| w | 2 | Write |
|
| w | 2 | 寫入 |
|
||||||
| x | 1 | Execute |
|
| x | 1 | 執行 |
|
||||||
|
|
||||||
For example `0755`:
|
例如 `0755`:
|
||||||
|
|
||||||
- Owner: 7 (4+2+1) = read+write+execute
|
- 所有者:7 (4+2+1) = 讀+寫+執行
|
||||||
- Group: 5 (4+1) = read+execute
|
- 所屬群組:5 (4+1) = 讀+執行
|
||||||
- Others: 5 (4+1) = read+execute
|
- 其他使用者:5 (4+1) = 讀+執行
|
||||||
|
|
||||||
Common permissions:
|
常用權限:
|
||||||
|
|
||||||
- `0644`: Regular files
|
- `0644`:普通檔案
|
||||||
- `0755`: Executable files and directories
|
- `0755`:可執行檔案和目錄
|
||||||
- `0600`: Private files (such as keys)
|
- `0600`:私密檔案(如金鑰)
|
||||||
|
|||||||
@@ -1,105 +1,105 @@
|
|||||||
# Monitor
|
# 監控
|
||||||
|
|
||||||
The monitor module is used to record and view server performance data, including CPU, memory, disk I/O, and network traffic.
|
監控模組用於記錄和查看伺服器的效能數據,包括 CPU、記憶體、磁碟 I/O 和網路流量。
|
||||||
|
|
||||||
## Monitor Page
|
## 監控頁面
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Monitor Settings
|
## 監控設定
|
||||||
|
|
||||||
### Enable Monitoring
|
### 啟用監控
|
||||||
|
|
||||||
After turning on the **Enable Monitoring** switch, the system will periodically collect performance data.
|
開啟 **啟用監控** 開關後,系統會定期採集效能數據。
|
||||||
|
|
||||||
### Retention Days
|
### 保存天數
|
||||||
|
|
||||||
Set the retention time for monitoring data, default is 30 days. Data exceeding the retention time will be automatically cleaned up.
|
設定監控數據的保留時間,預設 30 天。 超過保留時間的數據會自動清理。
|
||||||
|
|
||||||
### Clear Monitor Records
|
### 清除監控記錄
|
||||||
|
|
||||||
Click the **Clear Monitor Records** button to manually clear all historical monitoring data.
|
點擊 **清除監控記錄** 按鈕可以手動清除所有歷史監控數據。
|
||||||
|
|
||||||
## Monitoring Metrics
|
## 監控指標
|
||||||
|
|
||||||
### Load Average
|
### 負載(Load Average)
|
||||||
|
|
||||||
System load reflects the busyness of the CPU:
|
系統負載反映了 CPU 的繁忙程度:
|
||||||
|
|
||||||
- **1-minute load**: Average load over the last 1 minute
|
- **1 分鐘負載**:最近 1 分鐘的平均負載
|
||||||
- **5-minute load**: Average load over the last 5 minutes
|
- **5 分鐘負載**:最近 5 分鐘的平均負載
|
||||||
- **15-minute load**: Average load over the last 15 minutes
|
- **15 分鐘負載**:最近 15 分鐘的平均負載
|
||||||
|
|
||||||
Load value reference:
|
負載值的參考:
|
||||||
|
|
||||||
- Load < CPU cores: System running smoothly
|
- 負載 < CPU 核心數:系統運行流暢
|
||||||
- Load = CPU cores: System running at full capacity
|
- 負載 = CPU 核心數:系統滿負荷運行
|
||||||
- Load > CPU cores: System overloaded, may experience lag
|
- 負載 > CPU 核心數:系統過載,可能出現卡頓
|
||||||
|
|
||||||
### CPU Usage
|
### CPU 使用率
|
||||||
|
|
||||||
Displays CPU usage percentage, including:
|
顯示 CPU 的使用百分比,包括:
|
||||||
|
|
||||||
- User mode usage
|
- 使用者態使用率
|
||||||
- System mode usage
|
- 系統態使用率
|
||||||
- Idle rate
|
- 空閒率
|
||||||
|
|
||||||
### Memory Usage
|
### 記憶體使用
|
||||||
|
|
||||||
Displays memory usage:
|
顯示記憶體的使用情況:
|
||||||
|
|
||||||
- Used memory
|
- 已使用記憶體
|
||||||
- Available memory
|
- 可用記憶體
|
||||||
- Cache/Buffer
|
- 快取/緩衝區
|
||||||
|
|
||||||
### Disk I/O
|
### 磁碟 I/O
|
||||||
|
|
||||||
Displays disk read/write speed:
|
顯示磁碟的讀寫速度:
|
||||||
|
|
||||||
- Read speed (KB/s or MB/s)
|
- 讀取速度(KB/s 或 MB/s)
|
||||||
- Write speed (KB/s or MB/s)
|
- 寫入速度(KB/s 或 MB/s)
|
||||||
|
|
||||||
You can select the disk device to monitor.
|
可以選擇要監控的磁碟裝置。
|
||||||
|
|
||||||
### Network Traffic
|
### 網路流量
|
||||||
|
|
||||||
Displays network interface traffic:
|
顯示網路介面的流量:
|
||||||
|
|
||||||
- Send speed
|
- 傳送速度
|
||||||
- Receive speed
|
- 接收速度
|
||||||
|
|
||||||
You can select the network interface to monitor.
|
可以選擇要監控的網路介面。
|
||||||
|
|
||||||
## Time Range
|
## 時間範圍
|
||||||
|
|
||||||
Each monitoring chart supports selecting a time range:
|
每個監控圖表都支援選擇時間範圍:
|
||||||
|
|
||||||
- **Yesterday**: View yesterday's data
|
- **昨天**:查看昨天的數據
|
||||||
- **Today**: View today's data
|
- **今天**:查看今天的數據
|
||||||
- **Last 7 days**: View data from the last week
|
- **近 7 天**:查看最近一週的數據
|
||||||
- **Custom**: Select any time range
|
- **自訂**:選擇任意時間範圍
|
||||||
|
|
||||||
## Use Cases
|
## 使用場景
|
||||||
|
|
||||||
### Performance Analysis
|
### 效能分析
|
||||||
|
|
||||||
Analyze server performance bottlenecks through monitoring data:
|
透過監控數據分析伺服器效能瓶頸:
|
||||||
|
|
||||||
- Sustained high CPU load: Consider optimizing programs or upgrading CPU
|
- CPU 持續高負載:考慮最佳化程式或升級 CPU
|
||||||
- Insufficient memory: Consider adding memory or optimizing memory usage
|
- 記憶體不足:考慮增加記憶體或最佳化記憶體使用
|
||||||
- High disk I/O: Consider using SSD or optimizing database queries
|
- 磁碟 I/O 高:考慮使用 SSD 或最佳化資料庫查詢
|
||||||
- Insufficient network bandwidth: Consider upgrading bandwidth
|
- 網路頻寬不足:考慮升級頻寬
|
||||||
|
|
||||||
### Troubleshooting
|
### 故障排查
|
||||||
|
|
||||||
When problems occur, view historical monitoring data to locate the time and cause of the problem.
|
出現問題時,查看歷史監控數據定位問題發生的時間和原因。
|
||||||
|
|
||||||
### Capacity Planning
|
### 容量規劃
|
||||||
|
|
||||||
Based on historical data trends, predict future resource needs and plan for expansion in advance.
|
根據歷史數據趨勢,預測未來的資源需求,提前進行擴容。
|
||||||
|
|
||||||
## Notes
|
## 注意事項
|
||||||
|
|
||||||
- Monitoring data will occupy some disk space
|
- 監控數據會佔用一定的磁碟空間
|
||||||
- The longer the retention days, the more space it occupies
|
- 保存天數越長,佔用空間越大
|
||||||
- It is recommended to set appropriate retention days based on actual needs
|
- 建議根據實際需求設定合適的保存天數
|
||||||
|
|||||||
@@ -1,156 +1,156 @@
|
|||||||
# Project
|
# 專案
|
||||||
|
|
||||||
The project module is used to manage backend applications, supporting multiple languages including Go, Java, Node.js, PHP, Python, etc. Projects run as system services, supporting automatic restart, auto-start on boot, and other features.
|
專案模組用於管理後端應用程式,支援 Go、Java、Node.js、PHP、Python 等多種語言。 專案會作為系統服務運行,支援自動重啟、開機自啟等功能。
|
||||||
|
|
||||||
## Project Types
|
## 專案類型
|
||||||
|
|
||||||
| Type | Description | Use Cases |
|
| 類型 | 說明 | 適用場景 |
|
||||||
| ------------------------------------------- | -------------------------------- | -------------------------------------------- |
|
| ------------------------------------------- | -------------------------- | ----------------------- |
|
||||||
| [Go](./project/go) | Go language projects | Gin, Echo, Fiber frameworks |
|
| [Go](./project/go) | Go 語言專案 | Gin、Echo、Fiber 等框架 |
|
||||||
| [Java](./project/java) | Java projects | Spring Boot, Tomcat, etc. |
|
| [Java](./project/java) | Java 專案 | Spring Boot、Tomcat 等 |
|
||||||
| [Node.js](./project/nodejs) | Node.js projects | Express, Koa, NestJS, etc. |
|
| [Node.js](./project/nodejs) | Node.js 專案 | Express、Koa、NestJS 等 |
|
||||||
| [PHP](./project/php) | PHP projects | Laravel Octane, Swoole, etc. |
|
| [PHP](./project/php) | PHP 專案 | Laravel Octane、Swoole 等 |
|
||||||
| [Python](./project/python) | Python projects | Django, Flask, FastAPI, etc. |
|
| [Python](./project/python) | Python 專案 | Django、Flask、FastAPI 等 |
|
||||||
| [General](./project/general) | Other types of projects | Any executable program |
|
| [通用](./project/general) | 其他類型專案 | 任意可執行程式 |
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Project vs Website
|
## 專案 vs 網站
|
||||||
|
|
||||||
| Feature | Project | Website |
|
| 特性 | 專案 | 網站 |
|
||||||
| ------------------ | -------------------------------- | ---------------------------- |
|
| ---- | -------- | ----------- |
|
||||||
| Run Mode | Independent process | Depends on Web server |
|
| 運行方式 | 獨立進程 | 依賴 Web 伺服器 |
|
||||||
| Process Management | Auto restart, auto-start on boot | Managed by Web server |
|
| 進程管理 | 專案自動重啟 | 由 Web 伺服器管理 |
|
||||||
| Use Cases | Backend services, APIs | Traditional Web applications |
|
| 適用場景 | 後端服務、API | 傳統 Web 應用 |
|
||||||
| External Access | Requires reverse proxy | Direct access |
|
| 對外存取 | 反向代理配置 | 直接存取 |
|
||||||
|
|
||||||
## Create Project
|
## 建立專案
|
||||||
|
|
||||||
1. Go to the **Project** page
|
1. 進入 **專案** 頁面
|
||||||
2. Click **Create Project**
|
2. 點擊 **建立專案**
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Configuration Items
|
### 配置項
|
||||||
|
|
||||||
- **Project Name**: Project identifier, used as service name
|
- **專案名**:專案標識,用作服務名稱
|
||||||
- **Project Directory**: Directory where project files are located
|
- **專案目錄**:專案檔案所在目錄
|
||||||
- **Run User**: System user to run the project, default www
|
- **運行使用者**:運行專案的系統使用者,預設 www
|
||||||
- **Start Command**: Command to start the project
|
- **啟動命令**:啟動專案的命令
|
||||||
- **Reverse Proxy**: Whether to automatically create a reverse proxy website
|
- 建立專案時開啟「反向代理」,會自動建立一個反向代理網站。
|
||||||
|
|
||||||
## Project Management
|
## 專案管理
|
||||||
|
|
||||||
The project list displays the following information:
|
專案列表顯示以下資訊:
|
||||||
|
|
||||||
- **Name**: Project name
|
- **名稱**:專案名稱
|
||||||
- **Description**: Project description
|
- **描述**:專案描述
|
||||||
- **Type**: Project type (Go/Java/Node.js, etc.)
|
- **類型**:專案類型(Go/Java/Node.js 等)
|
||||||
- **Status**: Running status
|
- **狀態**:運行狀態
|
||||||
- **Auto Start**: Whether to auto-start on boot
|
- **自啟動**:是否開機自啟
|
||||||
- **Directory**: Project directory
|
- **目錄**:專案目錄
|
||||||
- **Actions**: Start, stop, restart, logs, etc.
|
- **操作**:啟動、停止、重啟、日誌等
|
||||||
|
|
||||||
### Project Operations
|
### 專案操作
|
||||||
|
|
||||||
- **Start**: Start the project
|
- **啟動**:啟動專案
|
||||||
- **Stop**: Stop the project
|
- **停止**:停止專案
|
||||||
- **Restart**: Restart the project
|
- **重啟**:重啟專案
|
||||||
- **Logs**: View project runtime logs
|
- 檢視專案日誌
|
||||||
- **Edit**: Modify project configuration
|
- **編輯**:修改專案配置
|
||||||
- **Delete**: Delete the project
|
- **刪除**:刪除專案
|
||||||
|
|
||||||
## Edit Project
|
## 編輯專案
|
||||||
|
|
||||||
Click the **Edit** button in the project list to modify project configuration. The edit dialog contains multiple tabs:
|
點擊專案列表中的 **編輯** 按鈕,可以修改專案配置。 編輯對話框包含多個標籤頁:
|
||||||
|
|
||||||
### Basic Settings
|
### 基本設置
|
||||||
|
|
||||||
Configure basic project information:
|
配置專案的基本資訊:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
- **Project Name**: Project identifier, used as service name
|
- **專案名**:專案標識,用作服務名稱
|
||||||
- **Description**: Project description information
|
- **描述**:專案描述資訊
|
||||||
- **Project Directory**: Directory where project files are located
|
- **專案目錄**:專案檔案所在目錄
|
||||||
- **Working Directory**: Working directory when the program runs, defaults to project directory
|
- **工作目錄**:程式運行時的工作目錄,預設為專案目錄
|
||||||
- **Run User**: System user to run the project
|
- **運行使用者**:運行專案的系統使用者
|
||||||
|
|
||||||
### Run Settings
|
### 運行設置
|
||||||
|
|
||||||
Configure project runtime parameters:
|
配置專案的運行參數:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
- **Start Command**: Command to start the project
|
- **啟動命令**:啟動專案的命令
|
||||||
- **Pre-start Command**: Command to run before starting (optional)
|
- 預啟動命令
|
||||||
- **Post-start Command**: Command to run after starting (optional)
|
- **啟動後命令**:啟動後運行的命令(可選)
|
||||||
- **Stop Command**: Custom stop command (optional)
|
- **停止命令**:自定義停止命令(可選)
|
||||||
- **Reload Command**: Custom reload command (optional)
|
- **重載命令**:自定義重載命令(可選)
|
||||||
- **Restart Policy**: Restart on failure, always restart, never restart
|
- **重啟策略**:失敗時重啟 / 總是重啟 / 不重啟
|
||||||
- **Restart Interval**: Wait time between restarts
|
- **重啟間隔**:兩次重啟之間的等待時間
|
||||||
- **Max Restart Count**: Maximum number of consecutive restarts
|
- **最大重啟次數**:防止無限重啟
|
||||||
- **Start Timeout**: Timeout for waiting for service to start
|
- 在專案啟動前執行,如安裝依賴:
|
||||||
- **Stop Timeout**: Timeout for waiting for service to stop
|
- lsof -i:3000 # 檢視佔用連接埠的進程
|
||||||
- **Standard Output**: How to handle standard output
|
- **標準輸出**:標準輸出的處理方式
|
||||||
- **Standard Error**: How to handle standard error
|
- **標準錯誤**:標準錯誤的處理方式
|
||||||
- **Environment Variables**: Set environment variables for project runtime
|
- **環境變數**:設置專案運行時的環境變數
|
||||||
|
|
||||||
### Dependencies
|
### 依賴
|
||||||
|
|
||||||
Configure service dependencies to control startup order:
|
配置服務依賴關係以控制啟動順序:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
- **Requires**: Strong dependencies, if these services are unavailable, the project will fail
|
- **Requires**:強依賴,如果這些服務不可用,專案將會失敗
|
||||||
- **Wants**: Weak dependencies, if these services fail, the project will still start
|
- **Wants**:弱依賴,如果這些服務失敗,專案仍然會啟動
|
||||||
- **After**: Start this project after the specified services
|
- **After**:在指定服務之後啟動此專案
|
||||||
- **Before**: Start this project before the specified services
|
- **Before**:在指定服務之前啟動此專案
|
||||||
|
|
||||||
Common services: `network.target`, `mysqld.service`, `postgresql.service`, `redis.service`
|
常見服務:`network.target`、`mysqld.service`、`postgresql.service`、`redis.service`
|
||||||
|
|
||||||
### Resource Limits
|
### 資源限制
|
||||||
|
|
||||||
Set resource limits to prevent services from consuming too many system resources:
|
設置資源限制以防止服務消耗過多系統資源:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
- **Memory Limit**: Limit the maximum memory used by the project, 0 means unlimited
|
- **記憶體限制**:限制專案使用的最大記憶體,0 表示無限制
|
||||||
- **CPU Quota**: Limit CPU usage, 100% = 1 CPU core
|
- **CPU 配額**:限制 CPU 使用率,100% = 1 個 CPU 核心
|
||||||
|
|
||||||
### Security Settings
|
### 安全設置
|
||||||
|
|
||||||
Security options to enhance service isolation:
|
增強服務隔離的安全選項:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
- **No New Privileges**: Prevent the process from gaining new privileges
|
- **沒有新權限**:防止進程獲取新的權限
|
||||||
- **Protect /tmp**: Create a private /tmp directory for the service
|
- **保護 /tmp**:為服務建立私有的 /tmp 目錄
|
||||||
- **Protect /home**: Restrict access to the /home directory
|
- **保護 /home**:限制對 /home 目錄的存取
|
||||||
- **Protect System**: Set read-only protection level for system directories
|
- **保護系統**:設置系統目錄的唯讀保護級別
|
||||||
- `true`: /usr, /boot are read-only
|
- `true`:/usr、/boot 為唯讀
|
||||||
- `full`: + /etc is read-only
|
- `full`:+ /etc 為唯讀
|
||||||
- `strict`: Entire filesystem is read-only
|
- `strict`:整個檔案系統為唯讀
|
||||||
- **Read-Write Paths**: Paths the service can read and write
|
- **讀寫路徑**:服務可以讀寫的路徑
|
||||||
- **Read-Only Paths**: Paths the service can only read
|
- **唯讀路徑**:服務只能讀取的路徑
|
||||||
|
|
||||||
:::warning Note
|
:::warning 注意
|
||||||
Security settings may affect certain features. Please test thoroughly before enabling.
|
安全設置可能會影響某些功能, 請在啟用之前進行充分測試。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Process Management
|
## 進程管理
|
||||||
|
|
||||||
Projects use systemd for process management, with the following features:
|
專案使用 systemd 進行進程管理,具有以下特性:
|
||||||
|
|
||||||
- **Auto Restart**: Automatically restart after abnormal process exit
|
- 專案啟動失敗
|
||||||
- **Auto Start on Boot**: Automatically start the project when the system boots
|
- **開機自啟**:系統啟動時自動啟動專案
|
||||||
- **Log Management**: Automatically record standard output and error output
|
- **日誌管理**:自動記錄標準輸出和錯誤輸出
|
||||||
|
|
||||||
## Next Steps
|
## 下一步
|
||||||
|
|
||||||
- [Go Project](./project/go) - Deploy Go applications
|
- [Go 專案](./project/go) - 部署 Go 應用
|
||||||
- [Java Project](./project/java) - Deploy Java applications
|
- [Java 專案](./project/java) - 部署 Java 應用
|
||||||
- [Node.js Project](./project/nodejs) - Deploy Node.js applications
|
- [Node.js 專案](./project/nodejs) - 部署 Node.js 應用
|
||||||
- [PHP Project](./project/php) - Deploy PHP applications
|
- [PHP 專案](./project/php) - 部署 PHP 應用
|
||||||
- [Python Project](./project/python) - Deploy Python applications
|
- [Python 專案](./project/python) - 部署 Python 應用
|
||||||
- [General Project](./project/general) - Deploy other types of applications
|
- [通用專案](./project/general) - 部署其他類型應用
|
||||||
|
|||||||
@@ -1,50 +1,50 @@
|
|||||||
# General Project
|
# 通用項目
|
||||||
|
|
||||||
General projects are used to deploy any type of executable program, not limited to specific programming languages.
|
通用項目用於部署任意類型的可執行程式,不限於特定程式語言。
|
||||||
|
|
||||||
## Use Cases
|
## 適用場景
|
||||||
|
|
||||||
- Rust applications
|
- Rust 應用
|
||||||
- C/C++ applications
|
- C/C++ 應用
|
||||||
- Shell scripts
|
- Shell 腳本
|
||||||
- Other compiled language applications
|
- 其他編譯型語言應用
|
||||||
- Custom startup scripts
|
- 自訂啟動腳本
|
||||||
|
|
||||||
## Creating a General Project
|
## 建立通用項目
|
||||||
|
|
||||||
1. Go to the **Projects** page
|
1. 進入 **項目** 頁面
|
||||||
2. Click **Create Project**
|
2. 點擊 **建立項目**
|
||||||
3. Fill in the configuration:
|
3. 填寫配置:
|
||||||
- **Project Name**: Project identifier
|
- **項目名**:項目標識
|
||||||
- **Project Directory**: Directory where the executable is located
|
- **項目目錄**:可執行檔案所在目錄
|
||||||
- **Startup Command**: Command to start the program
|
- **啟動命令**:啟動程式的命令
|
||||||
4. Enable **Reverse Proxy** as needed
|
4. 根據需要開啟 **反向代理**
|
||||||
|
|
||||||
## Startup Command Examples
|
## 啟動命令範例
|
||||||
|
|
||||||
### Rust Application
|
### Rust 應用
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Run compiled binary
|
# 運行編譯好的二進位檔案
|
||||||
./myapp
|
./myapp
|
||||||
|
|
||||||
# Run with arguments
|
# 帶參數運行
|
||||||
./myapp --config config.toml --port 8080
|
./myapp --config config.toml --port 8080
|
||||||
```
|
```
|
||||||
|
|
||||||
### Shell Script
|
### Shell 腳本
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Run script
|
# 運行腳本
|
||||||
/bin/bash start.sh
|
/bin/bash start.sh
|
||||||
|
|
||||||
# Or run directly (requires shebang and execute permission)
|
# 或直接運行(需要 shebang 和執行權限)
|
||||||
./start.sh
|
./start.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
### Custom Startup Script
|
### 自訂啟動腳本
|
||||||
|
|
||||||
Create `start.sh`:
|
建立 `start.sh`:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
@@ -53,75 +53,75 @@ export ENV=production
|
|||||||
./myapp
|
./myapp
|
||||||
```
|
```
|
||||||
|
|
||||||
Startup command: `/bin/bash start.sh`
|
啟動命令:`/bin/bash start.sh`
|
||||||
|
|
||||||
## Environment Variables
|
## 環境變數
|
||||||
|
|
||||||
You can set environment variables in the startup command:
|
可以在啟動命令中設定環境變數:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Single environment variable
|
# 單個環境變數
|
||||||
ENV=production ./myapp
|
ENV=production ./myapp
|
||||||
|
|
||||||
# Multiple environment variables
|
# 多個環境變數
|
||||||
ENV=production PORT=8080 ./myapp
|
ENV=production PORT=8080 ./myapp
|
||||||
```
|
```
|
||||||
|
|
||||||
Or edit the project directly and add environment variables in **Runtime Settings**.
|
或直接編輯項目,在 **運行設定** 中新增環境變數。
|
||||||
|
|
||||||
## Working Directory
|
## 工作目錄
|
||||||
|
|
||||||
The project runs in the specified project directory, and relative paths are resolved based on that directory.
|
項目會在指定的項目目錄下運行,相對路徑會基於該目錄解析。
|
||||||
|
|
||||||
If you need to change directories, you can use `cd` in the startup command:
|
如果需要切換目錄,可以在啟動命令中使用 `cd`:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd /opt/ace/project/myapp/bin && ./myapp
|
cd /opt/ace/project/myapp/bin && ./myapp
|
||||||
```
|
```
|
||||||
|
|
||||||
## Permission Settings
|
## 權限設定
|
||||||
|
|
||||||
Ensure the executable has execute permission:
|
確保可執行檔案有執行權限:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
chmod +x myapp
|
chmod +x myapp
|
||||||
chmod +x start.sh
|
chmod +x start.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
## Running User
|
## 運行使用者
|
||||||
|
|
||||||
By default, projects run as the `www` user. If the program requires special permissions, you can select a different user.
|
預設使用 `www` 使用者運行項目。 如果程式需要特殊權限,可以選擇其他使用者。
|
||||||
|
|
||||||
:::warning Note
|
:::warning 注意
|
||||||
Running as root user may pose security risks, please choose carefully.
|
使用 root 使用者運行可能帶來安全風險,請謹慎選擇。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Log Output
|
## 日誌輸出
|
||||||
|
|
||||||
The program's standard output (stdout) and standard error (stderr) are recorded in logs, which can be viewed on the project management page.
|
程式的標準輸出(stdout)和標準錯誤(stderr)會被記錄到日誌中,可以在項目管理頁面查看。
|
||||||
|
|
||||||
It is recommended that programs output logs to standard output rather than writing to files for unified management.
|
建議程式將日誌輸出到標準輸出,而非寫入檔案,便於統一管理。
|
||||||
|
|
||||||
## Signal Handling
|
## 訊號處理
|
||||||
|
|
||||||
When a project stops, a SIGTERM signal is sent. The program should handle this signal properly to achieve graceful shutdown:
|
項目停止時會發送 SIGTERM 訊號, 程式應正確處理該訊號以實現優雅關閉:
|
||||||
|
|
||||||
```rust
|
```rust
|
||||||
// Rust example
|
// Rust 範例
|
||||||
use signal_hook::{consts::SIGTERM, iterator::Signals};
|
use signal_hook::{consts::SIGTERM, iterator::Signals};
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let mut signals = Signals::new(&[SIGTERM]).unwrap();
|
let mut signals = Signals::new(&[SIGTERM]).unwrap();
|
||||||
// Handle SIGTERM signal
|
// 處理 SIGTERM 訊號
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
```c
|
```c
|
||||||
// C example
|
// C 範例
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
|
|
||||||
void handle_sigterm(int sig) {
|
void handle_sigterm(int sig) {
|
||||||
// Clean up resources
|
// 清理資源
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,65 +1,65 @@
|
|||||||
# Go Project
|
# Go 專案
|
||||||
|
|
||||||
Go projects are used to deploy backend applications developed with Go language, such as Gin, Echo, Fiber frameworks.
|
Go 專案用於部署使用 Go 語言開發的後端應用,如 Gin、Echo、Fiber 等框架。
|
||||||
|
|
||||||
## Prerequisites
|
## 前置要求
|
||||||
|
|
||||||
1. Install Go runtime environment: **Applications** > **Runtime Environment** > **Go**
|
1. 安裝 Go 執行環境:**應用** > **執行環境** > **Go**
|
||||||
2. Compiled Go executable file or source code
|
2. 編譯好的 Go 可執行檔案或原始碼
|
||||||
|
|
||||||
## Deployment Methods
|
## 部署方式
|
||||||
|
|
||||||
### Method 1: Deploy Compiled Binary File
|
### 方式一:部署編譯好的二進位檔案
|
||||||
|
|
||||||
1. Compile Go project locally:
|
1. 在本地編譯 Go 專案:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Cross-compile for Linux amd64
|
# 交叉編譯為 Linux amd64
|
||||||
GOOS=linux GOARCH=amd64 go build -o myapp
|
GOOS=linux GOARCH=amd64 go build -o myapp
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Upload binary file to server
|
2. 上傳二進位檔案到伺服器
|
||||||
3. Create project, fill in start command: `./myapp`
|
3. 建立專案,啟動命令填寫:`./myapp`
|
||||||
|
|
||||||
### Method 2: Compile on Server
|
### 方式二:在伺服器上編譯
|
||||||
|
|
||||||
1. Upload source code to server
|
1. 上傳原始碼到伺服器
|
||||||
2. Compile in terminal:
|
2. 在終端機中編譯:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd /opt/ace/project/myapp
|
cd /opt/ace/project/myapp
|
||||||
go build -o myapp
|
go build -o myapp
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Create project, fill in start command: `./myapp`
|
3. 建立專案,啟動命令填寫:`./myapp`
|
||||||
|
|
||||||
## Create Go Project
|
## 建立 Go 專案
|
||||||
|
|
||||||
1. Go to the **Project** page
|
1. 進入 **專案** 頁面
|
||||||
2. Click **Create Project**
|
2. 點擊 **建立專案**
|
||||||
3. Fill in configuration:
|
3. 填寫設定:
|
||||||
- **Project Name**: `myapp`
|
- **專案名稱**:`myapp`
|
||||||
- **Project Directory**: `/opt/ace/project/myapp`
|
- **專案目錄**:`/opt/ace/project/myapp`
|
||||||
- **Start Command**: `./myapp` or `go1.24 run main.go`
|
- **啟動命令**:`./myapp` 或 `go1.24 run main.go`
|
||||||
4. Enable **Reverse Proxy** for external access
|
4. 開啟 **反向代理** 以便外部存取
|
||||||
|
|
||||||
## Start Command Examples
|
## 啟動命令範例
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Run compiled binary file
|
# 執行編譯好的二進位檔案
|
||||||
./myapp
|
./myapp
|
||||||
|
|
||||||
# Run with specified Go version
|
# 使用指定版本的 Go 執行
|
||||||
go1.24 run main.go
|
go1.24 run main.go
|
||||||
|
|
||||||
# Run with parameters
|
# 帶參數執行
|
||||||
./myapp -port 8080 -config ./config.yaml
|
./myapp -port 8080 -config ./config.yaml
|
||||||
|
|
||||||
# Set environment variables
|
# 設定環境變數
|
||||||
GIN_MODE=release ./myapp
|
GIN_MODE=release ./myapp
|
||||||
```
|
```
|
||||||
|
|
||||||
## Common Frameworks
|
## 常用框架
|
||||||
|
|
||||||
### Gin
|
### Gin
|
||||||
|
|
||||||
@@ -77,7 +77,7 @@ func main() {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Start command: `GIN_MODE=release ./myapp`
|
啟動命令:`GIN_MODE=release ./myapp`
|
||||||
|
|
||||||
### Echo
|
### Echo
|
||||||
|
|
||||||
@@ -113,8 +113,8 @@ func main() {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Notes
|
## 注意事項
|
||||||
|
|
||||||
1. Ensure binary file has execute permission: `chmod +x myapp`
|
1. 確保二進位檔案有執行權限:`chmod +x myapp`
|
||||||
2. Production environments are recommended to use compiled binary files, not `go run`
|
2. 生產環境建議使用編譯好的二進位檔案,而非 `go run`
|
||||||
3. It is recommended to use environment variables or configuration files to manage configuration, avoid hardcoding
|
3. 建議使用環境變數或設定檔管理設定,避免寫死在程式碼中
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
# Java Project
|
# Java 專案
|
||||||
|
|
||||||
Java projects are used to deploy Spring Boot, Tomcat, and other Java applications.
|
Java 專案用於部署 Spring Boot、Tomcat 等 Java 應用。
|
||||||
|
|
||||||
## Prerequisites
|
## 前置要求
|
||||||
|
|
||||||
1. Install Java runtime environment: **Applications** > **Runtime Environment** > **Java** (Corretto JDK)
|
1. 安裝 Java 執行環境:**應用** > **執行環境** > **Java**(Corretto JDK)
|
||||||
2. Packaged JAR file or WAR file
|
2. 打包好的 JAR 檔案或 WAR 檔案
|
||||||
|
|
||||||
## Deploy Spring Boot Application
|
## 部署 Spring Boot 應用
|
||||||
|
|
||||||
### Package Project
|
### 打包專案
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Maven
|
# Maven
|
||||||
@@ -19,35 +19,35 @@ mvn clean package -DskipTests
|
|||||||
./gradlew build -x test
|
./gradlew build -x test
|
||||||
```
|
```
|
||||||
|
|
||||||
### Upload and Deploy
|
### 上傳並部署
|
||||||
|
|
||||||
1. Upload JAR file to server (e.g., `/opt/ace/project/myapp/app.jar`)
|
1. 上傳 JAR 檔案到伺服器(如 `/opt/ace/project/myapp/app.jar`)
|
||||||
2. Create project:
|
2. 建立專案:
|
||||||
- **Project Name**: `myapp`
|
- **專案名**:`myapp`
|
||||||
- **Project Directory**: `/opt/ace/project/myapp`
|
- **專案目錄**:`/opt/ace/project/myapp`
|
||||||
- **Start Command**: `java21 -jar app.jar`
|
- **啟動命令**:`java21 -jar app.jar`
|
||||||
3. Enable **Reverse Proxy**
|
3. 開啟 **反向代理**
|
||||||
|
|
||||||
## Start Command Examples
|
## 啟動命令範例
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Basic startup
|
# 基本啟動
|
||||||
java21 -jar app.jar
|
java21 -jar app.jar
|
||||||
|
|
||||||
# Specify configuration file
|
# 指定配置檔案
|
||||||
java21 -jar app.jar --spring.profiles.active=prod
|
java21 -jar app.jar --spring.profiles.active=prod
|
||||||
|
|
||||||
# Set JVM parameters
|
# 設定 JVM 參數
|
||||||
java21 -Xms512m -Xmx1024m -jar app.jar
|
java21 -Xms512m -Xmx1024m -jar app.jar
|
||||||
|
|
||||||
# Specify port
|
# 指定連接埠
|
||||||
java21 -jar app.jar --server.port=8080
|
java21 -jar app.jar --server.port=8080
|
||||||
```
|
```
|
||||||
|
|
||||||
## JVM Parameter Recommendations
|
## JVM 參數建議
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Recommended production environment configuration
|
# 生產環境推薦配置
|
||||||
java21 \
|
java21 \
|
||||||
-Xms512m \
|
-Xms512m \
|
||||||
-Xmx1024m \
|
-Xmx1024m \
|
||||||
@@ -56,22 +56,22 @@ java21 \
|
|||||||
-jar app.jar
|
-jar app.jar
|
||||||
```
|
```
|
||||||
|
|
||||||
Common parameter descriptions:
|
常用參數說明:
|
||||||
|
|
||||||
| Parameter | Description |
|
| 參數 | 說明 |
|
||||||
| ---------------------- | ------------------------ |
|
| ---------------------- | ----------- |
|
||||||
| `-Xms` | Initial heap memory size |
|
| `-Xms` | 初始堆積記憶體大小 |
|
||||||
| `-Xmx` | Maximum heap memory size |
|
| `-Xmx` | 最大堆積記憶體大小 |
|
||||||
| `-XX:+UseG1GC` | Use G1 garbage collector |
|
| `-XX:+UseG1GC` | 使用 G1 垃圾收集器 |
|
||||||
| `-XX:MaxGCPauseMillis` | Maximum GC pause time |
|
| `-XX:MaxGCPauseMillis` | 最大 GC 停頓時間 |
|
||||||
|
|
||||||
## Multiple JDK Versions
|
## 多版本 JDK
|
||||||
|
|
||||||
AcePanel supports installing multiple JDK versions, paths like `/opt/ace/server/java/{version}/bin/java`, with `java{version}` commands linked by default for convenience.
|
AcePanel 支援安裝多個 JDK 版本,路徑如 `/opt/ace/server/java/{version}/bin/java`,已預設連結 `java{version}` 命令方便使用。
|
||||||
|
|
||||||
## Configuration File
|
## 配置檔案
|
||||||
|
|
||||||
Spring Boot configuration file `application.yml` example:
|
Spring Boot 配置檔案 `application.yml` 範例:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
server:
|
server:
|
||||||
@@ -84,27 +84,27 @@ spring:
|
|||||||
password: your_password
|
password: your_password
|
||||||
```
|
```
|
||||||
|
|
||||||
## FAQ
|
## 常見問題
|
||||||
|
|
||||||
### Out of Memory
|
### 記憶體不足
|
||||||
|
|
||||||
Increase JVM heap memory:
|
增加 JVM 堆積記憶體:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
java21 -Xms1g -Xmx2g -jar app.jar
|
java21 -Xms1g -Xmx2g -jar app.jar
|
||||||
```
|
```
|
||||||
|
|
||||||
### Port Conflict
|
### 連接埠衝突
|
||||||
|
|
||||||
Modify startup port:
|
修改啟動連接埠:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
java21 -jar app.jar --server.port=8081
|
java21 -jar app.jar --server.port=8081
|
||||||
```
|
```
|
||||||
|
|
||||||
### Slow Startup
|
### 啟動慢
|
||||||
|
|
||||||
Check if there are external dependency connection timeouts, or add the following parameters to speed up startup:
|
檢查是否有外部依賴連線逾時,或新增以下參數加速啟動:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
-XX:TieredStopAtLevel=1 -noverify
|
-XX:TieredStopAtLevel=1 -noverify
|
||||||
|
|||||||
@@ -1,48 +1,48 @@
|
|||||||
# Node.js Project
|
# Node.js 專案
|
||||||
|
|
||||||
Node.js projects are used to deploy Express, Koa, NestJS, Next.js, and other Node.js applications.
|
Node.js 專案用於部署 Express、Koa、NestJS、Next.js 等 Node.js 應用。
|
||||||
|
|
||||||
## Prerequisites
|
## 前置要求
|
||||||
|
|
||||||
1. Install Node.js runtime environment: **Applications** > **Runtime Environment** > **Node.js**
|
1. 安裝 Node.js 執行環境:**應用** > **執行環境** > **Node.js**
|
||||||
2. Project source code
|
2. 專案原始碼
|
||||||
|
|
||||||
## Deployment Steps
|
## 部署步驟
|
||||||
|
|
||||||
1. Upload project code to server
|
1. 上傳專案程式碼到伺服器
|
||||||
2. Install dependencies:
|
2. 安裝依賴:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd /opt/ace/project/myapp
|
cd /opt/ace/project/myapp
|
||||||
npm24 install
|
npm24 install
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Create project:
|
3. 建立專案:
|
||||||
- **Project Name**: `myapp`
|
- **專案名**:`myapp`
|
||||||
- **Project Directory**: `/opt/ace/project/myapp`
|
- **專案目錄**:`/opt/ace/project/myapp`
|
||||||
- **Start Command**: `node24 app.js`
|
- **啟動命令**:`node24 app.js`
|
||||||
4. Enable **Reverse Proxy**
|
4. 開啟 **反向代理**
|
||||||
|
|
||||||
## Start Command Examples
|
## 啟動命令範例
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Run directly
|
# 直接執行
|
||||||
node24 app.js
|
node24 app.js
|
||||||
|
|
||||||
# Use npm scripts
|
# 使用 npm scripts
|
||||||
npm24 start
|
npm24 start
|
||||||
|
|
||||||
# Use npm run
|
# 使用 npm run
|
||||||
npm24 run start:prod
|
npm24 run start:prod
|
||||||
|
|
||||||
# Set environment variables
|
# 設定環境變數
|
||||||
NODE_ENV=production node24 app.js
|
NODE_ENV=production node24 app.js
|
||||||
|
|
||||||
# Specify port
|
# 指定連接埠
|
||||||
PORT=3000 node24 app.js
|
PORT=3000 node24 app.js
|
||||||
```
|
```
|
||||||
|
|
||||||
## Common Frameworks
|
## 常用框架
|
||||||
|
|
||||||
### Express
|
### Express
|
||||||
|
|
||||||
@@ -57,46 +57,46 @@ app.get('/', (req, res) => {
|
|||||||
app.listen(3000);
|
app.listen(3000);
|
||||||
```
|
```
|
||||||
|
|
||||||
Start command: `node24 app.js`
|
啟動命令:`node24 app.js`
|
||||||
|
|
||||||
### NestJS
|
### NestJS
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Build
|
# 建置
|
||||||
npm24 run build
|
npm24 run build
|
||||||
```
|
```
|
||||||
|
|
||||||
Start command: `node24 dist/main.js`
|
啟動命令:`node24 dist/main.js`
|
||||||
|
|
||||||
### Next.js
|
### Next.js
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Build
|
# 建置
|
||||||
npm24 run build
|
npm24 run build
|
||||||
```
|
```
|
||||||
|
|
||||||
Start command: `npm24 start`
|
啟動命令:`npm24 start`
|
||||||
|
|
||||||
### Nuxt.js
|
### Nuxt.js
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Build
|
# 建置
|
||||||
npm24 run build
|
npm24 run build
|
||||||
```
|
```
|
||||||
|
|
||||||
Start command: `node24 .output/server/index.mjs`
|
啟動命令:`node24 .output/server/index.mjs`
|
||||||
|
|
||||||
## Process Management
|
## 進程管理
|
||||||
|
|
||||||
AcePanel uses systemd to manage Node.js processes, automatically handling:
|
AcePanel 使用 systemd 管理 Node.js 進程,自動處理:
|
||||||
|
|
||||||
- Automatic restart on process crash
|
- 進程崩潰自動重啟
|
||||||
- Automatic startup on boot
|
- 開機自動啟動
|
||||||
- Log recording
|
- 日誌記錄
|
||||||
|
|
||||||
## Environment Variables
|
## 環境變數
|
||||||
|
|
||||||
It is recommended to use `.env` files to manage environment variables:
|
推薦使用 `.env` 檔案管理環境變數:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# .env
|
# .env
|
||||||
@@ -105,31 +105,31 @@ PORT=3000
|
|||||||
DATABASE_URL=mysql://localhost:3306/mydb
|
DATABASE_URL=mysql://localhost:3306/mydb
|
||||||
```
|
```
|
||||||
|
|
||||||
Load using the `dotenv` package:
|
使用 `dotenv` 套件載入:
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
require('dotenv').config();
|
require('dotenv').config();
|
||||||
```
|
```
|
||||||
|
|
||||||
## FAQ
|
## 常見問題
|
||||||
|
|
||||||
### Dependency Installation Failed
|
### 依賴安裝失敗
|
||||||
|
|
||||||
Try clearing cache and reinstalling:
|
嘗試清除快取重新安裝:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
rm -rf node_modules package-lock.json
|
rm -rf node_modules package-lock.json
|
||||||
npm24 install
|
npm24 install
|
||||||
```
|
```
|
||||||
|
|
||||||
### Out of Memory
|
### 記憶體不足
|
||||||
|
|
||||||
Increase Node.js memory limit:
|
增加 Node.js 記憶體限制:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
NODE_OPTIONS="--max-old-space-size=4096" node24 app.js
|
NODE_OPTIONS="--max-old-space-size=4096" node24 app.js
|
||||||
```
|
```
|
||||||
|
|
||||||
### Port Already in Use
|
### 連接埠被佔用
|
||||||
|
|
||||||
Modify the port the application listens on, or check if another process is using it.
|
修改應用程式監聽的連接埠,或檢查是否有其他進程佔用。
|
||||||
|
|||||||
@@ -1,35 +1,35 @@
|
|||||||
# PHP Project
|
# PHP 網站
|
||||||
|
|
||||||
PHP projects are used to deploy PHP applications that require long-running processes, such as Laravel Octane, Swoole, Workerman, etc.
|
PHP 網站用於運行 PHP 程式,如 WordPress、Laravel、ThinkPHP 等。
|
||||||
|
|
||||||
:::tip Tip
|
:::tip 警告
|
||||||
Traditional PHP-FPM applications (such as WordPress, Laravel) should be deployed using [PHP Website](../website/php), not as projects.
|
傳統的 PHP-FPM 應用(如 WordPress、Laravel)應使用 [PHP 網站](../website/php) 方式部署,而非項目。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Use Cases
|
## 適用場景
|
||||||
|
|
||||||
- Laravel Octane (Swoole/RoadRunner)
|
- Laravel Octane(Swoole/RoadRunner)
|
||||||
- Swoole applications
|
- Swoole 應用
|
||||||
- Workerman applications
|
- Workerman 應用
|
||||||
- ReactPHP applications
|
- ReactPHP 應用
|
||||||
- Other PHP applications requiring long-running processes
|
- 其他需要常駐進程的 PHP 應用
|
||||||
|
|
||||||
## Prerequisites
|
## 前置要求
|
||||||
|
|
||||||
1. Install PHP runtime: **Apps** > **Runtimes** > **PHP**
|
1. **PHP 運行環境**:在 **應用** > **運行環境** 中安裝所需的 PHP 版本
|
||||||
2. Install Swoole or other modules as needed
|
2. 根據需要安裝 Swoole 等模組
|
||||||
|
|
||||||
## Deploying Laravel Octane
|
## 部署 Laravel Octane
|
||||||
|
|
||||||
### Creating a Project
|
### 建立項目
|
||||||
|
|
||||||
1. Create project:
|
1. 建立項目:
|
||||||
- **Project Name**: `myapp`
|
- **項目名**:`myapp`
|
||||||
- **Project Directory**: `/opt/ace/project/myapp`
|
- **項目目錄**:`/opt/ace/project/myapp`
|
||||||
- **Startup Command**: `php84 artisan octane:start --host=0.0.0.0 --port=8000`
|
- **啟動命令**:`php84 artisan octane:start --host=0.0.0.0 --port=8000`
|
||||||
2. Enable **Reverse Proxy**
|
2. 開啟 **反向代理**
|
||||||
|
|
||||||
## Startup Command Examples
|
## 啟動命令示例
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Laravel Octane (Swoole)
|
# Laravel Octane (Swoole)
|
||||||
@@ -48,7 +48,7 @@ php84 start.php start
|
|||||||
php84 artisan queue:work --daemon
|
php84 artisan queue:work --daemon
|
||||||
```
|
```
|
||||||
|
|
||||||
## Swoole Application Example
|
## Swoole 應用示例
|
||||||
|
|
||||||
```php
|
```php
|
||||||
<?php
|
<?php
|
||||||
@@ -62,9 +62,9 @@ $server->on("request", function ($request, $response) {
|
|||||||
$server->start();
|
$server->start();
|
||||||
```
|
```
|
||||||
|
|
||||||
Startup command: `php84 server.php`
|
啟動命令:`php84 server.php`
|
||||||
|
|
||||||
## Workerman Application Example
|
## Workerman 應用示例
|
||||||
|
|
||||||
```php
|
```php
|
||||||
<?php
|
<?php
|
||||||
@@ -80,18 +80,18 @@ $worker->onMessage = function($connection, $request) {
|
|||||||
Worker::runAll();
|
Worker::runAll();
|
||||||
```
|
```
|
||||||
|
|
||||||
Startup command: `php84 start.php start`
|
啟動命令:`php84 start.php start`
|
||||||
|
|
||||||
## Queue Processing
|
## 佇列處理
|
||||||
|
|
||||||
Laravel Queue Worker can also run as a project:
|
Laravel 佇列 Worker 也可以作為項目運行:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
php84 artisan queue:work --daemon --tries=3
|
php84 artisan queue:work --daemon --tries=3
|
||||||
```
|
```
|
||||||
|
|
||||||
## Notes
|
## 注意
|
||||||
|
|
||||||
1. Long-running PHP applications need to be aware of memory leak issues
|
1. 常駐進程的 PHP 應用需要注意記憶體洩漏問題
|
||||||
2. Code updates require restarting the project to take effect
|
2. 程式碼更新後需要重啟項目才能生效
|
||||||
3. It is recommended to configure process monitoring for automatic restart on exceptions
|
3. 建議配置進程監控,異常時自動重啟
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
# Python Project
|
# Python 專案
|
||||||
|
|
||||||
Python projects are used to deploy Django, Flask, FastAPI, and other Python web applications.
|
Python 專案用於部署 Django、Flask、FastAPI 等 Python Web 應用。
|
||||||
|
|
||||||
## Prerequisites
|
## 前置要求
|
||||||
|
|
||||||
1. Install Python runtime: **Apps** > **Runtimes** > **Python**
|
1. 安裝 Python 執行環境:**應用** > **執行環境** > **Python**
|
||||||
2. Project source code
|
2. 專案原始碼
|
||||||
|
|
||||||
## Deployment Steps
|
## 部署步驟
|
||||||
|
|
||||||
1. Upload project code to the server
|
1. 上傳專案程式碼到伺服器
|
||||||
2. Create virtual environment and install dependencies:
|
2. 建立虛擬環境並安裝依賴:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd /opt/ace/project/myapp
|
cd /opt/ace/project/myapp
|
||||||
@@ -19,50 +19,50 @@ source venv/bin/activate
|
|||||||
pip install -r requirements.txt
|
pip install -r requirements.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Create project:
|
3. 建立專案:
|
||||||
- **Project Name**: `myapp`
|
- **專案名**:`myapp`
|
||||||
- **Project Directory**: `/opt/ace/project/myapp`
|
- **專案目錄**:`/opt/ace/project/myapp`
|
||||||
- **Startup Command**: See examples below
|
- **啟動命令**:見下方範例
|
||||||
4. Enable **Reverse Proxy**
|
4. 開啟 **反向代理**
|
||||||
|
|
||||||
## Startup Command Examples
|
## 啟動命令範例
|
||||||
|
|
||||||
### Django
|
### Django
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Development server (not recommended for production)
|
# 開發伺服器(不推薦生產使用)
|
||||||
/opt/ace/project/myapp/venv/bin/python manage.py runserver 0.0.0.0:8000
|
/opt/ace/project/myapp/venv/bin/python manage.py runserver 0.0.0.0:8000
|
||||||
|
|
||||||
# Using Gunicorn (recommended)
|
# 使用 Gunicorn(推薦)
|
||||||
/opt/ace/project/myapp/venv/bin/gunicorn myproject.wsgi:application -b 0.0.0.0:8000 -w 4
|
/opt/ace/project/myapp/venv/bin/gunicorn myproject.wsgi:application -b 0.0.0.0:8000 -w 4
|
||||||
|
|
||||||
# Using uWSGI
|
# 使用 uWSGI
|
||||||
/opt/ace/project/myapp/venv/bin/uwsgi --http 0.0.0.0:8000 --module myproject.wsgi
|
/opt/ace/project/myapp/venv/bin/uwsgi --http 0.0.0.0:8000 --module myproject.wsgi
|
||||||
```
|
```
|
||||||
|
|
||||||
### Flask
|
### Flask
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Development server (not recommended for production)
|
# 開發伺服器(不推薦生產使用)
|
||||||
/opt/ace/project/myapp/venv/bin/python app.py
|
/opt/ace/project/myapp/venv/bin/python app.py
|
||||||
|
|
||||||
# Using Gunicorn (recommended)
|
# 使用 Gunicorn(推薦)
|
||||||
/opt/ace/project/myapp/venv/bin/gunicorn app:app -b 0.0.0.0:8000 -w 4
|
/opt/ace/project/myapp/venv/bin/gunicorn app:app -b 0.0.0.0:8000 -w 4
|
||||||
```
|
```
|
||||||
|
|
||||||
### FastAPI
|
### FastAPI
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Using Uvicorn
|
# 使用 Uvicorn
|
||||||
/opt/ace/project/myapp/venv/bin/uvicorn main:app --host 0.0.0.0 --port 8000
|
/opt/ace/project/myapp/venv/bin/uvicorn main:app --host 0.0.0.0 --port 8000
|
||||||
|
|
||||||
# Using Gunicorn + Uvicorn Workers (recommended)
|
# 使用 Gunicorn + Uvicorn Workers(推薦)
|
||||||
/opt/ace/project/myapp/venv/bin/gunicorn main:app -b 0.0.0.0:8000 -w 4 -k uvicorn.workers.UvicornWorker
|
/opt/ace/project/myapp/venv/bin/gunicorn main:app -b 0.0.0.0:8000 -w 4 -k uvicorn.workers.UvicornWorker
|
||||||
```
|
```
|
||||||
|
|
||||||
## Common Framework Configurations
|
## 常用框架配置
|
||||||
|
|
||||||
### Django Production Configuration
|
### Django 生產配置
|
||||||
|
|
||||||
`settings.py`:
|
`settings.py`:
|
||||||
|
|
||||||
@@ -72,13 +72,13 @@ ALLOWED_HOSTS = ['your-domain.com']
|
|||||||
STATIC_ROOT = '/opt/ace/project/myapp/static/'
|
STATIC_ROOT = '/opt/ace/project/myapp/static/'
|
||||||
```
|
```
|
||||||
|
|
||||||
Collect static files:
|
收集靜態檔案:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
/opt/ace/project/myapp/venv/bin/python manage.py collectstatic
|
/opt/ace/project/myapp/venv/bin/python manage.py collectstatic
|
||||||
```
|
```
|
||||||
|
|
||||||
### FastAPI Example
|
### FastAPI 範例
|
||||||
|
|
||||||
```python
|
```python
|
||||||
from fastapi import FastAPI
|
from fastapi import FastAPI
|
||||||
@@ -90,47 +90,47 @@ def read_root():
|
|||||||
return {"Hello": "World"}
|
return {"Hello": "World"}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Gunicorn Configuration
|
## Gunicorn 配置
|
||||||
|
|
||||||
Create `gunicorn.conf.py`:
|
建立 `gunicorn.conf.py`:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
bind = "0.0.0.0:8000"
|
bind = "0.0.0.0:8000"
|
||||||
workers = 4
|
workers = 4
|
||||||
worker_class = "sync" # Or "uvicorn.workers.UvicornWorker" for FastAPI
|
worker_class = "sync" # 或 "uvicorn.workers.UvicornWorker" for FastAPI
|
||||||
timeout = 30
|
timeout = 30
|
||||||
keepalive = 2
|
keepalive = 2
|
||||||
```
|
```
|
||||||
|
|
||||||
Startup command:
|
啟動命令:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
/opt/ace/project/myapp/venv/bin/gunicorn -c gunicorn.conf.py myproject.wsgi:application
|
/opt/ace/project/myapp/venv/bin/gunicorn -c gunicorn.conf.py myproject.wsgi:application
|
||||||
```
|
```
|
||||||
|
|
||||||
## Virtual Environment
|
## 虛擬環境
|
||||||
|
|
||||||
It is strongly recommended to use virtual environments to isolate project dependencies:
|
強烈建議使用虛擬環境隔離專案依賴:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Create virtual environment
|
# 建立虛擬環境
|
||||||
python3.13 -m venv venv
|
python3.13 -m venv venv
|
||||||
|
|
||||||
# Activate virtual environment
|
# 啟用虛擬環境
|
||||||
source venv/bin/activate
|
source venv/bin/activate
|
||||||
|
|
||||||
# Install dependencies
|
# 安裝依賴
|
||||||
pip install -r requirements.txt
|
pip install -r requirements.txt
|
||||||
|
|
||||||
# Deactivate virtual environment
|
# 退出虛擬環境
|
||||||
deactivate
|
deactivate
|
||||||
```
|
```
|
||||||
|
|
||||||
## Common Issues
|
## 常見問題
|
||||||
|
|
||||||
### Dependency Installation Failed
|
### 依賴安裝失敗
|
||||||
|
|
||||||
Some packages require compilation, ensure necessary system dependencies are installed:
|
某些套件需要編譯,確保安裝了必要的系統依賴:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# AlmaLinux/Rocky Linux
|
# AlmaLinux/Rocky Linux
|
||||||
@@ -140,10 +140,10 @@ yum install gcc python3-devel
|
|||||||
apt install gcc python3-dev
|
apt install gcc python3-dev
|
||||||
```
|
```
|
||||||
|
|
||||||
### Static Files 404
|
### 靜態檔案 404
|
||||||
|
|
||||||
Django production environment needs to configure Nginx to serve static files directly, or use WhiteNoise.
|
Django 生產環境需要配置 Nginx 直接提供靜態檔案,或使用 WhiteNoise。
|
||||||
|
|
||||||
### Database Connection Issues
|
### 資料庫連線問題
|
||||||
|
|
||||||
Check database configuration and network connection, ensure the database service is running properly.
|
檢查資料庫配置和網路連線,確保資料庫服務正常執行。
|
||||||
|
|||||||
@@ -1,29 +1,29 @@
|
|||||||
# Security Recommendations
|
# 安全建議
|
||||||
|
|
||||||
## Website Security
|
## 網站安全
|
||||||
|
|
||||||
Most intrusion and malware incidents originate from program vulnerabilities, unrelated to the panel or environment.
|
大多數入侵和掛馬事件源於程式漏洞,與面板或環境無關。
|
||||||
|
|
||||||
- Do not use pirated programs, as you cannot confirm whether they have been tampered with
|
- 不使用盜版程式,因為無法確認是否被篡改
|
||||||
- Update website programs and runtime environments promptly
|
- 及時更新網站程式和運行環境
|
||||||
- Use randomly generated passwords of 20+ mixed characters for admin panels, enable two-factor authentication
|
- 後台密碼使用隨機生成的 20 位以上混合字元,啟用兩步驗證
|
||||||
- Configure scheduled backups
|
- 配置定時備份
|
||||||
- Keep PHP's default disabled high-risk functions (`disable_functions`)
|
- 保留 PHP 預設禁用的高危函數(`disable_functions`)
|
||||||
|
|
||||||
## System Security
|
## 系統安全
|
||||||
|
|
||||||
- Update the system regularly: `dnf update` or `apt upgrade`
|
- 定期更新系統:`dnf update` 或 `apt upgrade`
|
||||||
- Disable the default SSH port 22, use strong passwords or key authentication
|
- SSH 禁用預設 22 連接埠,使用強密碼或金鑰認證
|
||||||
- Install Fail2ban to prevent brute force attacks
|
- 安裝 Fail2ban 防止暴力破解
|
||||||
- Do not arbitrarily set 777 permissions or give the www user execute permissions
|
- 不隨意設置 777 權限或給 www 使用者執行權限
|
||||||
- Consider disabling SSH if VNC is available
|
- 有 VNC 的情況下可考慮關閉 SSH
|
||||||
|
|
||||||
## Panel Security
|
## 面板安全
|
||||||
|
|
||||||
AcePanel has root privileges and needs to be protected carefully.
|
AcePanel 擁有 root 權限,需重點保護。
|
||||||
|
|
||||||
- Keep the panel and applications updated
|
- 保持面板和應用更新
|
||||||
- Change the default port, use strong passwords
|
- 修改預設連接埠,使用強密碼
|
||||||
- Enable security entrance, enable HTTPS
|
- 啟用安全入口,開啟 HTTPS
|
||||||
- Do not expose internal service ports (Redis 6379, MySQL 3306, PostgreSQL 5432, etc.) to the public
|
- 內部服務連接埠(Redis 6379、MySQL 3306、PostgreSQL 5432 等) 不要對外開放
|
||||||
- For high security requirements, you can stop the panel process when not in use without affecting deployed services
|
- 高安全要求場景可在不使用時停止面板進程,不影響已部署的服務
|
||||||
|
|||||||
@@ -1,58 +1,58 @@
|
|||||||
# Basic Settings
|
# 基本設置
|
||||||
|
|
||||||
The basic settings page is used to configure the panel's basic parameters.
|
基本設置頁面用於配置面板的基礎參數。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Panel Name
|
## 面板名稱
|
||||||
|
|
||||||
Customize the name displayed by the panel, default is "AcePanel". After modification, refresh the page to see it displayed in the browser title and the top left corner of the panel.
|
自定義面板顯示的名稱,默認為「AcePanel」。 修改後刷新頁面會顯示在瀏覽器標題和面板左上角。
|
||||||
|
|
||||||
## Language
|
## 語言
|
||||||
|
|
||||||
Select the panel interface language:
|
選擇面板界面語言:
|
||||||
|
|
||||||
- Simplified Chinese
|
- 簡體中文
|
||||||
- Traditional Chinese
|
- 繁體中文
|
||||||
- English
|
- English
|
||||||
|
|
||||||
## Update Channel
|
## 更新渠道
|
||||||
|
|
||||||
Select the version channel for panel updates:
|
選擇面板更新的版本渠道:
|
||||||
|
|
||||||
- **Stable**: Fully tested official versions, recommended for production environments
|
- **穩定版**:經過充分測試的正式版本,推薦生產環境使用
|
||||||
- **Beta**: Contains the latest features but may have issues, suitable for early adopters
|
- **測試版**:包含最新功能但可能存在問題,適合嘗鮮用戶
|
||||||
|
|
||||||
## Port
|
## 端口
|
||||||
|
|
||||||
The access port for the panel, default is 8888. After changing the port:
|
面板的訪問端口,默認為 8888。 修改端口後需要:
|
||||||
|
|
||||||
1. Ensure the new port is not occupied
|
1. 確保新端口未被佔用
|
||||||
2. Open the new port in the server security group
|
2. 在服務器安全組中開放新端口
|
||||||
3. The panel will automatically restart after saving
|
3. 保存後面板會自動重啟
|
||||||
|
|
||||||
:::warning Note
|
:::warning 注意
|
||||||
Before changing the port, please ensure the new port is open in the server security group, otherwise you may be unable to access the panel.
|
修改端口前請確保服務器安全組已開放新端口,否則可能無法訪問面板。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Default Directories
|
## 默認目錄
|
||||||
|
|
||||||
Configure the default storage paths for various resources:
|
配置各類資源的默認存儲路徑:
|
||||||
|
|
||||||
| Setting | Default Value | Description |
|
| 設置項 | 預設值 | 說明 |
|
||||||
| ------------------------- | ----------------- | ----------------------------------- |
|
| ------ | ----------------- | -------- |
|
||||||
| Default Website Directory | /opt/ace/sites | Directory for storing website files |
|
| 預設網站目錄 | /opt/ace/sites | 網站文件存放目錄 |
|
||||||
| Default Backup Directory | /opt/ace/backup | Directory for storing backup files |
|
| 預設備份目錄 | /opt/ace/backup | 備份文件存放目錄 |
|
||||||
| Default Project Directory | /opt/ace/projects | Directory for storing project files |
|
| 默認項目目錄 | /opt/ace/projects | 項目文件存放目錄 |
|
||||||
|
|
||||||
After changing directories, newly created websites/backups/projects will use the new directory, existing ones are not affected.
|
修改目錄後,新創建的網站/備份/項目會使用新目錄,已有的不受影響。
|
||||||
|
|
||||||
## Custom Logo
|
## 自定義 Logo
|
||||||
|
|
||||||
Enter the full URL of an image to replace the logo in the top left corner of the panel. Supports PNG, JPG, SVG, and other formats.
|
輸入圖片的完整 URL 地址,可以替換面板左上角的 Logo。 支持 PNG、JPG、SVG 等格式。
|
||||||
|
|
||||||
## Hide Menu
|
## 隱藏菜單
|
||||||
|
|
||||||
Select menu items to hide. Hidden menus will not be displayed in the left navigation bar, but the features are still available (by directly accessing the URL).
|
選擇要隱藏的菜單項。 隱藏後的菜單不會顯示在左側導航欄中,但功能仍然可用(通過直接訪問 URL)。
|
||||||
|
|
||||||
Suitable for simplifying the interface or limiting the range of features visible to regular users.
|
適用於簡化界面或限制普通用戶可見的功能範圍。
|
||||||
|
|||||||
@@ -1,101 +1,101 @@
|
|||||||
# Security Settings
|
# 安全設置
|
||||||
|
|
||||||
The security settings page is used to configure panel security-related options to protect the panel from unauthorized access.
|
安全設置頁面用於配置面板的安全相關選項,保護面板免受未授權訪問。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Login Timeout
|
## 登錄超時
|
||||||
|
|
||||||
Set the validity period of login sessions in minutes. If there is no activity beyond this time, you will be automatically logged out and need to re-authenticate.
|
設置登錄會話的有效時間,單位為分鐘。 超過該時間未操作將自動退出登錄,需要重新認證。
|
||||||
|
|
||||||
The default value is 120 minutes.
|
默認值為 120 分鐘。
|
||||||
|
|
||||||
## Access Entry
|
## 訪問入口
|
||||||
|
|
||||||
Set the access path for the panel. After setting the access entry, you need to access via `https://IP:port/entry-path`.
|
設置面板的訪問路徑, 設置訪問入口後需要通過 `https://IP:端口/入口路徑` 才能訪問。
|
||||||
|
|
||||||
For example, if set to `/admin`, the access address becomes `https://IP:port/admin`.
|
例如設置為 `/admin`,則訪問地址變為 `https://IP:端口/admin`。
|
||||||
|
|
||||||
This is a simple but effective security measure that can prevent the panel from being discovered by scanners.
|
這是一個簡單但有效的安全措施,可以防止面板被掃描器發現。
|
||||||
|
|
||||||
## Entry Error Page
|
## 入口錯誤頁
|
||||||
|
|
||||||
The HTTP status code returned when accessing an incorrect entry path:
|
當訪問錯誤的入口路徑時返回的 HTTP 狀態碼:
|
||||||
|
|
||||||
- **418 I'm a teapot**: Returns an interesting error code and error page
|
- **418 I'm a teapot**:返回一個有趣的錯誤碼與錯誤頁
|
||||||
- **Nginx 404**: Returns the same 404 page as Nginx
|
- **Nginx 404**:返回 Nginx 同款 404 頁面
|
||||||
- **Close Connection**: Closes the connection directly without returning any content
|
- **關閉連接**:直接關閉連接不返回任何內容
|
||||||
|
|
||||||
## Login Captcha
|
## 登錄驗證碼
|
||||||
|
|
||||||
When enabled, entering the wrong password multiple times during login will trigger a captcha to prevent brute force attacks.
|
開啟後登錄時多次輸入錯誤密碼會觸發驗證碼,防止暴力破解。
|
||||||
|
|
||||||
## Request IP Header
|
## 請求 IP 頭
|
||||||
|
|
||||||
When the panel is deployed behind a reverse proxy (such as Nginx, CDN), you need to set the correct IP header to obtain the real client IP.
|
當面板部署在反向代理(如 Nginx、CDN)後面時,需要設置正確的 IP 頭才能獲取真實的客戶端 IP。
|
||||||
|
|
||||||
Common values:
|
常用值:
|
||||||
|
|
||||||
- `X-Real-IP`: Default used by Nginx
|
- `X-Real-IP`:Nginx 默認使用
|
||||||
- `X-Forwarded-For`: Standard proxy header
|
- `X-Forwarded-For`:標準代理頭
|
||||||
- `CF-Connecting-IP`: Used by Cloudflare
|
- `CF-Connecting-IP`:Cloudflare 使用
|
||||||
|
|
||||||
## Bind Domain
|
## 綁定域名
|
||||||
|
|
||||||
Restrict panel access to specified domains only. After adding a domain, access via IP or other domains will be blocked.
|
限制只能通過指定域名訪問面板。 添加域名後,通過 IP 或其他域名將無法訪問。
|
||||||
|
|
||||||
Suitable for:
|
適用於:
|
||||||
|
|
||||||
- Improving security
|
- 提高安全性
|
||||||
- Using with SSL certificates
|
- 配合 SSL 證書使用
|
||||||
|
|
||||||
## Bind IP
|
## 綁定 IP
|
||||||
|
|
||||||
Restrict panel access to specified IP addresses only. Multiple IP addresses can be added.
|
限制只能從指定 IP 地址訪問面板。 可以添加多個 IP 地址。
|
||||||
|
|
||||||
Suitable for:
|
適用於:
|
||||||
|
|
||||||
- Fixed office networks
|
- 固定辦公網絡
|
||||||
- Jump server access
|
- 跳板機訪問
|
||||||
|
|
||||||
:::warning Note
|
:::warning 注意
|
||||||
Before binding IP, please ensure your IP address is static, otherwise you may be unable to access the panel.
|
綁定 IP 前請確保你的 IP 地址是固定的,否則可能導致無法訪問面板。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Bind UA
|
## 綁定 UA
|
||||||
|
|
||||||
Restrict panel access to browsers with specified User-Agent only.
|
限制只能使用指定 User-Agent 的瀏覽器訪問面板。
|
||||||
|
|
||||||
This is an advanced security option that can be used with custom browser plugins.
|
這是一個高級安全選項,可以配合自定義瀏覽器插件使用。
|
||||||
|
|
||||||
## Offline Mode
|
## 離線模式
|
||||||
|
|
||||||
When enabled, the panel will not connect to external networks, including:
|
開啟後面板將不會連接外部網絡,包括:
|
||||||
|
|
||||||
- Checking for updates
|
- 檢查更新
|
||||||
- Downloading applications
|
- 下載應用
|
||||||
- Syncing cache data
|
- 同步緩存數據
|
||||||
|
|
||||||
Suitable for intranet environments or scenarios with strict network restrictions.
|
適用於內網環境或有嚴格網絡限制的場景。
|
||||||
|
|
||||||
## Auto Update
|
## 自動更新
|
||||||
|
|
||||||
When enabled, the panel will automatically check and install updates daily. It is recommended to keep this enabled to receive the latest security fixes.
|
開啟後面板會每日自動檢查並安裝更新。 建議保持開啟以獲取最新的安全修復。
|
||||||
|
|
||||||
## Panel HTTPS
|
## 面板 HTTPS
|
||||||
|
|
||||||
Enable HTTPS encrypted access for the panel:
|
為面板啟用 HTTPS 加密訪問:
|
||||||
|
|
||||||
- **Disabled**: Access via HTTP
|
- **禁用**:使用 HTTP 訪問
|
||||||
- **ACME (Auto)**: Automatically apply for and renew Let's Encrypt certificates, requires IP to support port 80 access
|
- **ACME(自動)**:自動申請和續簽 Let's Encrypt 證書,需要 IP 支持 80 端口訪問
|
||||||
- **Custom Certificate**: Use your own SSL certificate
|
- **自定義證書**:使用自己的 SSL 證書
|
||||||
|
|
||||||
:::tip Recommended
|
:::tip 推薦
|
||||||
It is recommended to enable HTTPS in production environments to protect the transmission security of login credentials and sensitive data.
|
生產環境建議啟用 HTTPS,保護登錄憑據和敏感數據的傳輸安全。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Panel Public IP
|
## 面板公網 IP
|
||||||
|
|
||||||
Configure the public IP address of the panel, currently mainly used for applying IP certificates from Let's Encrypt.
|
配置面板的公網 IP 地址,目前主要用於向 Let's Encrypt 申請 IP 證書。
|
||||||
|
|
||||||
Supports both IPv4 and IPv6 addresses.
|
支持 IPv4 和 IPv6 地址。
|
||||||
|
|||||||
@@ -1,74 +1,74 @@
|
|||||||
# User Management
|
# 用戶管理
|
||||||
|
|
||||||
The user management page is used to manage panel login users.
|
用戶管理頁面用於管理面板的登錄用戶。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## User List
|
## 用戶列表
|
||||||
|
|
||||||
The list displays information for all panel users:
|
列表顯示所有面板用戶的信息:
|
||||||
|
|
||||||
| Field | Description |
|
| 字段 | 說明 |
|
||||||
| --------------- | --------------------------------------------------------- |
|
| ---- | --------------- |
|
||||||
| Username | Login username, can be modified directly in the table |
|
| 用戶名 | 登錄用戶名,可直接在表格中修改 |
|
||||||
| Email | User email, used for password recovery and other features |
|
| 郵箱 | 用戶郵箱,用於找回密碼等功能 |
|
||||||
| Two-Factor Auth | Whether TOTP two-factor authentication is enabled |
|
| 兩步驗證 | 是否啟用 TOTP 兩步驗證 |
|
||||||
| Created At | User creation time |
|
| 創建時間 | 用戶創建時間 |
|
||||||
|
|
||||||
## Create User
|
## 創建用戶
|
||||||
|
|
||||||
Click the **Create User** button to add a new user:
|
點擊 **創建用戶** 按鈕添加新用戶:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Fill in the following information:
|
填寫以下信息:
|
||||||
|
|
||||||
- **Username**: Login username
|
- **用戶名**:登錄用戶名
|
||||||
- **Password**: Login password
|
- **密碼**:登錄密碼
|
||||||
- **Email**: User email address
|
- **郵箱**:用戶郵箱地址
|
||||||
|
|
||||||
## User Operations
|
## 用戶操作
|
||||||
|
|
||||||
### Access Token
|
### 訪問令牌
|
||||||
|
|
||||||
Generate an API access token for accessing panel features through the API interface.
|
生成 API 訪問令牌,用於通過 API 接口訪問面板功能。
|
||||||
|
|
||||||
The token has the same permissions as the user, please keep it safe.
|
令牌具有與用戶相同的權限,請妥善保管。
|
||||||
|
|
||||||
### Change Password
|
### 更改密碼
|
||||||
|
|
||||||
Change the user's login password. It is recommended to change passwords regularly.
|
修改用戶的登錄密碼。 建議定期更換密碼。
|
||||||
|
|
||||||
### Delete User
|
### 刪除用戶
|
||||||
|
|
||||||
Delete the user account. After deletion, the user will no longer be able to log in to the panel.
|
刪除用戶賬號。 刪除後該用戶將無法登錄面板。
|
||||||
|
|
||||||
:::warning Note
|
:::warning 注意
|
||||||
At least one user must be retained, the last user cannot be deleted.
|
至少需要保留一個用戶,無法刪除最後一個用戶。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Two-Factor Authentication
|
## 兩步驗證
|
||||||
|
|
||||||
Two-factor authentication (2FA) provides additional security protection for accounts. When enabled, a dynamic verification code is required in addition to the password during login.
|
兩步驗證(2FA)為賬號提供額外的安全保護。 啟用後登錄時除了密碼還需要輸入動態驗證碼。
|
||||||
|
|
||||||
### Enable Two-Factor Authentication
|
### 啟用兩步驗證
|
||||||
|
|
||||||
1. Click the two-factor authentication switch
|
1. 點擊兩步驗證開關
|
||||||
2. Use Google Authenticator, Microsoft Authenticator, or other apps to scan the QR code
|
2. 使用 Google Authenticator、Microsoft Authenticator 等應用掃描二維碼
|
||||||
3. Enter the 6-digit verification code displayed in the app to confirm
|
3. 輸入應用顯示的 6 位驗證碼確認
|
||||||
|
|
||||||
### Supported Authenticator Apps
|
### 支持的驗證器應用
|
||||||
|
|
||||||
- Google Authenticator
|
- Google Authenticator
|
||||||
- Microsoft Authenticator
|
- Microsoft Authenticator
|
||||||
- Authy
|
- Authy
|
||||||
- 1Password
|
- 1Password
|
||||||
- Other apps supporting TOTP
|
- 其他支持 TOTP 的應用
|
||||||
|
|
||||||
## Security Recommendations
|
## 安全建議
|
||||||
|
|
||||||
1. Use strong passwords containing uppercase and lowercase letters, numbers, and special characters
|
1. 使用強密碼,包含大小寫字母、數字和特殊字符
|
||||||
2. Enable two-factor authentication
|
2. 啟用兩步驗證
|
||||||
3. Change passwords regularly
|
3. 定期更換密碼
|
||||||
4. Do not share accounts
|
4. 不要共享賬號
|
||||||
5. Promptly delete accounts that are no longer in use
|
5. 及時刪除不再使用的賬號
|
||||||
|
|||||||
@@ -1,96 +1,96 @@
|
|||||||
# Terminal
|
# 終端機
|
||||||
|
|
||||||
The terminal module provides a Web-based SSH terminal, allowing you to connect to servers and execute commands directly in the browser.
|
終端機模組提供了基於 Web 的 SSH 終端機,可以直接在瀏覽器中連接伺服器執行命令。
|
||||||
|
|
||||||
## Terminal Page
|
## 終端機頁面
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Create Host
|
## 創建主機
|
||||||
|
|
||||||
Click the **Create Host** button to add an SSH connection:
|
點擊 **創建主機** 按鈕添加 SSH 連接:
|
||||||
|
|
||||||
### Configuration Items
|
### 配置項
|
||||||
|
|
||||||
- **Name**: Connection name for identification
|
- **名稱**:連接名稱,用於標識
|
||||||
- **Host**: Server IP address or domain name
|
- **主機**:伺服器 IP 地址或域名
|
||||||
- **Port**: SSH port, default 22
|
- **端口**:SSH 端口,默認 22
|
||||||
- **Authentication Method**: Password or key
|
- **認證方式**:密碼或密鑰
|
||||||
- **Username**: SSH username
|
- **用戶名**:SSH 用戶名
|
||||||
- **Password/Key**: Authentication credentials
|
- **密碼/密鑰**:認證憑證
|
||||||
- **Remarks**: Optional remarks
|
- **備註**:可選備註
|
||||||
|
|
||||||
### Authentication Methods
|
### 驗證方式
|
||||||
|
|
||||||
| Method | Description |
|
| 方式 | 說明 |
|
||||||
| -------- | ---------------------------------------- |
|
| -- | ----------- |
|
||||||
| Password | Authenticate using username and password |
|
| 密碼 | 使用用戶名和密碼認證 |
|
||||||
| Key | Authenticate using SSH private key |
|
| 密鑰 | 使用 SSH 私鑰認證 |
|
||||||
|
|
||||||
:::tip Recommendation
|
:::tip 推薦
|
||||||
Production environments are recommended to use key authentication for better security.
|
生產環境建議使用密鑰認證,更加安全。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Connect to Server
|
## 連接伺服器
|
||||||
|
|
||||||
1. Select the host to connect to in the left host list
|
1. 在左側主機列表中選擇要連接的主機
|
||||||
2. Click the host name to open the terminal
|
2. 點擊主機名稱打開終端機
|
||||||
3. Start executing commands
|
3. 開始執行命令
|
||||||
|
|
||||||
## Terminal Features
|
## 終端機功能
|
||||||
|
|
||||||
### Multiple Tabs
|
### 多標籤
|
||||||
|
|
||||||
Supports opening multiple terminal tabs simultaneously for easy switching between sessions.
|
支持同時打開多個終端機標籤,方便在多個會話間切換。
|
||||||
|
|
||||||
### Copy and Paste
|
### 複製貼上
|
||||||
|
|
||||||
- **Copy**: Automatically copies when text is selected, or use `Ctrl+Shift+C`
|
- **複製**:選中文本後自動複製,或使用 `Ctrl+Shift+C`
|
||||||
- **Paste**: Right-click to paste, or use `Ctrl+Shift+V`
|
- **貼上**:右鍵貼上,或使用 `Ctrl+Shift+V`
|
||||||
|
|
||||||
### Fullscreen Mode
|
### 全屏模式
|
||||||
|
|
||||||
Click the fullscreen button to enter fullscreen mode for more terminal space.
|
點擊全屏按鈕可以進入全屏模式,獲得更大的終端機空間。
|
||||||
|
|
||||||
### Font Settings
|
### 字體設置
|
||||||
|
|
||||||
You can adjust the terminal font size and font type.
|
可以調整終端機的字體大小和字體類型。
|
||||||
|
|
||||||
## Local Terminal
|
## 本地終端機
|
||||||
|
|
||||||
By default, a local server terminal connection is displayed, allowing direct connection to the current server.
|
默認會顯示本地伺服器的終端機連接,可以直接連接到當前伺服器。
|
||||||
|
|
||||||
## Remote Hosts
|
## 遠程主機
|
||||||
|
|
||||||
You can add multiple remote hosts for convenient management of multiple servers:
|
可以添加多個遠程主機,方便管理多台伺服器:
|
||||||
|
|
||||||
1. Click **Create Host**
|
1. 點擊 **創建主機**
|
||||||
2. Fill in remote server information
|
2. 填寫遠程伺服器信息
|
||||||
3. After saving, select to connect from the list
|
3. 保存後在列表中選擇連接
|
||||||
|
|
||||||
## Security Recommendations
|
## 安全建議
|
||||||
|
|
||||||
1. Use strong passwords or key authentication
|
1. 使用強密碼或密鑰認證
|
||||||
2. Change the default SSH port
|
2. 修改默認 SSH 端口
|
||||||
3. Restrict IP addresses that can access SSH
|
3. 限制 SSH 訪問的 IP 地址
|
||||||
4. Regularly change passwords or keys
|
4. 定期更換密碼或密鑰
|
||||||
5. Log in with a non-root user
|
5. 使用非 root 用戶登錄
|
||||||
|
|
||||||
## FAQ
|
## 常見問題
|
||||||
|
|
||||||
### Connection Timeout
|
### 連接超時
|
||||||
|
|
||||||
- Check if the server IP and port are correct
|
- 檢查伺服器 IP 和端口是否正確
|
||||||
- Check if the firewall allows SSH connections
|
- 檢查防火牆是否允許 SSH 連接
|
||||||
- Check if the SSH service is running normally
|
- 檢查 SSH 服務是否正常運行
|
||||||
|
|
||||||
### Authentication Failed
|
### 認證失敗
|
||||||
|
|
||||||
- Check if the username and password are correct
|
- 檢查用戶名和密碼是否正確
|
||||||
- Check if the key format is correct
|
- 檢查密鑰格式是否正確
|
||||||
- Check if the user has SSH login permissions
|
- 檢查用戶是否有 SSH 登錄權限
|
||||||
|
|
||||||
### Chinese Character Garbled
|
### 中文亂碼
|
||||||
|
|
||||||
- Check the server's locale settings
|
- 檢查伺服器的 locale 設置
|
||||||
- Ensure the server encoding is UTF-8
|
- 確保伺服器編碼為 UTF-8
|
||||||
|
|||||||
@@ -1,89 +1,89 @@
|
|||||||
# Panel Tasks
|
# 面板任務
|
||||||
|
|
||||||
Panel tasks display background tasks executed by AcePanel, such as application installation, environment installation, etc.
|
面板任務顯示 AcePanel 執行的後台任務,如應用安裝、環境安裝等。
|
||||||
|
|
||||||
## Task List
|
## 任務列表
|
||||||
|
|
||||||
Go to **Tasks** > **Panel Tasks** tab to view the panel task list.
|
進入 **任務** > **面板任務** 標籤頁查看面板任務列表。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The list displays the following information:
|
列表顯示以下資訊:
|
||||||
|
|
||||||
- **Task Name**: Task description
|
- **任務名稱**:任務描述
|
||||||
- **Status**: Running/Completed/Failed
|
- **狀態**:運行中/已完成/失敗
|
||||||
- **Created At**: Task start time
|
- **建立時間**:任務開始時間
|
||||||
- **Completed At**: Task end time
|
- **完成時間**:任務結束時間
|
||||||
- **Actions**: View logs, delete
|
- **操作**:查看日誌、刪除
|
||||||
|
|
||||||
## Task Status
|
## 任務狀態
|
||||||
|
|
||||||
| Status | Description |
|
| 狀態 | 說明 |
|
||||||
| --------- | -------------------------- |
|
| --- | ------ |
|
||||||
| Running | Task is being executed |
|
| 運行中 | 任務正在執行 |
|
||||||
| Completed | Task executed successfully |
|
| 已完成 | 任務執行成功 |
|
||||||
| Failed | Task execution failed |
|
| 失敗 | 任務執行失敗 |
|
||||||
|
|
||||||
## Common Task Types
|
## 常見任務類型
|
||||||
|
|
||||||
### Application Installation
|
### 應用安裝
|
||||||
|
|
||||||
Installation tasks are created when installing native applications:
|
安裝原生應用時會建立安裝任務:
|
||||||
|
|
||||||
- Install application Nginx
|
- 安裝應用 Nginx
|
||||||
- Install application MySQL
|
- 安裝應用 MySQL
|
||||||
- Install application Docker
|
- 安裝應用 Docker
|
||||||
|
|
||||||
### Application Uninstallation
|
### 應用卸載
|
||||||
|
|
||||||
Uninstallation tasks are created when uninstalling applications:
|
卸載應用時會建立卸載任務:
|
||||||
|
|
||||||
- Uninstall application MariaDB
|
- 卸載應用 MariaDB
|
||||||
- Uninstall application Redis
|
- 卸載應用 Redis
|
||||||
|
|
||||||
### Environment Installation
|
### 環境安裝
|
||||||
|
|
||||||
Installation tasks are created when installing runtime environments:
|
安裝運行環境時會建立安裝任務:
|
||||||
|
|
||||||
- Install environment PHP 8.4
|
- 安裝環境 PHP 8.4
|
||||||
- Install environment Node.js 20
|
- 安裝環境 Node.js 20
|
||||||
- Install environment Go 1.24
|
- 安裝環境 Go 1.24
|
||||||
|
|
||||||
## View Logs
|
## 查看日誌
|
||||||
|
|
||||||
Click the **Logs** button to view detailed execution logs of the task, including:
|
點擊 **日誌** 按鈕查看任務的詳細執行日誌,包括:
|
||||||
|
|
||||||
- Command output
|
- 命令輸出
|
||||||
- Error messages
|
- 錯誤資訊
|
||||||
|
|
||||||
Logs are very useful for troubleshooting task failure causes.
|
日誌對於排查任務失敗原因非常有用。
|
||||||
|
|
||||||
## Delete Task
|
## 刪除任務
|
||||||
|
|
||||||
Completed or failed tasks can be deleted. Running tasks cannot be deleted.
|
已完成或失敗的任務可以刪除。 運行中的任務無法刪除。
|
||||||
|
|
||||||
:::tip Tip
|
:::tip 提示
|
||||||
Deleting a task only removes the record from the list, it does not affect installed applications or environments.
|
刪除任務只是從列表中移除記錄,不會影響已安裝的應用或環境。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Handling Task Failures
|
## 任務失敗處理
|
||||||
|
|
||||||
If a task fails:
|
如果任務失敗:
|
||||||
|
|
||||||
1. Click **Logs** to view error messages
|
1. 點擊 **日誌** 查看錯誤資訊
|
||||||
2. Troubleshoot the problem based on error messages
|
2. 根據錯誤資訊排查問題
|
||||||
3. Re-execute the operation after resolving the issue
|
3. 解決問題後重新執行操作
|
||||||
|
|
||||||
Common failure causes:
|
常見失敗原因:
|
||||||
|
|
||||||
- Network issues causing download failures
|
- 網路問題導致下載失敗
|
||||||
- Insufficient disk space
|
- 磁碟空間不足
|
||||||
- Missing dependencies
|
- 依賴套件缺失
|
||||||
- Port already in use
|
- 端口被佔用
|
||||||
|
|
||||||
## Notes
|
## 注意事項
|
||||||
|
|
||||||
1. Installation tasks may take a long time, please be patient
|
1. 安裝任務可能需要較長時間,請耐心等待
|
||||||
2. You can close the browser while tasks are executing
|
2. 任務執行期間可以關閉瀏覽器
|
||||||
3. If a task is unresponsive for a long time, you can refresh the page to check the status
|
3. 如果任務長時間無回應,可以重新整理頁面查看狀態
|
||||||
4. It is recommended to regularly clean up completed task records
|
4. 建議定期清理已完成的任務記錄
|
||||||
|
|||||||
@@ -1,118 +1,118 @@
|
|||||||
# Scheduled Tasks
|
# 計劃任務
|
||||||
|
|
||||||
Scheduled tasks are used to set up tasks that execute at specified times, such as scheduled backups, scheduled script execution, etc.
|
計劃任務用於設置定時執行的任務,如定時備份、定時執行腳本等。
|
||||||
|
|
||||||
## Task List
|
## 任務列表
|
||||||
|
|
||||||
Go to the **Tasks** page, which displays the scheduled task list by default.
|
進入 **任務** 頁面,默認顯示計劃任務列表。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The list displays the following information:
|
列表顯示以下信息:
|
||||||
|
|
||||||
- **Task Name**: Task name
|
- **任務名稱**:任務名稱
|
||||||
- **Task Type**: Shell/Backup, etc.
|
- **任務類型**:Shell/備份等
|
||||||
- **Enabled**: Whether enabled
|
- **已啟用**:是否啟用
|
||||||
- **Task Schedule**: Execution schedule
|
- **任務週期**:執行週期
|
||||||
- **Created At**: Creation time
|
- **創建時間**:創建時間
|
||||||
- **Last Updated**: Last execution time
|
- **最後更新時間**:最後執行時間
|
||||||
- **Actions**: Edit, execute, delete, etc.
|
- **操作**:編輯、執行、刪除等
|
||||||
|
|
||||||
## Create Task
|
## 創建任務
|
||||||
|
|
||||||
Click the **Create Task** button to create a new scheduled task.
|
點擊 **創建任務** 按鈕創建新的計劃任務。
|
||||||
|
|
||||||
### Task Types
|
### 任務類型
|
||||||
|
|
||||||
| Type | Description |
|
| 類型 | 說明 |
|
||||||
| --------------- | --------------------------------- |
|
| ----- | -------------- |
|
||||||
| Shell | Execute Shell commands or scripts |
|
| 運行腳本 | 執行 Shell 命令或腳本 |
|
||||||
| Backup Website | Scheduled backup of website files |
|
| 備份網站 | 定時備份網站文件 |
|
||||||
| Backup Database | Scheduled backup of database |
|
| 備份數據庫 | 定時備份數據庫 |
|
||||||
| Log Rotation | Scheduled rotation of log files |
|
| 日誌輪替 | 定時切割日誌文件 |
|
||||||
|
|
||||||
### Execution Schedule
|
### 執行週期
|
||||||
|
|
||||||
Multiple schedule settings are supported:
|
支持多種週期設置:
|
||||||
|
|
||||||
- **Every Minute**: Execute once every minute
|
- **每分鐘**:每分鐘執行一次
|
||||||
- **Every Hour**: Execute once every hour
|
- **每小時**:每小時執行一次
|
||||||
- **Every Day**: Execute at a specified time each day
|
- **每天**:每天指定時間執行
|
||||||
- **Every Week**: Execute on specified day and time each week
|
- **每週**:每週指定日期和時間執行
|
||||||
- **Every Month**: Execute on specified date and time each month
|
- **每月**:每月指定日期和時間執行
|
||||||
- **Custom**: Use Cron expression
|
- **自定義**:使用 Cron 表達式
|
||||||
|
|
||||||
### Cron Expression
|
### Cron 表達式
|
||||||
|
|
||||||
Cron expression format: `minute hour day month weekday`
|
Cron 表達式格式:`分 時 日 月 週`
|
||||||
|
|
||||||
```
|
```
|
||||||
* * * * *
|
* * * * *
|
||||||
│ │ │ │ │
|
│ │ │ │ │
|
||||||
│ │ │ │ └── Day of week (0-7, both 0 and 7 are Sunday)
|
│ │ │ │ └── 週幾 (0-7, 0和7都是週日)
|
||||||
│ │ │ └─────── Month (1-12)
|
│ │ │ └─────── 月份 (1-12)
|
||||||
│ │ └──────────── Day of month (1-31)
|
│ │ └──────────── 日期 (1-31)
|
||||||
│ └───────────────── Hour (0-23)
|
│ └───────────────── 小時 (0-23)
|
||||||
└────────────────────── Minute (0-59)
|
└────────────────────── 分鐘 (0-59)
|
||||||
```
|
```
|
||||||
|
|
||||||
Common examples:
|
常用示例:
|
||||||
|
|
||||||
| Expression | Description |
|
| 表達式 | 說明 |
|
||||||
| ------------- | ------------------------------------ |
|
| ------------- | -------- |
|
||||||
| `0 2 * * *` | Every day at 2 AM |
|
| `0 2 * * *` | 每天凌晨 2 點 |
|
||||||
| `0 */6 * * *` | Every 6 hours |
|
| `0 */6 * * *` | 每 6 小時 |
|
||||||
| `0 0 * * 0` | Every Sunday at midnight |
|
| `0 0 * * 0` | 每週日凌晨 |
|
||||||
| `0 0 1 * *` | First day of every month at midnight |
|
| `0 0 1 * *` | 每月 1 號凌晨 |
|
||||||
| `*/5 * * * *` | Every 5 minutes |
|
| `*/5 * * * *` | 每 5 分鐘 |
|
||||||
|
|
||||||
Don't know how to write it? Just describe your requirements clearly to an AI and let it generate one for you.
|
不會寫? 直接找個 AI 描述清楚需求讓它幫你生成一個。
|
||||||
|
|
||||||
## Shell Task Examples
|
## Shell 任務示例
|
||||||
|
|
||||||
### Clean Temporary Files
|
### 清理臨時文件
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
find /tmp -type f -mtime +7 -delete
|
find /tmp -type f -mtime +7 -delete
|
||||||
```
|
```
|
||||||
|
|
||||||
### Restart Service
|
### 重啟服務
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
systemctl restart nginx
|
systemctl restart nginx
|
||||||
```
|
```
|
||||||
|
|
||||||
### Sync Time
|
### 同步時間
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ntpdate ntp.aliyun.com
|
ntpdate ntp.aliyun.com
|
||||||
```
|
```
|
||||||
|
|
||||||
## Task Operations
|
## 任務操作
|
||||||
|
|
||||||
### Enable/Disable
|
### 啟用/禁用
|
||||||
|
|
||||||
Control whether the task is enabled via the switch. Disabled tasks will not execute.
|
通過開關控制任務是否啟用。 禁用的任務不會執行。
|
||||||
|
|
||||||
### Execute Immediately
|
### 立即執行
|
||||||
|
|
||||||
Click the **Run** button to execute the task immediately without waiting for the scheduled time.
|
點擊 **運行** 按鈕可以立即執行任務,不等待計劃時間。
|
||||||
|
|
||||||
### View Logs
|
### 查看日誌
|
||||||
|
|
||||||
Click the **Logs** button to view the task execution logs.
|
點擊 **日誌** 按鈕查看任務的執行日誌。
|
||||||
|
|
||||||
### Edit Task
|
### 編輯任務
|
||||||
|
|
||||||
Click the **Edit** button to modify the task configuration.
|
點擊 **編輯** 按鈕修改任務配置。
|
||||||
|
|
||||||
### Delete Task
|
### 刪除任務
|
||||||
|
|
||||||
Click the **Delete** button to delete the task.
|
點擊 **刪除** 按鈕刪除任務。
|
||||||
|
|
||||||
## Notes
|
## 注意事項
|
||||||
|
|
||||||
1. Task execution time is based on the server timezone
|
1. 任務執行時間基於服務器時區
|
||||||
2. Long-running tasks may affect the next execution
|
2. 長時間運行的任務可能影響下次執行
|
||||||
3. It is recommended to set up notification reminders for important tasks
|
3. 建議為重要任務設置通知提醒
|
||||||
4. Regularly check task execution status
|
4. 定期檢查任務執行狀態
|
||||||
|
|||||||
@@ -1,27 +1,27 @@
|
|||||||
# Toolbox
|
# 工具箱
|
||||||
|
|
||||||
The toolbox provides a series of system management tools, including process management, system information, SSH configuration, disk management, etc.
|
工具箱提供了一系列系統管理工具,包括進程管理、系統資訊、SSH 配置、磁碟管理等。
|
||||||
|
|
||||||
## Feature List
|
## 功能列表
|
||||||
|
|
||||||
| Feature | Description |
|
| 功能 | 說明 |
|
||||||
| -------------------------------- | ----------------------------------------- |
|
| --------------------------- | ------------- |
|
||||||
| [Process](./toolbox/process) | View and manage system processes |
|
| [進程](./toolbox/process) | 查看和管理系統進程 |
|
||||||
| [System](./toolbox/system) | View system information and configuration |
|
| [系統](./toolbox/system) | 查看系統資訊和配置 |
|
||||||
| [SSH](./toolbox/ssh) | SSH service configuration |
|
| [SSH](./toolbox/ssh) | SSH 服務配置 |
|
||||||
| [Disk](./toolbox/disk) | Disk usage and management |
|
| [磁碟](./toolbox/disk) | 磁碟使用情況和管理 |
|
||||||
| [Log Cleanup](./toolbox/log) | Clean up system logs |
|
| [日誌清理](./toolbox/log) | 清理系統日誌 |
|
||||||
| [Web Hook](./toolbox/webhook) | Configure Webhook notifications |
|
| [Web 鉤子](./toolbox/webhook) | 配置 Webhook 通知 |
|
||||||
| [Benchmark](./toolbox/benchmark) | Server performance testing |
|
| [跑分](./toolbox/benchmark) | 伺服器效能測試 |
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Next Steps
|
## 下一步
|
||||||
|
|
||||||
- [Process Management](./toolbox/process) - View and manage system processes
|
- [進程管理](./toolbox/process) - 查看和管理系統進程
|
||||||
- [System Information](./toolbox/system) - View system configuration
|
- [系統資訊](./toolbox/system) - 查看系統配置
|
||||||
- [SSH Configuration](./toolbox/ssh) - Configure SSH service
|
- [SSH 配置](./toolbox/ssh) - 配置 SSH 服務
|
||||||
- [Disk Management](./toolbox/disk) - Manage disk space
|
- [磁碟管理](./toolbox/disk) - 管理磁碟空間
|
||||||
- [Log Cleanup](./toolbox/log) - Clean up system logs
|
- [日誌清理](./toolbox/log) - 清理系統日誌
|
||||||
- [Web Hook](./toolbox/webhook) - Configure notifications
|
- [Web 鉤子](./toolbox/webhook) - 配置通知
|
||||||
- [Benchmark Test](./toolbox/benchmark) - Test server performance
|
- [跑分測試](./toolbox/benchmark) - 測試伺服器效能
|
||||||
|
|||||||
@@ -1,46 +1,46 @@
|
|||||||
# Benchmark Test
|
# 跑分測試
|
||||||
|
|
||||||
The benchmark feature is used to test the CPU, memory, and disk performance of the server, helping you understand the actual performance of your server.
|
跑分功能用於測試伺服器的 CPU、記憶體和磁碟效能,幫助你了解伺服器的實際效能表現。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Test Items
|
## 測試項目
|
||||||
|
|
||||||
### CPU Test
|
### CPU 測試
|
||||||
|
|
||||||
Tests the computing power of the CPU by executing a large number of mathematical operations to evaluate processor performance.
|
測試 CPU 的計算能力,透過執行大量數學運算來評估處理器效能。
|
||||||
|
|
||||||
### Memory Test
|
### 記憶體測試
|
||||||
|
|
||||||
Tests the read and write speed of memory to evaluate the performance of the memory subsystem.
|
測試記憶體的讀寫速度,評估記憶體子系統的效能表現。
|
||||||
|
|
||||||
### Disk Test
|
### 磁碟測試
|
||||||
|
|
||||||
Tests the read and write speed of the disk to evaluate the I/O performance of the storage device.
|
測試磁碟的讀寫速度,評估儲存裝置的 I/O 效能。
|
||||||
|
|
||||||
## Usage
|
## 使用方法
|
||||||
|
|
||||||
Click the **Start Benchmark** button, and the system will execute CPU, memory, and disk tests in sequence. After the tests are completed, the scores for each item will be displayed.
|
點擊 **開始跑分** 按鈕,系統會依次執行 CPU、記憶體和磁碟測試。 測試完成後會顯示各項得分。
|
||||||
|
|
||||||
## Result Explanation
|
## 結果說明
|
||||||
|
|
||||||
Benchmark results are displayed as numerical values, with higher values indicating better performance.
|
跑分結果以數值形式展示,數值越高表示效能越好。
|
||||||
|
|
||||||
:::warning Note
|
:::warning 注意
|
||||||
Benchmark results are for reference only. Due to system resource scheduling, caching, and other factors, test results may differ from actual performance in use.
|
跑分結果僅供參考。 由於系統資源調度、快取和其他因素的影響,測試結果可能與實際使用中的效能有所差異。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Testing Recommendations
|
## 測試建議
|
||||||
|
|
||||||
1. Close unnecessary services and processes before testing
|
1. 測試前關閉不必要的服務和程序
|
||||||
2. Avoid testing during peak business hours
|
2. 避免在業務高峰期進行測試
|
||||||
3. Multiple tests averaged are more accurate
|
3. 多次測試取平均值更準確
|
||||||
4. Test results may fluctuate at different times
|
4. 不同時間段的測試結果可能有波動
|
||||||
|
|
||||||
## Performance Optimization Reference
|
## 效能最佳化參考
|
||||||
|
|
||||||
If benchmark results are not ideal, consider:
|
如果跑分結果不理想,可以考慮:
|
||||||
|
|
||||||
- **Low CPU performance**: Check if any process is using too much CPU
|
- **CPU 效能低**:檢查是否有程序佔用過高 CPU
|
||||||
- **Low memory performance**: Check memory usage, whether there are memory leaks
|
- **記憶體效能低**:檢查記憶體使用情況,是否存在記憶體洩漏
|
||||||
- **Low disk performance**: Check disk health status, consider upgrading to SSD
|
- **磁碟效能低**:檢查磁碟健康狀態,考慮升級到 SSD
|
||||||
|
|||||||
@@ -1,120 +1,120 @@
|
|||||||
# Disk
|
# 磁碟
|
||||||
|
|
||||||
The disk page provides disk partition management and LVM logical volume management features.
|
磁碟頁面提供磁碟分區管理和 LVM 邏輯卷管理功能。
|
||||||
|
|
||||||
## Disk Management
|
## 磁碟管理
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Disk Information
|
### 磁碟資訊
|
||||||
|
|
||||||
The top of the page displays basic information for each disk:
|
頁面頂部顯示每個磁碟的基本資訊:
|
||||||
|
|
||||||
- **Disk Name**: Such as vda, sda
|
- **磁碟名**:如 vda、sda
|
||||||
- **Type**: System disk or data disk
|
- **類型**:系統盤或資料盤
|
||||||
- **Size**: Total disk capacity
|
- **大小**:磁碟總容量
|
||||||
- **Partitions**: Number of partitions
|
- **分區數**:分區數量
|
||||||
- **Disk Type**: HDD, SSD, etc.
|
- **磁碟類型**:HDD、SSD 等
|
||||||
|
|
||||||
### Partition List
|
### 分區列表
|
||||||
|
|
||||||
Each disk shows its partition information:
|
每個磁碟下顯示其分區資訊:
|
||||||
|
|
||||||
| Column | Description |
|
| 列 | 說明 |
|
||||||
| -------------- | ----------------------------------------- |
|
| ---- | ------------------ |
|
||||||
| Partition Name | Partition device name, such as vda1, vda2 |
|
| 分區名 | 分區裝置名,如 vda1、vda2 |
|
||||||
| Size | Partition capacity |
|
| 大小 | 分區容量 |
|
||||||
| Used | Used space |
|
| 已用 | 已使用空間 |
|
||||||
| Available | Available space |
|
| 可用 | 可用空間 |
|
||||||
| Usage | Usage percentage |
|
| 使用率 | 使用百分比 |
|
||||||
| Mount Point | Mount directory, such as `/`, `/data` |
|
| 掛載點 | 掛載目錄,如 `/`、`/data` |
|
||||||
| File System | File system type, such as ext4, xfs |
|
| 檔案系統 | 檔案系統類型,如 ext4、xfs |
|
||||||
| Actions | Unmount and other operations |
|
| 操作 | 卸載等操作 |
|
||||||
|
|
||||||
### Mount Partition
|
### 掛載分區
|
||||||
|
|
||||||
Mount an unmounted partition to a specified directory:
|
將未掛載的分區掛載到指定目錄:
|
||||||
|
|
||||||
- **Partition**: Select the partition to mount
|
- **分區**:選擇要掛載的分區
|
||||||
- **Mount Path**: Mount directory, such as `/mnt/data`
|
- **掛載路徑**:掛載目錄,如 `/mnt/data`
|
||||||
- **Mount Options**: Mount parameters, such as `defaults,noatime`
|
- **掛載選項**:掛載參數,如 `defaults,noatime`
|
||||||
- **Auto Mount on Boot**: Whether to write to fstab for automatic mounting on boot
|
- **啟動時自動掛載**:是否寫入 fstab 開機自動掛載
|
||||||
|
|
||||||
### Format Partition
|
### 格式化分區
|
||||||
|
|
||||||
:::danger Warning
|
:::danger 警告
|
||||||
Formatting will erase all data on the partition!
|
格式化將清除分區上的所有資料!
|
||||||
:::
|
:::
|
||||||
|
|
||||||
- **Partition**: Select the partition to format
|
- **分區**:選擇要格式化的分區
|
||||||
- **File System Type**: ext4, xfs, btrfs, etc.
|
- **檔案系統類型**:ext4、xfs、btrfs 等
|
||||||
|
|
||||||
### Initialize Disk
|
### 初始化磁碟
|
||||||
|
|
||||||
:::danger Warning
|
:::danger 警告
|
||||||
Initialization will delete all partitions and data on the disk!
|
初始化將刪除磁碟上的所有分區和資料!
|
||||||
:::
|
:::
|
||||||
|
|
||||||
Initialize the entire disk as a single partition:
|
將整個磁碟初始化為單個分區:
|
||||||
|
|
||||||
- **Disk**: Select the disk to initialize
|
- **磁碟**:選擇要初始化的磁碟
|
||||||
- **File System Type**: ext4, xfs, btrfs, etc.
|
- **檔案系統類型**:ext4、xfs、btrfs 等
|
||||||
|
|
||||||
### Auto Mount Configuration (fstab)
|
### 自動掛載配置(fstab)
|
||||||
|
|
||||||
Display mount configurations in `/etc/fstab`:
|
顯示 `/etc/fstab` 中的掛載配置:
|
||||||
|
|
||||||
- **Device**: Device name or UUID
|
- **裝置**:裝置名或 UUID
|
||||||
- **Mount Point**: Mount directory
|
- **掛載點**:掛載目錄
|
||||||
- **File System**: File system type
|
- **檔案系統**:檔案系統類型
|
||||||
- **Options**: Mount options
|
- **選項**:掛載選項
|
||||||
- **Actions**: Remove configuration
|
- **操作**:移除配置
|
||||||
|
|
||||||
## LVM Management
|
## LVM 管理
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
LVM (Logical Volume Manager) provides flexible disk space management with support for dynamic partition resizing.
|
LVM(Logical Volume Manager)提供靈活的磁碟空間管理,支援動態調整分區大小。
|
||||||
|
|
||||||
### Physical Volume (PV)
|
### 物理卷(PV)
|
||||||
|
|
||||||
Physical volumes are the foundation of LVM, typically a disk partition or an entire disk.
|
物理卷是 LVM 的基礎,通常是一個磁碟分區或整個磁碟。
|
||||||
|
|
||||||
**Create Physical Volume**:
|
**建立物理卷**:
|
||||||
|
|
||||||
1. Select device (unused partition or disk)
|
1. 選擇裝置(未使用的分區或磁碟)
|
||||||
2. Click **Create Physical Volume**
|
2. 點擊 **建立物理卷**
|
||||||
|
|
||||||
### Volume Group (VG)
|
### 卷組(VG)
|
||||||
|
|
||||||
A volume group consists of one or more physical volumes, representing a storage pool concept.
|
卷組由一個或多個物理卷組成,是儲存池的概念。
|
||||||
|
|
||||||
**Create Volume Group**:
|
**建立卷組**:
|
||||||
|
|
||||||
1. Enter volume group name
|
1. 輸入卷組名
|
||||||
2. Select physical volumes to add
|
2. 選擇要加入的物理卷
|
||||||
3. Click **Create Volume Group**
|
3. 點擊 **建立卷組**
|
||||||
|
|
||||||
### Logical Volume (LV)
|
### 邏輯卷(LV)
|
||||||
|
|
||||||
Logical volumes allocate space from volume groups, equivalent to traditional partitions.
|
邏輯卷從卷組中分配空間,相當於傳統的分區。
|
||||||
|
|
||||||
**Create Logical Volume**:
|
**建立邏輯卷**:
|
||||||
|
|
||||||
1. Enter logical volume name
|
1. 輸入邏輯卷名
|
||||||
2. Select volume group
|
2. 選擇卷組
|
||||||
3. Set size (GB)
|
3. 設定大小(GB)
|
||||||
4. Click **Create Logical Volume**
|
4. 點擊 **建立邏輯卷**
|
||||||
|
|
||||||
### Extend Logical Volume
|
### 擴展邏輯卷
|
||||||
|
|
||||||
Dynamically extend the size of a logical volume:
|
動態擴展邏輯卷的大小:
|
||||||
|
|
||||||
1. Select the logical volume to extend
|
1. 選擇要擴展的邏輯卷
|
||||||
2. Enter extension size (GB)
|
2. 輸入擴展大小(GB)
|
||||||
3. Check **Auto Resize File System** (recommended)
|
3. 勾選 **自動調整檔案系統大小**(推薦)
|
||||||
4. Click **Extend Logical Volume**
|
4. 點擊 **擴展邏輯卷**
|
||||||
|
|
||||||
:::tip Tip
|
:::tip 提示
|
||||||
The advantage of LVM is that logical volumes can be extended online without unmounting partitions or restarting the system.
|
LVM 的優勢在於可以線上擴展邏輯卷,無需卸載分區或重新啟動系統。
|
||||||
:::
|
:::
|
||||||
|
|||||||
@@ -1,79 +1,79 @@
|
|||||||
# Log Cleanup
|
# 日誌清理
|
||||||
|
|
||||||
The log cleanup feature is used to scan and clean up log files generated by the system and applications to free up disk space.
|
日誌清理功能用於掃描和清理系統及應用產生的日誌檔案,釋放磁碟空間。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Feature Overview
|
## 功能概覽
|
||||||
|
|
||||||
The top of the page provides batch operation buttons:
|
頁面頂部提供批次操作按鈕:
|
||||||
|
|
||||||
- **Scan All**: Scan all types of logs
|
- **掃描所有**:掃描所有類型的日誌
|
||||||
- **Clean All**: Clean all scanned logs
|
- **清理所有**:清理所有已掃描的日誌
|
||||||
|
|
||||||
## Log Types
|
## 日誌類型
|
||||||
|
|
||||||
### Panel Logs
|
### 面板日誌
|
||||||
|
|
||||||
Log files generated by panel operation.
|
面板運行產生的日誌檔案。
|
||||||
|
|
||||||
- Click **Scan** to check log size
|
- 點擊 **掃描** 檢查日誌大小
|
||||||
- Click **Clean** to delete log files
|
- 點擊 **清理** 刪除日誌檔案
|
||||||
|
|
||||||
### Website Logs
|
### 網站日誌
|
||||||
|
|
||||||
Website access logs and error logs, including:
|
網站的存取日誌和錯誤日誌,包括:
|
||||||
|
|
||||||
- Nginx access logs (access.log)
|
- Nginx 存取日誌(access.log)
|
||||||
- Nginx error logs (error.log)
|
- Nginx 錯誤日誌(error.log)
|
||||||
- Individual logs for each website
|
- 各網站的獨立日誌
|
||||||
|
|
||||||
:::tip Tip
|
:::tip 提示
|
||||||
Website logs are usually the largest type of logs, it is recommended to clean them regularly.
|
網站日誌通常是佔用空間最大的日誌類型,建議定期清理。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
### MySQL Logs
|
### MySQL 日誌
|
||||||
|
|
||||||
Log files for Percona/MySQL/MariaDB databases:
|
Percona/MySQL/MariaDB 資料庫的日誌檔案:
|
||||||
|
|
||||||
- Slow query log
|
- 慢查詢日誌(slow query log)
|
||||||
- Binary log (binlog)
|
- 二進位日誌(binlog)
|
||||||
- Error log
|
- 錯誤日誌
|
||||||
|
|
||||||
:::warning Note
|
:::warning 注意
|
||||||
Binary logs are used for data recovery and master-slave replication, please confirm they are no longer needed before cleaning.
|
二進位日誌用於資料恢復和主從複製,清理前請確認不再需要。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
### Docker
|
### Docker
|
||||||
|
|
||||||
Docker-related logs and unused resources:
|
Docker 相關的日誌和未使用資源:
|
||||||
|
|
||||||
- Container logs
|
- 容器日誌
|
||||||
- Unused images
|
- 未使用的鏡像
|
||||||
- Build cache
|
- 建構快取
|
||||||
|
|
||||||
### System Logs
|
### 系統日誌
|
||||||
|
|
||||||
System-level log files:
|
系統級別的日誌檔案:
|
||||||
|
|
||||||
- systemd journal logs
|
- systemd journal 日誌
|
||||||
- System logs under `/var/log`
|
- `/var/log` 下的系統日誌
|
||||||
- Kernel logs
|
- 核心日誌
|
||||||
|
|
||||||
## Usage
|
## 使用方法
|
||||||
|
|
||||||
1. Click the **Scan** button for each type to view log space usage
|
1. 點擊各類型的 **掃描** 按鈕,查看日誌佔用空間
|
||||||
2. Confirm the log types to clean
|
2. 確認要清理的日誌類型
|
||||||
3. Click the **Clean** button to delete logs
|
3. 點擊 **清理** 按鈕刪除日誌
|
||||||
|
|
||||||
Or:
|
或者:
|
||||||
|
|
||||||
1. Click **Scan All** to scan all logs at once
|
1. 點擊 **掃描所有** 一次性掃描所有日誌
|
||||||
2. View the usage of each type
|
2. 查看各類型的佔用情況
|
||||||
3. Click **Clean All** to batch clean
|
3. 點擊 **清理所有** 批次清理
|
||||||
|
|
||||||
## Notes
|
## 注意事項
|
||||||
|
|
||||||
1. Cleanup operations are irreversible, please confirm logs are no longer needed
|
1. 清理操作不可恢復,請確認日誌不再需要
|
||||||
2. Important logs should be backed up first
|
2. 重要日誌建議先備份
|
||||||
3. In production environments, it is recommended to keep recent logs for troubleshooting
|
3. 生產環境建議保留最近的日誌用於問題排查
|
||||||
|
|||||||
@@ -1,61 +1,61 @@
|
|||||||
# Process Management
|
# 進程管理
|
||||||
|
|
||||||
The process management page is used to view and manage processes running on the system.
|
進程管理頁面用於查看和管理系統中運行的進程。
|
||||||
|
|
||||||
## Process List
|
## 進程列表
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The page displays all running processes in a table format.
|
頁面以表格形式展示所有運行中的進程。
|
||||||
|
|
||||||
The list displays the following information:
|
列表顯示以下信息:
|
||||||
|
|
||||||
- **PID**: Process ID
|
- **PID**:進程 ID
|
||||||
- **Name**: Process name
|
- **名稱**:進程名稱
|
||||||
- **Parent PID**: PID of the parent process
|
- **父進程 PID**:父進程的 PID
|
||||||
- **Threads**: Number of threads
|
- **線程**:線程數量
|
||||||
- **User**: User running the process
|
- **用戶**:運行進程的用戶
|
||||||
- **Status**: Process status
|
- **狀態**:進程狀態
|
||||||
- **CPU**: CPU usage
|
- **CPU**:CPU 使用率
|
||||||
- **Memory**: Memory usage
|
- **內存**:內存使用量
|
||||||
- **Start Time**: Process start time
|
- **啟動時間**:進程啟動時間
|
||||||
|
|
||||||
## Process Status
|
## 進程狀態
|
||||||
|
|
||||||
| Status | Description |
|
| 狀態 | 說明 |
|
||||||
| -------- | ------------------------------------- |
|
| --- | ---------- |
|
||||||
| Running | Process is executing |
|
| 運行中 | 進程正在執行 |
|
||||||
| Sleeping | Process is waiting for an event |
|
| 睡眠 | 進程等待事件 |
|
||||||
| Idle | Kernel thread is idle |
|
| 空閒 | 內核線程空閒 |
|
||||||
| Stopped | Process has stopped |
|
| 停止 | 進程已停止 |
|
||||||
| Zombie | Process has ended but not been reaped |
|
| 殭屍 | 進程已結束但未被回收 |
|
||||||
|
|
||||||
## Search and Filter
|
## 搜索和篩選
|
||||||
|
|
||||||
- **Search**: Search by PID or process name
|
- **搜索**:按 PID 或進程名稱搜索
|
||||||
- **Status Filter**: Filter processes by specific status
|
- **狀態篩選**:篩選特定狀態的進程
|
||||||
|
|
||||||
## Process Operations
|
## 進程操作
|
||||||
|
|
||||||
Right-click on a process to:
|
右鍵點擊進程可以:
|
||||||
|
|
||||||
- **End Process**: Send SIGTERM signal
|
- **結束進程**:發送 SIGTERM 信號
|
||||||
- **Force End**: Send SIGKILL signal
|
- **強制結束**:發送 SIGKILL 信號
|
||||||
- **View Details**: View detailed process information
|
- **查看詳情**:查看進程詳細信息
|
||||||
|
|
||||||
## Common Processes
|
## 常見進程
|
||||||
|
|
||||||
| Process | Description |
|
| 進程 | 說明 |
|
||||||
| -------- | --------------------------- |
|
| -------- | ----------------- |
|
||||||
| nginx | Nginx web server |
|
| nginx | Nginx Web 服務器 |
|
||||||
| php-fpm | PHP FastCGI process manager |
|
| php-fpm | PHP FastCGI 進程管理器 |
|
||||||
| mysqld | MySQL database service |
|
| mysqld | MySQL 數據庫服務 |
|
||||||
| postgres | PostgreSQL database service |
|
| postgres | PostgreSQL 數據庫服務 |
|
||||||
| dockerd | Docker daemon |
|
| dockerd | Docker 守護進程 |
|
||||||
| ace | AcePanel panel process |
|
| ace | AcePanel 面板進程 |
|
||||||
|
|
||||||
## Notes
|
## 注意事項
|
||||||
|
|
||||||
1. Ending critical system processes may cause system instability
|
1. 結束系統關鍵進程可能導致系統不穩定
|
||||||
2. Ending the panel process will make the panel inaccessible
|
2. 結束面板進程會導致面板無法訪問
|
||||||
3. It is recommended to only end processes that are confirmed to be useless
|
3. 建議只結束確認無用的進程
|
||||||
|
|||||||
@@ -1,81 +1,81 @@
|
|||||||
# SSH
|
# 遠端主機
|
||||||
|
|
||||||
The SSH page is used to manage the server's SSH service configuration, including service status, authentication methods, and Root account settings.
|
SSH 頁面用於管理伺服器的 SSH 服務配置,包括服務狀態、認證方式和 Root 帳戶設置。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Running Status
|
## 運行狀態
|
||||||
|
|
||||||
Displays the current status of the SSH service and provides the following operations:
|
顯示 SSH 服務的當前狀態,並提供以下操作:
|
||||||
|
|
||||||
- **Start**: Start the SSH service
|
- **啟動**:啟動 SSH 服務
|
||||||
- **Stop**: Stop the SSH service
|
- **停止**:停止 SSH 服務
|
||||||
- **Restart**: Restart the SSH service
|
- **重啟**:重啟 SSH 服務
|
||||||
|
|
||||||
:::danger Warning
|
:::danger 警告
|
||||||
After stopping the SSH service, you will not be able to remotely connect to the server via SSH. Please ensure you have other ways to access the server (such as VNC, out-of-band management) before proceeding.
|
停止 SSH 服務後將無法通過 SSH 遠端連接伺服器, 請確保有其他方式訪問伺服器(如 VNC、帶外管理)後再操作。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## SSH Settings
|
## SSH 設置
|
||||||
|
|
||||||
### SSH Password Login
|
### SSH 密碼登入
|
||||||
|
|
||||||
Control whether password authentication is allowed for SSH.
|
控制是否允許使用密碼進行 SSH 認證。
|
||||||
|
|
||||||
- **Enabled**: Allow password login
|
- **開啟**:允許使用密碼登入
|
||||||
- **Disabled**: Prohibit password login, only key authentication allowed
|
- **關閉**:禁止密碼登入,只能使用密鑰
|
||||||
|
|
||||||
### SSH Key Login
|
### SSH 密鑰登入
|
||||||
|
|
||||||
Control whether SSH key authentication is allowed.
|
控制是否允許使用 SSH 密鑰進行認證。
|
||||||
|
|
||||||
- **Enabled**: Allow key login
|
- **開啟**:允許使用密鑰登入
|
||||||
- **Disabled**: Prohibit key login
|
- **關閉**:禁止密鑰登入
|
||||||
|
|
||||||
:::tip Security Recommendation
|
:::tip 安全建議
|
||||||
It is recommended to enable key login and disable password login to effectively prevent brute force attacks.
|
推薦開啟密鑰登入並關閉密碼登入,可以有效防止暴力破解攻擊。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
### SSH Port
|
### SSH 連接埠
|
||||||
|
|
||||||
Modify the port that the SSH service listens on, default is `22`.
|
修改 SSH 服務監聽的連接埠,預設為 `22`。
|
||||||
|
|
||||||
After modifying the port:
|
修改連接埠後:
|
||||||
|
|
||||||
1. Click the **Save** button
|
1. 點擊 **保存** 按鈕
|
||||||
2. Ensure the firewall has allowed the new port
|
2. 確保防火牆已放行新連接埠
|
||||||
3. Test connection using the new port
|
3. 使用新連接埠連接測試
|
||||||
4. Close the old port after confirming the connection works
|
4. 確認可以連接後再關閉舊連接埠
|
||||||
|
|
||||||
:::warning Note
|
:::warning 注意
|
||||||
Before modifying the port, please ensure the new port is allowed in the firewall, otherwise you may be unable to connect.
|
修改連接埠前請確保新連接埠已在防火牆中放行,否則可能導致無法連接。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Root Settings
|
## Root 設置
|
||||||
|
|
||||||
### Root Password Login Settings
|
### Root 密碼登入設置
|
||||||
|
|
||||||
Control Root user's SSH login permissions:
|
控制 Root 用戶的 SSH 登入權限:
|
||||||
|
|
||||||
- **Allow SSH Login**: Root can log in via SSH
|
- **允許 SSH 登入**:Root 可以通過 SSH 登入
|
||||||
- **Prohibit SSH Login**: Root cannot log in via SSH
|
- **禁止 SSH 登入**:Root 無法通過 SSH 登入
|
||||||
- **Allow Key Login Only**: Root can only log in using keys
|
- **僅允許密鑰登入**:Root 只能使用密鑰登入
|
||||||
|
|
||||||
### Root Password
|
### Root 密碼
|
||||||
|
|
||||||
Reset the Root user's password.
|
重置 Root 用戶的密碼。
|
||||||
|
|
||||||
- Enter the new password and click the **Reset** button
|
- 輸入新密碼後點擊 **重置** 按鈕
|
||||||
- It is recommended to use a complex password containing uppercase and lowercase letters, numbers, and special characters
|
- 建議使用包含大小寫字母、數字和特殊字符的複雜密碼
|
||||||
- Refreshing the page will clear the password input field
|
- 刷新頁面將清除密碼輸入框
|
||||||
|
|
||||||
### Root Key
|
### Root 密鑰
|
||||||
|
|
||||||
Manage Root user's SSH keys:
|
管理 Root 用戶的 SSH 密鑰:
|
||||||
|
|
||||||
- **View Key**: View the currently configured public key
|
- **查看密鑰**:查看當前配置的公鑰
|
||||||
- **Download**: Download the private key file
|
- **下載**:下載私鑰文件
|
||||||
|
|
||||||
:::tip Security Recommendation
|
:::tip 安全建議
|
||||||
It is recommended to use key login and disable password to significantly improve server security.
|
推薦使用密鑰登入並禁用密碼,可以顯著提高伺服器安全性。
|
||||||
:::
|
:::
|
||||||
|
|||||||
@@ -1,101 +1,101 @@
|
|||||||
# System
|
# 系統
|
||||||
|
|
||||||
The system page provides management features for basic server configuration, including DNS, SWAP, hostname, and time settings.
|
系統頁面提供伺服器基礎配置的管理功能,包括 DNS、SWAP、主機名和時間設置。
|
||||||
|
|
||||||
## DNS
|
## DNS
|
||||||
|
|
||||||
Configure the system's DNS servers.
|
配置系統的 DNS 伺服器。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Configuration Items
|
### 配置項
|
||||||
|
|
||||||
- **DNS1**: Primary DNS server address
|
- **DNS1**:主 DNS 伺服器地址
|
||||||
- **DNS2**: Secondary DNS server address
|
- **DNS2**:輔 DNS 伺服器地址
|
||||||
|
|
||||||
### Common DNS Servers
|
### 常用 DNS 伺服器
|
||||||
|
|
||||||
| Provider | DNS1 | DNS2 |
|
| 服務商 | DNS1 | DNS2 |
|
||||||
| ------------- | --------------------------------------------------------------- | --------------------------------------------------------------- |
|
| ---------- | --------------------------------------------------------------- | --------------------------------------------------------------- |
|
||||||
| Alibaba Cloud | 223.5.5.5 | 223.6.6.6 |
|
| 阿里雲 | 223.5.5.5 | 223.6.6.6 |
|
||||||
| Tencent Cloud | 119.29.29.29 | 119.28.28.28 |
|
| 騰訊雲 | 119.29.29.29 | 119.28.28.28 |
|
||||||
| 114 DNS | 114.114.114.114 | 114.114.115.115 |
|
| 114 DNS | 114.114.114.114 | 114.114.115.115 |
|
||||||
| Google | 8.8.8.8 | 8.8.4.4 |
|
| Google | 8.8.8.8 | 8.8.4.4 |
|
||||||
| Cloudflare | 1.1.1.1 | 1.0.0.1 |
|
| Cloudflare | 1.1.1.1 | 1.0.0.1 |
|
||||||
|
|
||||||
## SWAP
|
## SWAP
|
||||||
|
|
||||||
Manage the system's SWAP space.
|
管理系統的 SWAP 交換空間。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The page displays current SWAP usage:
|
頁面顯示當前 SWAP 使用情況:
|
||||||
|
|
||||||
- System total
|
- 系統總計
|
||||||
- Used
|
- 已使用
|
||||||
- Available
|
- 可用
|
||||||
|
|
||||||
### Configure Panel SWAP
|
### 配置面板 SWAP
|
||||||
|
|
||||||
Set the size of the SWAP file managed by the panel (unit: MB).
|
設置面板管理的 SWAP 檔案大小(單位:MB)。
|
||||||
|
|
||||||
- Setting to `0` disables panel SWAP
|
- 設置為 `0` 表示禁用面板 SWAP
|
||||||
- It is recommended to set based on server memory size, typically 1-2 times the memory
|
- 建議根據伺服器記憶體大小設置,通常為記憶體的 1-2 倍
|
||||||
|
|
||||||
:::tip Tip
|
:::tip 提示
|
||||||
SWAP can provide additional virtual memory when physical memory is insufficient, but performance is lower than physical memory. For servers with sufficient memory, SWAP may not need to be enabled.
|
SWAP 可以在實體記憶體不足時提供額外的虛擬記憶體,但性能低於實體記憶體。 對於記憶體充足的伺服器,可以不啟用 SWAP。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Host
|
## Host
|
||||||
|
|
||||||
Configure system hostname and Hosts file.
|
配置系統主機名和 Hosts 檔案。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### System Hostname
|
### 系統主機名
|
||||||
|
|
||||||
Modify the server's hostname, such as `myserver`, `web-01`, etc.
|
修改伺服器的主機名,例如 `myserver`、`web-01` 等。
|
||||||
|
|
||||||
### Hosts
|
### Hosts
|
||||||
|
|
||||||
Edit the system's `/etc/hosts` file for configuring local domain name resolution.
|
編輯系統的 `/etc/hosts` 檔案,用於配置本地域名解析。
|
||||||
|
|
||||||
Common uses:
|
常見用途:
|
||||||
|
|
||||||
- Block specific domains
|
- 屏蔽特定域名
|
||||||
- Configure local development domains
|
- 配置本地開發域名
|
||||||
- Speed up resolution of specific domains
|
- 加速特定域名的解析
|
||||||
|
|
||||||
## Time
|
## 時間
|
||||||
|
|
||||||
Configure system timezone and time synchronization.
|
配置系統時區和時間同步。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Select Timezone
|
### 選擇時區
|
||||||
|
|
||||||
Select the server's timezone from the dropdown list, such as `Asia/Shanghai`.
|
從下拉列表中選擇伺服器所在的時區,例如 `Asia/Shanghai`。
|
||||||
|
|
||||||
### Modify Time
|
### 修改時間
|
||||||
|
|
||||||
Manually set the system time.
|
手動設置系統時間。
|
||||||
|
|
||||||
:::warning Note
|
:::warning 注意
|
||||||
After manually changing the time, automatic system time synchronization may still override the settings.
|
手動更改時間後,系統自動時間同步可能仍會覆蓋設置。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
### NTP Server
|
### NTP 伺服器
|
||||||
|
|
||||||
Configure the NTP time synchronization server. Leave empty to use the system default server.
|
配置 NTP 時間同步伺服器。 留空則使用系統預設伺服器。
|
||||||
|
|
||||||
Common NTP servers:
|
常用 NTP 伺服器:
|
||||||
|
|
||||||
- `ntp.aliyun.com` - Alibaba Cloud
|
- `ntp.aliyun.com` - 阿里雲
|
||||||
- `ntp.tencent.com` - Tencent Cloud
|
- `ntp.tencent.com` - 騰訊雲
|
||||||
- `cn.pool.ntp.org` - China NTP Pool
|
- `cn.pool.ntp.org` - 中國 NTP 池
|
||||||
|
|
||||||
### Action Buttons
|
### 操作按鈕
|
||||||
|
|
||||||
- **Configure Default Server**: Restore to using the system default NTP server
|
- **配置預設伺服器**:恢復使用系統預設的 NTP 伺服器
|
||||||
- **Save**: Save timezone and time settings
|
- **保存**:保存時區和時間設置
|
||||||
- **Sync Time**: Immediately synchronize time with the NTP server
|
- **同步時間**:立即與 NTP 伺服器同步時間
|
||||||
|
|||||||
@@ -1,35 +1,35 @@
|
|||||||
# Webhook
|
# Web 鉤子
|
||||||
|
|
||||||
Webhooks allow you to trigger script execution on the server through HTTP requests, enabling automated deployment, CI/CD integration, and other features.
|
Web 鉤子(Webhook)允許你通過 HTTP 請求觸發伺服器上的腳本執行,實現自動化部署、CI/CD 整合等功能。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Create Webhook
|
## 建立 Web 鉤子
|
||||||
|
|
||||||
Click the **Create Webhook** button and fill in the following information:
|
點擊 **建立 Web 鉤子** 按鈕,填寫以下資訊:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
- **Name**: The name of the webhook, used to identify its purpose
|
- **名稱**:Web 鉤子的名稱,用於標識用途
|
||||||
- **User**: The system user that executes the script, default is root
|
- **使用者**:執行腳本的系統使用者,預設為 root
|
||||||
- **Raw Output**: When enabled, returns the raw output of the script; when disabled, returns JSON format
|
- **原始輸出**:開啟後返回腳本的原始輸出,關閉則返回 JSON 格式
|
||||||
- **Script**: The Shell script content to execute
|
- **腳本**:要執行的 Shell 腳本內容
|
||||||
|
|
||||||
## Usage
|
## 使用方式
|
||||||
|
|
||||||
After creation, the system will generate a unique Key. Access the following URL to trigger script execution:
|
建立完成後,系統會產生一個唯一的 Key。 通過存取以下 URL 即可觸發腳本執行:
|
||||||
|
|
||||||
```
|
```
|
||||||
https://your-panel-domain/api/webhook/{key}
|
https://your-panel-domain/api/webhook/{key}
|
||||||
```
|
```
|
||||||
|
|
||||||
Supports both GET and POST requests.
|
支援 GET 和 POST 請求。
|
||||||
|
|
||||||
## Use Cases
|
## 適用場景
|
||||||
|
|
||||||
### Git Auto Deployment
|
### Git 自動部署
|
||||||
|
|
||||||
Combined with GitHub/GitLab Webhook functionality, achieve automatic deployment after code push:
|
配合 GitHub/GitLab 的 Webhook 功能,實現程式碼推送後自動部署:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
@@ -39,42 +39,42 @@ npm install
|
|||||||
npm run build
|
npm run build
|
||||||
```
|
```
|
||||||
|
|
||||||
### Scheduled Task Trigger
|
### 定時任務觸發
|
||||||
|
|
||||||
Trigger specific operations through external services (such as monitoring systems):
|
通過外部服務(如監控系統)觸發特定操作:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Clean temporary files
|
# 清理臨時檔案
|
||||||
rm -rf /tmp/cache/*
|
rm -rf /tmp/cache/*
|
||||||
# Restart service
|
# 重啟服務
|
||||||
systemctl restart myapp
|
systemctl restart myapp
|
||||||
```
|
```
|
||||||
|
|
||||||
### CI/CD Integration
|
### CI/CD 整合
|
||||||
|
|
||||||
Call Webhook in CI/CD pipeline to complete deployment:
|
在 CI/CD 流水線中呼叫 Webhook 完成部署:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# In CI script
|
# 在 CI 腳本中
|
||||||
curl -X POST https://panel.example.com/api/webhook/your-key
|
curl -X POST https://panel.example.com/api/webhook/your-key
|
||||||
```
|
```
|
||||||
|
|
||||||
## List Description
|
## 列表說明
|
||||||
|
|
||||||
| Field | Description |
|
| 欄位 | 說明 |
|
||||||
| ---------- | --------------------------------------------- |
|
| ----- | --------------- |
|
||||||
| Name | Webhook name |
|
| 名稱 | Web 鉤子名稱 |
|
||||||
| Key | Unique identifier, used to build the call URL |
|
| Key | 唯一標識,用於建構呼叫 URL |
|
||||||
| Run User | System user that executes the script |
|
| 執行使用者 | 執行腳本的系統使用者 |
|
||||||
| Raw Output | Whether to return raw text output |
|
| 原始輸出 | 是否返回原始文字輸出 |
|
||||||
| Enabled | Whether the webhook is enabled |
|
| 已啟用 | 是否啟用該 Web 鉤子 |
|
||||||
| Call Count | Cumulative number of calls |
|
| 呼叫次數 | 累計被呼叫的次數 |
|
||||||
| Last Call | Last call time |
|
| 最後呼叫 | 最後一次呼叫時間 |
|
||||||
|
|
||||||
## Notes
|
## 注意事項
|
||||||
|
|
||||||
1. The Key is sensitive information, do not disclose it to untrusted people
|
1. Key 是敏感資訊,不要洩露給不信任的人
|
||||||
2. Scripts are executed as the specified user, pay attention to permission control
|
2. 腳本以指定使用者身份執行,注意權限控制
|
||||||
3. It is recommended to add necessary error handling in scripts
|
3. 建議在腳本中添加必要的錯誤處理
|
||||||
4. You can temporarily disable a webhook using the disable switch
|
4. 可以通過停用開關臨時停用 Web 鉤子
|
||||||
|
|||||||
@@ -1,66 +1,66 @@
|
|||||||
# Website
|
# 網站常見問題
|
||||||
|
|
||||||
The website module is used to manage site configurations on the Web server. AcePanel supports three types of websites: reverse proxy, PHP, and static.
|
網站模組用於管理 Web 伺服器上的站點配置。 AcePanel 支援三種類型的網站:反向代理、PHP 和純靜態。
|
||||||
|
|
||||||
## Prerequisites
|
## 前置要求
|
||||||
|
|
||||||
Before using the website feature, you need to install a Web server first:
|
使用網站功能前,需要先安裝 Web 伺服器:
|
||||||
|
|
||||||
1. Go to **Applications** > **Native Applications**
|
1. 進入 **應用** > **原生應用**
|
||||||
2. Install Nginx, OpenResty, or Apache
|
2. 安裝 Nginx、OpenResty 或 Apache
|
||||||
|
|
||||||
## Website Types
|
## 網站類型
|
||||||
|
|
||||||
| Type | Description | Use Cases |
|
| 類型 | 說明 | 適用場景 |
|
||||||
| -------------------------------- | ------------------------------------ | ---------------------------------------------- |
|
| ----------------------- | ---------- | ----------------------------------- |
|
||||||
| [Reverse Proxy](./website/proxy) | Forward requests to backend services | Node.js, Go, Java applications |
|
| [反向代理](./website/proxy) | 將請求轉發到後端服務 | Node.js、Go、Java 等應用 |
|
||||||
| [PHP](./website/php) | Run PHP programs | WordPress, Laravel, etc. |
|
| [PHP](./website/php) | 運行 PHP 程式 | WordPress、Laravel 等 |
|
||||||
| [Static](./website/static) | Host static files | HTML, Vue/React build outputs |
|
| [純靜態](./website/static) | 託管靜態檔案 | HTML、Vue/React 構建產物 |
|
||||||
|
|
||||||
## Website List
|
## 網站列表
|
||||||
|
|
||||||
The website list displays the following information:
|
網站列表顯示以下資訊:
|
||||||
|
|
||||||
- **Website Name**: Unique identifier for the site
|
- **網站名稱**:站點的唯一標識
|
||||||
- **Running**: Whether the site is enabled
|
- **運行中**:站點是否啟用
|
||||||
- **Directory**: Directory where website files are located
|
- **目錄**:網站檔案所在目錄
|
||||||
- **HTTPS**: Whether HTTPS is enabled
|
- **HTTPS**:是否啟用 HTTPS
|
||||||
- **Certificate Expiry**: SSL certificate expiration time
|
- **證書有效期**:SSL 證書的到期時間
|
||||||
- **Remarks**: Custom remarks
|
- **備註**:自訂備註資訊
|
||||||
- **Actions**: Manage, delete, etc.
|
- **操作**:管理、刪除等
|
||||||
|
|
||||||
## Create Website
|
## 創建網站
|
||||||
|
|
||||||
1. Go to the **Website** page
|
1. 進入 **網站** 頁面
|
||||||
2. Select the website type tab (Reverse Proxy/PHP/Static)
|
2. 選擇網站類型標籤(反向代理/PHP/純靜態)
|
||||||
3. Click **Create Website**
|
3. 點擊 **創建網站**
|
||||||
4. Fill in the website information
|
4. 填寫網站資訊
|
||||||
5. Click Create
|
5. 點擊創建
|
||||||
|
|
||||||
### Common Configuration Items
|
### 通用配置項
|
||||||
|
|
||||||
- **Name**: Unique identifier for the website, English only, cannot be changed after creation
|
- **名稱**:網站的唯一標識,只能使用英文,創建後不可修改
|
||||||
- **Domain**: Bound domain names, multiple can be added
|
- **域名**:綑綁的域名,可添加多個
|
||||||
- **Port**: Listening port, default 80
|
- **連接埠**:監聽的連接埠,預設 80
|
||||||
- **Remarks**: Optional remarks
|
- **備註**:可選的備註資訊
|
||||||
|
|
||||||
## Website Management
|
## 網站管理
|
||||||
|
|
||||||
Click the **Manage** button of a website to enter the management page, where you can perform the following operations:
|
點擊網站的 **管理** 按鈕進入管理頁面,可以進行以下操作:
|
||||||
|
|
||||||
- Modify domains and ports
|
- 修改域名和連接埠
|
||||||
- Configure SSL certificates
|
- SSL 證書申請失敗
|
||||||
- Set rewrite rules
|
- 設定偽靜態規則
|
||||||
- Configure hotlink protection
|
- 配置防盜鏈
|
||||||
- View access logs
|
- 查看訪問日誌
|
||||||
- Modify Nginx configuration
|
- 查看 Nginx 錯誤日誌
|
||||||
|
|
||||||
## Batch Creation
|
## 批量創建
|
||||||
|
|
||||||
Click **Batch Create Websites** to create multiple websites at once, suitable for scenarios requiring rapid deployment of multiple sites.
|
點擊 **批量創建網站** 可以一次創建多個網站,適合需要快速部署多個站點的場景。
|
||||||
|
|
||||||
## Next Steps
|
## 下一步
|
||||||
|
|
||||||
- [Reverse Proxy](./website/proxy) - Learn how to create reverse proxy websites
|
- [反向代理](./website/proxy) - 了解如何創建反向代理網站
|
||||||
- [PHP Website](./website/php) - Learn how to create PHP websites
|
- [PHP 網站](./website/php) - 了解如何創建 PHP 網站
|
||||||
- [Static Website](./website/static) - Learn how to create static websites
|
- [純靜態網站](./website/static) - 了解如何創建靜態網站
|
||||||
|
|||||||
@@ -1,123 +1,123 @@
|
|||||||
# PHP Website
|
# PHP 網站
|
||||||
|
|
||||||
PHP websites are used to run PHP programs, such as WordPress, Laravel, ThinkPHP, etc.
|
PHP 網站用於運行 PHP 程式,如 WordPress、Laravel、ThinkPHP 等。
|
||||||
|
|
||||||
## Prerequisites
|
## 前置要求
|
||||||
|
|
||||||
Before creating a PHP website, you need to install:
|
建立 PHP 網站前,需要先安裝:
|
||||||
|
|
||||||
1. **Web Server**: Nginx, OpenResty, or Apache
|
1. **Web 伺服器**:Nginx、OpenResty 或 Apache
|
||||||
2. **PHP Runtime Environment**: Install the required PHP version in **Applications** > **Runtime Environments**
|
2. **PHP 運行環境**:在 **應用** > **運行環境** 中安裝所需的 PHP 版本
|
||||||
|
|
||||||
## Create PHP Website
|
## 建立 PHP 網站
|
||||||
|
|
||||||
1. Go to the **Website** page
|
1. 進入 **網站** 頁面
|
||||||
2. Click the **PHP** tab
|
2. 點擊 **PHP** 標籤
|
||||||
3. Click **Create Website**
|
3. 點擊 **建立網站**
|
||||||
|
|
||||||
### Configuration Items
|
### 配置項
|
||||||
|
|
||||||
- **Name**: Website identifier, e.g., `wordpress`
|
- **名稱**:網站標識,如 `wordpress`
|
||||||
- **Domain**: Bound domain, e.g., `blog.example.com`
|
- **域名**:綁定的域名,如 `blog.example.com`
|
||||||
- **Port**: Listening port, default 80
|
- **連接埠**:監聽連接埠,預設 80
|
||||||
- **PHP Version**: Select an installed PHP version
|
- **PHP 版本**:選擇已安裝的 PHP 版本
|
||||||
- **Website Directory**: Path where website files are stored
|
- **網站目錄**:網站檔案存放路徑
|
||||||
- **Remarks**: Optional remarks
|
- **備註**:可選備註
|
||||||
|
|
||||||
## Edit PHP Website
|
## 編輯 PHP 網站
|
||||||
|
|
||||||
Click the **Edit** button in the website list to enter the edit page.
|
點擊網站列表中的 **編輯** 按鈕進入編輯頁面。
|
||||||
|
|
||||||
### Domain and Listen
|
### 域名和監聽
|
||||||
|
|
||||||
Configure the website's domain and listening port.
|
配置網站的域名和監聽連接埠。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Basic Settings
|
### 基本設置
|
||||||
|
|
||||||
Configure basic information such as website directory and PHP version.
|
配置網站目錄、PHP 版本等基本資訊。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
- **Website Directory**: Absolute path where website files are stored
|
- **網站目錄**:網站檔案存放的絕對路徑
|
||||||
- **Run Directory**: Frameworks like Laravel need to set the run directory
|
- **運行目錄**:Laravel 等框架需要設置運行目錄
|
||||||
- **Default Document**: Default homepage file, e.g., `index.php`, `index.html`
|
- **預設文件**:預設首頁檔案,如 `index.php`、`index.html`
|
||||||
- **PHP Version**: Select an installed PHP version
|
- **PHP 版本**:選擇已安裝的 PHP 版本
|
||||||
- **Anti-Cross-Site Attack**: When enabled, restricts PHP to only access files within the website directory
|
- **防跨站攻擊**:啟用後限制 PHP 只能存取網站目錄內的檔案
|
||||||
|
|
||||||
### Rewrite Configuration
|
### 重寫配置
|
||||||
|
|
||||||
Rewrite is used for URL rewriting, supporting preset rules for common PHP programs.
|
重寫用於 URL 重寫,支援常見 PHP 程式的預設規則。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Click the preset dropdown to select rewrite rules for common programs:
|
點擊預設下拉框可以選擇常見程式的重寫規則:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Supported presets include: WordPress, Laravel, ThinkPHP, Discuz, Drupal, ECShop, and other common PHP programs.
|
支援的預設包括:WordPress、Laravel、ThinkPHP、Discuz、Drupal、ECShop 等常見 PHP 程式。
|
||||||
|
|
||||||
## Website Directory Structure
|
## 網站目錄結構
|
||||||
|
|
||||||
After creating a website, the default directory structure:
|
建立網站後,預設目錄結構:
|
||||||
|
|
||||||
```
|
```
|
||||||
/opt/ace/sites/website-name/public
|
/opt/ace/sites/網站名稱/public
|
||||||
├── index.php # Entry file
|
├── index.php # 入口檔案
|
||||||
├── .user.ini # PHP configuration
|
├── .user.ini # PHP 配置
|
||||||
└── ...
|
└── ...
|
||||||
```
|
```
|
||||||
|
|
||||||
## PHP Version Switching
|
## PHP 版本切換
|
||||||
|
|
||||||
You can switch PHP versions in the **Basic Settings** of the website edit page:
|
在網站編輯頁面的 **基本設置** 中可以切換 PHP 版本:
|
||||||
|
|
||||||
1. Enter the website edit page
|
1. 進入網站編輯頁面
|
||||||
2. Click the **Basic Settings** tab
|
2. 點擊 **基本設置** 標籤
|
||||||
3. Select a new version in the **PHP Version** dropdown
|
3. 在 **PHP 版本** 下拉框中選擇新版本
|
||||||
4. Click **Save**
|
4. 點擊 **儲存**
|
||||||
|
|
||||||
:::warning Note
|
:::warning 注意
|
||||||
Switching PHP versions may cause program incompatibility. Please verify in a test environment first.
|
切換 PHP 版本可能導致程式不相容, 請先在測試環境驗證。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## PHP Configuration
|
## PHP 配置
|
||||||
|
|
||||||
### php.ini Configuration
|
### php.ini 配置
|
||||||
|
|
||||||
You can modify php.ini configuration in the **Applications** > **Native Applications** > **PHP** management page.
|
在 **應用** > **原生應用** > **PHP** 管理頁面可以修改 php.ini 配置。
|
||||||
|
|
||||||
Common configuration items:
|
常用配置項:
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
upload_max_filesize = 50M # Maximum upload file size
|
upload_max_filesize = 50M # 最大上傳檔案大小
|
||||||
post_max_size = 50M # Maximum POST data size
|
post_max_size = 50M # POST 資料最大大小
|
||||||
max_execution_time = 300 # Maximum execution time
|
max_execution_time = 300 # 最大執行時間
|
||||||
memory_limit = 256M # Memory limit
|
memory_limit = 256M # 記憶體限制
|
||||||
```
|
```
|
||||||
|
|
||||||
### Disabled Functions
|
### 禁用函數
|
||||||
|
|
||||||
PHP disables some dangerous functions by default, such as `exec`, `system`, `passthru`, etc. To enable them, modify the `disable_functions` configuration in php.ini.
|
PHP 預設禁用了一些危險函數,如 `exec`、`system`、`passthru` 等。 如需啟用,請在 php.ini 中修改 `disable_functions` 配置。
|
||||||
|
|
||||||
:::danger Warning
|
:::danger 警告
|
||||||
Enabling dangerous functions may pose security risks. Please proceed with caution.
|
啟用危險函數可能帶來安全風險, 請謹慎操作。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## FAQ
|
## 常見問題
|
||||||
|
|
||||||
### 502 Bad Gateway
|
### 502 Bad Gateway
|
||||||
|
|
||||||
- Check if PHP-FPM is running normally
|
- 檢查 PHP-FPM 是否正常運行
|
||||||
- Check if the PHP version is correctly configured
|
- 檢查 PHP 版本是否正確配置
|
||||||
|
|
||||||
### File Upload Failed
|
### 檔案上傳失敗
|
||||||
|
|
||||||
- Check `upload_max_filesize` and `post_max_size` configuration
|
- 檢查 `upload_max_filesize` 和 `post_max_size` 配置
|
||||||
- Check directory permissions
|
- 檢查目錄權限
|
||||||
|
|
||||||
### Blank Page
|
### 頁面空白
|
||||||
|
|
||||||
- Enable PHP error display
|
- 開啟 PHP 錯誤顯示
|
||||||
- Check PHP error logs
|
- 查看 PHP 錯誤日誌
|
||||||
|
|||||||
@@ -1,124 +1,124 @@
|
|||||||
# Reverse Proxy
|
# 反向代理
|
||||||
|
|
||||||
Reverse proxy websites are used to forward external requests to backend services, commonly used for deploying Node.js, Go, Java, Python, and other applications.
|
反向代理網站用於將外部請求轉發到後端服務,常用於部署 Node.js、Go、Java、Python 等應用。
|
||||||
|
|
||||||
## How It Works
|
## 工作原理
|
||||||
|
|
||||||
```
|
```
|
||||||
User Request -> Nginx (Reverse Proxy) -> Backend Application (e.g., localhost:3000)
|
用戶請求 -> Nginx (反向代理) -> 後端應用 (如 localhost:3000)
|
||||||
```
|
```
|
||||||
|
|
||||||
Nginx receives HTTP/HTTPS requests from users and forwards them to the specified backend address.
|
Nginx 接收用戶的 HTTP/HTTPS 請求,然後將請求轉發到指定的後端地址。
|
||||||
|
|
||||||
## Create Reverse Proxy Website
|
## 創建反向代理網站
|
||||||
|
|
||||||
1. Go to the **Website** page
|
1. 進入 **網站** 頁面
|
||||||
2. Make sure the **Reverse Proxy** tab is selected
|
2. 確保選中 **反向代理** 標籤
|
||||||
3. Click **Create Website**
|
3. 點擊 **創建網站**
|
||||||
|
|
||||||
### Configuration Items
|
### 配置項
|
||||||
|
|
||||||
- **Name**: Website identifier, e.g., `myapp`
|
- **名稱**:網站標識,如 `myapp`
|
||||||
- **Domain**: Bound domain, e.g., `app.example.com`
|
- **域名**:綁定的域名,如 `app.example.com`
|
||||||
- **Port**: Listening port, default 80
|
- **端口**:監聽端口,默認 80
|
||||||
- **Proxy Target**: Backend service address, e.g., `http://127.0.0.1:3000`
|
- **代理目標**:後端服務地址,如 `http://127.0.0.1:3000`
|
||||||
- **Remarks**: Optional remarks
|
- **備註**:可選備註
|
||||||
|
|
||||||
### Proxy Target Format
|
### 代理目標格式
|
||||||
|
|
||||||
```
|
```
|
||||||
http://127.0.0.1:3000 # Local service
|
http://127.0.0.1:3000 # 本地服務
|
||||||
http://localhost:8080 # Local service
|
http://localhost:8080 # 本地服務
|
||||||
http://172.18.0.2:80 # Docker container
|
http://172.18.0.2:80 # Docker 容器
|
||||||
https://backend.internal # Internal HTTPS service
|
https://backend.internal # 內部 HTTPS 服務
|
||||||
```
|
```
|
||||||
|
|
||||||
## Edit Reverse Proxy Website
|
## 編輯反向代理網站
|
||||||
|
|
||||||
Click the **Edit** button in the website list to enter the edit page.
|
點擊網站列表中的 **編輯** 按鈕進入編輯頁面。
|
||||||
|
|
||||||
### Domain and Listen
|
### 域名和監聽
|
||||||
|
|
||||||
Configure the website's domain and listening port, supporting multiple domains and ports.
|
配置網站的域名和監聽端口,支持添加多個域名和端口。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
- **Domain**: Multiple domains can be added
|
- **域名**:可添加多個域名
|
||||||
- **Listen Address**: Multiple ports can be configured, supporting HTTPS and QUIC(HTTP3)
|
- **監聽地址**:可配置多個端口,支持 HTTPS 和 QUIC(HTTP3)
|
||||||
|
|
||||||
### Upstream Configuration
|
### 上游配置
|
||||||
|
|
||||||
Upstream defines backend server addresses, supporting multiple backends for load balancing.
|
上游(Upstream)定義了後端伺服器地址,支持配置多個後端實現負載均衡。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
- **Upstream Name**: Identifier name for the upstream
|
- **上游名稱**:上游的標識名稱
|
||||||
- **Load Balancing Algorithm**: Supports round-robin (default), IP Hash, and other algorithms
|
- **負載均衡算法**:支持輪詢(默認)、IP Hash 等算法
|
||||||
- **Keep-Alive Connections**: Number of persistent connections to maintain with the backend
|
- **保持活動連接**:與後端保持的長連接數量
|
||||||
- **DNS Resolver**: Custom DNS resolver
|
- **DNS 解析器**:自定義 DNS 解析器
|
||||||
|
|
||||||
Click the **Add Server** button to add backend servers:
|
點擊 **添加伺服器** 按鈕可以添加後端伺服器:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
- **Server Address**: Backend server address, e.g., `127.0.0.1:8080`
|
- **伺服器地址**:後端伺服器地址,如 `127.0.0.1:8080`
|
||||||
- **Options**: Optional parameters, e.g., `weight=5` (weight), `backup` (backup server), etc.
|
- **選項**:可選參數,如 `weight=5`(權重)、`backup`(備用伺服器)等
|
||||||
|
|
||||||
### Proxy Configuration
|
### 代理配置
|
||||||
|
|
||||||
Configure proxy behavior and request header forwarding.
|
配置代理行為和請求頭傳遞。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
- **Match Type**: Match type, such as prefix match, regex match, etc.
|
- **匹配類型**:匹配類型,如前綴匹配、正則匹配等
|
||||||
- **Match Expression**: URL expression to match
|
- **匹配表達式**:匹配的 URL 表達式
|
||||||
- **Proxy Target**: Enter upstream name or directly enter backend address
|
- **代理目標**:填寫上游名稱或直接填寫後端地址
|
||||||
- **Enable Cache**: Whether to enable proxy cache
|
- **啟用緩存**:是否啟用代理緩存
|
||||||
- **Enable Buffer**: Whether to enable buffer, AI applications are recommended to disable otherwise it may affect streaming output
|
- **啟用緩衝區**:是否啟用緩衝區,AI 應用建議關閉否則可能影響流式輸出
|
||||||
- **Proxy SNI**: Whether to enable SNI (only valid for HTTPS proxy)
|
- **代理 SNI**:是否啟用 SNI(僅 HTTPS 代理有效)
|
||||||
- **Custom Request Headers**: Add or modify request headers passed to the backend
|
- **自定義請求頭**:添加或修改傳遞給後端的請求頭
|
||||||
- **Response Content Replacement**: Can replace strings in response content
|
- **響應內容替換**:可替換響應內容中的字符串
|
||||||
|
|
||||||
## Use Cases
|
## 使用場景
|
||||||
|
|
||||||
### Node.js Application
|
### Node.js 應用
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Start Node.js application
|
# 啟動 Node.js 應用
|
||||||
node app.js # Listening on port 3000
|
node app.js # 監聽 3000 端口
|
||||||
```
|
```
|
||||||
|
|
||||||
Proxy Target: `http://127.0.0.1:3000`
|
代理目標:`http://127.0.0.1:3000`
|
||||||
|
|
||||||
### Docker Container
|
### Docker 容器
|
||||||
|
|
||||||
If the backend is a Docker container, you can use the container's IP address or container name (within the same network).
|
如果後端是 Docker 容器,可以使用容器的 IP 地址或容器名稱(同一網絡內)。
|
||||||
|
|
||||||
Proxy Target: `http://container-name:port` or `http://container-IP:port`
|
代理目標:`http://容器名:端口` 或 `http://容器IP:端口`
|
||||||
|
|
||||||
### Multiple Backends (Load Balancing)
|
### 多個後端(負載均衡)
|
||||||
|
|
||||||
Add multiple backend addresses in the upstream configuration to achieve load balancing.
|
在上游配置中添加多個後端地址,實現負載均衡。
|
||||||
|
|
||||||
Proxy Target: `http://upstream-name`
|
代理目標:`http://上游名稱`
|
||||||
|
|
||||||
## Common Configurations
|
## 常見配置
|
||||||
|
|
||||||
### WebSocket Support
|
### WebSocket 支持
|
||||||
|
|
||||||
Reverse proxy supports WebSocket by default, no additional configuration needed.
|
反向代理默認支持 WebSocket,無需額外配置。
|
||||||
|
|
||||||
### Forwarding Real IP
|
### 傳遞真實 IP
|
||||||
|
|
||||||
AcePanel automatically configures the following request headers to pass the user's real IP to the backend:
|
AcePanel 會自動配置以下請求頭,將用戶真實 IP 傳遞給後端:
|
||||||
|
|
||||||
- `X-Real-IP`
|
- `X-Real-IP`
|
||||||
- `X-Forwarded-For`
|
- `X-Forwarded-For`
|
||||||
- `X-Forwarded-Proto`
|
- `X-Forwarded-Proto`
|
||||||
|
|
||||||
### Custom Configuration
|
### 自定義配置
|
||||||
|
|
||||||
You can edit Nginx configuration in the website management page to add custom configurations:
|
在網站管理頁面可以編輯 Nginx 配置,添加自定義配置:
|
||||||
|
|
||||||
```nginx
|
```nginx
|
||||||
proxy_connect_timeout 60s;
|
proxy_connect_timeout 60s;
|
||||||
@@ -128,8 +128,8 @@ proxy_buffer_size 64k;
|
|||||||
proxy_buffers 4 64k;
|
proxy_buffers 4 64k;
|
||||||
```
|
```
|
||||||
|
|
||||||
## Notes
|
## 注意事項
|
||||||
|
|
||||||
1. Ensure the backend service is started and listening on the specified port
|
1. 確保後端服務已啟動並監聽指定端口
|
||||||
2. If the backend is a Docker container, ensure the port is correctly mapped or use Docker network
|
2. 如果後端是 Docker 容器,確保端口已正確映射或使用 Docker 網絡
|
||||||
3. When the backend service crashes, Nginx will return a 502 error
|
3. 後端服務崩潰時,Nginx 會返回 502 錯誤
|
||||||
|
|||||||
@@ -1,83 +1,83 @@
|
|||||||
# Static Website
|
# 純靜態網站
|
||||||
|
|
||||||
Static websites are used to host HTML, CSS, JavaScript, and other static files, suitable for deploying frontend project build outputs, documentation sites, etc.
|
純靜態網站用於託管 HTML、CSS、JavaScript 等靜態文件,適合部署前端項目構建產物、文檔站點等。
|
||||||
|
|
||||||
## Create Static Website
|
## 創建靜態網站
|
||||||
|
|
||||||
1. Go to the **Website** page
|
1. 進入 **網站** 頁面
|
||||||
2. Click the **Static** tab
|
2. 點擊 **純靜態** 標籤
|
||||||
3. Click **Create Website**
|
3. 點擊 **創建網站**
|
||||||
|
|
||||||
### Configuration Items
|
### 配置項
|
||||||
|
|
||||||
- **Name**: Website identifier, e.g., `docs`
|
- **名稱**:網站標識,如 `docs`
|
||||||
- **Domain**: Bound domain, e.g., `docs.example.com`
|
- **域名**:綁定的域名,如 `docs.example.com`
|
||||||
- **Port**: Listening port, default 80
|
- **端口**:監聽端口,默認 80
|
||||||
- **Website Directory**: Path where static files are stored
|
- **網站目錄**:靜態文件存放路徑
|
||||||
- **Remarks**: Optional remarks
|
- **備註**:可選備註
|
||||||
|
|
||||||
## Edit Static Website
|
## 編輯靜態網站
|
||||||
|
|
||||||
Click the **Edit** button in the website list to enter the edit page.
|
點擊網站列表中的 **編輯** 按鈕進入編輯頁面。
|
||||||
|
|
||||||
### Domain and Listen
|
### 域名和監聽
|
||||||
|
|
||||||
Configure the website's domain and listening port.
|
配置網站的域名和監聽端口。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Advanced Settings
|
### 進階設定
|
||||||
|
|
||||||
Configure advanced options such as website logs and default documents.
|
配置網站日誌、默認文檔等進階選項。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
- **Website Directory**: Absolute path where static files are stored
|
- **網站目錄**:靜態文件存放的絕對路徑
|
||||||
- **Default Document**: Default homepage file, e.g., `index.html`
|
- **默認文檔**:默認首頁文件,如 `index.html`
|
||||||
|
|
||||||
### Custom Configuration (Rewrite)
|
### 自定義配置(偽靜態)
|
||||||
|
|
||||||
In the **Custom Configuration** tab, you can add Nginx configuration for URL rewriting and other functions.
|
在 **自定義配置** 標籤中可以添加 Nginx 配置,用於 URL 重寫等功能。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Click the **Add Custom Configuration** button to add configuration:
|
點擊 **添加自定義配置** 按鈕可以添加配置:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
- **Name**: Configuration name, supports letters, numbers, underscores, and dashes
|
- **名稱**:配置名稱,支持字母、數字、下劃線、破折號
|
||||||
- **Scope**: Configuration scope, can choose "This Website" or "Global"
|
- **範圍**:配置生效範圍,可選擇「此網站」或「全局」
|
||||||
- **Content**: Nginx configuration content, such as `location` blocks
|
- **內容**:Nginx 配置內容,如 `location` 塊
|
||||||
|
|
||||||
## Use Cases
|
## 適用場景
|
||||||
|
|
||||||
### Frontend Projects
|
### 前端項目
|
||||||
|
|
||||||
Build outputs from Vue, React, Angular, and other frontend frameworks:
|
Vue、React、Angular 等前端框架的構建產物:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Vue project
|
# Vue 項目
|
||||||
npm run build
|
npm run build
|
||||||
# Upload dist directory contents to website directory
|
# 將 dist 目錄內容上傳到網站目錄
|
||||||
|
|
||||||
# React project
|
# React 項目
|
||||||
npm run build
|
npm run build
|
||||||
# Upload build directory contents to website directory
|
# 將 build 目錄內容上傳到網站目錄
|
||||||
```
|
```
|
||||||
|
|
||||||
### Documentation Sites
|
### 文檔站點
|
||||||
|
|
||||||
Static site generators like VitePress, Docusaurus, Hugo:
|
VitePress、Docusaurus、Hugo 等靜態站點生成器:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# VitePress
|
# VitePress
|
||||||
npm run docs:build
|
npm run docs:build
|
||||||
# Upload .vitepress/dist directory contents to website directory
|
# 將 .vitepress/dist 目錄內容上傳到網站目錄
|
||||||
```
|
```
|
||||||
|
|
||||||
### Single Page Application (SPA)
|
### 單頁應用(SPA)
|
||||||
|
|
||||||
Single page applications need to configure rewrite rules to point all routes to index.html. Add in **Custom Configuration**:
|
單頁應用需要配置偽靜態規則,將所有路由指向 index.html。 在 **自定義配置** 中添加:
|
||||||
|
|
||||||
```nginx
|
```nginx
|
||||||
location / {
|
location / {
|
||||||
@@ -85,35 +85,35 @@ location / {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Directory Structure
|
## 目錄結構
|
||||||
|
|
||||||
Typical static website directory structure:
|
典型的靜態網站目錄結構:
|
||||||
|
|
||||||
```
|
```
|
||||||
/opt/ace/sites/website-name/public
|
/opt/ace/sites/網站名稱/public
|
||||||
├── index.html # Homepage
|
├── index.html # 首頁
|
||||||
├── assets/ # Static resources
|
├── assets/ # 靜態資源
|
||||||
│ ├── css/
|
│ ├── css/
|
||||||
│ ├── js/
|
│ ├── js/
|
||||||
│ └── images/
|
│ └── images/
|
||||||
├── favicon.ico # Website icon
|
├── favicon.ico # 網站圖標
|
||||||
└── ...
|
└── ...
|
||||||
```
|
```
|
||||||
|
|
||||||
## FAQ
|
## 常見問題
|
||||||
|
|
||||||
### 404 Error
|
### 404 錯誤
|
||||||
|
|
||||||
- Check if the file exists in the website directory
|
- 檢查文件是否存在於網站目錄
|
||||||
- Check filename case sensitivity (Linux is case-sensitive)
|
- 檢查文件名大小寫(Linux 區分大小寫)
|
||||||
- Single page applications need to configure rewrite rules
|
- 單頁應用需要配置偽靜態規則
|
||||||
|
|
||||||
### Resource Loading Failed
|
### 資源加載失敗
|
||||||
|
|
||||||
- Check if the resource path is correct
|
- 檢查資源路徑是否正確
|
||||||
- Check if absolute paths are used
|
- 檢查是否使用了絕對路徑
|
||||||
- Check CORS configuration
|
- 檢查 CORS 配置
|
||||||
|
|
||||||
### Chinese Filename Garbled
|
### 中文文件名亂碼
|
||||||
|
|
||||||
- Ensure files use UTF-8 encoding
|
- 確保文件使用 UTF-8 編碼
|
||||||
|
|||||||
@@ -56,8 +56,7 @@ next: false
|
|||||||
border: 2px solid var(--vp-c-brand);
|
border: 2px solid var(--vp-c-brand);
|
||||||
}
|
}
|
||||||
|
|
||||||
.cert-card.featured::before {
|
.cert-badge {
|
||||||
content: "Recommended";
|
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -12px;
|
top: -12px;
|
||||||
right: 24px;
|
right: 24px;
|
||||||
@@ -272,85 +271,85 @@ next: false
|
|||||||
</style>
|
</style>
|
||||||
|
|
||||||
<div class="cert-hero">
|
<div class="cert-hero">
|
||||||
<h1>SSL Certificate Service</h1>
|
<h1>SSL 憑證服務</h1>
|
||||||
<p>Free certificates are only valid for 3 months and require frequent renewal. Paid certificates are valid for one year, saving you time and effort</p>
|
<p>免費憑證有效期僅 3 個月且需要頻繁續簽, 付費憑證有效期一年,省心省力</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="cert-cards">
|
<div class="cert-cards">
|
||||||
<div class="cert-card">
|
<div class="cert-card">
|
||||||
<div class="cert-card-icon">🔒</div>
|
<div class="cert-card-icon">🔒</div>
|
||||||
<h3>DV Single Domain Certificate</h3>
|
<h3>DV 單域名憑證</h3>
|
||||||
<div class="cert-card-desc">Suitable for a single website</div>
|
<div class="cert-card-desc">適合單個網站使用</div>
|
||||||
<div class="cert-price"><span class="cert-price-value">¥1X</span>
|
<div class="cert-price"><span class="cert-price-value">¥1X</span>
|
||||||
<span class="cert-price-unit"> / year</span>
|
<span class="cert-price-unit"> / 年</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="cert-features">
|
<div class="cert-features">
|
||||||
<div class="cert-feature"><span class="cert-feature-check">✓</span>
|
<div class="cert-feature"><span class="cert-feature-check">✓</span>
|
||||||
<span>Domain Validation (DV) Certificate</span>
|
<span>域名驗證 (DV) 憑證</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="cert-feature"><span class="cert-feature-check">✓</span>
|
<div class="cert-feature"><span class="cert-feature-check">✓</span>
|
||||||
<span>Protects a single domain</span>
|
<span>保護單個域名</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="cert-feature"><span class="cert-feature-check">✓</span>
|
<div class="cert-feature"><span class="cert-feature-check">✓</span>
|
||||||
<span>One year validity</span>
|
<span>一年有效期</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="cert-feature"><span class="cert-feature-check">✓</span>
|
<div class="cert-feature"><span class="cert-feature-check">✓</span>
|
||||||
<span>Internationally recognized brand</span>
|
<span>國際認可品牌</span>
|
||||||
</div>
|
</div>
|
||||||
</div><a href="https://jq.qq.com/?_wv=1027&k=I1oJKSTH" target="_blank" class="cert-btn cert-btn-secondary">Contact to Purchase</a>
|
</div><a href="https://jq.qq.com/?_wv=1027&k=I1oJKSTH" target="_blank" class="cert-btn cert-btn-secondary">聯繫購買</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="cert-card featured">
|
<div class="cert-card featured"><span class="cert-badge">推薦</span>
|
||||||
<div class="cert-card-icon">🛡️</div>
|
<div class="cert-card-icon">🛡️</div>
|
||||||
<h3>DV Wildcard Certificate</h3>
|
<h3>DV 泛域名憑證</h3>
|
||||||
<div class="cert-card-desc">One certificate protects all subdomains</div>
|
<div class="cert-card-desc">一張憑證保護所有子域名</div>
|
||||||
<div class="cert-price"><span class="cert-price-value">¥1XX</span>
|
<div class="cert-price"><span class="cert-price-value">¥1XX</span>
|
||||||
<span class="cert-price-unit"> / year</span>
|
<span class="cert-price-unit"> / 年</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="cert-features">
|
<div class="cert-features">
|
||||||
<div class="cert-feature"><span class="cert-feature-check">✓</span>
|
<div class="cert-feature"><span class="cert-feature-check">✓</span>
|
||||||
<span>Domain Validation (DV) Certificate</span>
|
<span>域名驗證 (DV) 憑證</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="cert-feature"><span class="cert-feature-check">✓</span>
|
<div class="cert-feature"><span class="cert-feature-check">✓</span>
|
||||||
<span>Protects all subdomains (*.domain.com)</span>
|
<span>保護所有子域名 (*.domain.com)</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="cert-feature"><span class="cert-feature-check">✓</span>
|
<div class="cert-feature"><span class="cert-feature-check">✓</span>
|
||||||
<span>One year validity</span>
|
<span>一年有效期</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="cert-feature"><span class="cert-feature-check">✓</span>
|
<div class="cert-feature"><span class="cert-feature-check">✓</span>
|
||||||
<span>Internationally recognized brand</span>
|
<span>國際認可品牌</span>
|
||||||
</div>
|
</div>
|
||||||
</div><a href="https://jq.qq.com/?_wv=1027&k=I1oJKSTH" target="_blank" class="cert-btn cert-btn-primary">Contact to Purchase</a>
|
</div><a href="https://jq.qq.com/?_wv=1027&k=I1oJKSTH" target="_blank" class="cert-btn cert-btn-primary">聯繫購買</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="cert-why">
|
<div class="cert-why">
|
||||||
<h2>Why Choose Paid Certificates</h2>
|
<h2>為什麼選擇付費憑證</h2>
|
||||||
<div class="cert-why-grid">
|
<div class="cert-why-grid">
|
||||||
<div class="cert-why-item">
|
<div class="cert-why-item">
|
||||||
<div class="cert-why-icon shield">🔐</div>
|
<div class="cert-why-icon shield">🔐</div>
|
||||||
<h4>Longer Validity</h4>
|
<h4>更長有效期</h4>
|
||||||
<p>One year validity, no frequent renewal needed</p>
|
<p>一年有效期,無需頻繁續簽</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="cert-why-item">
|
<div class="cert-why-item">
|
||||||
<div class="cert-why-icon bolt">⚡</div>
|
<div class="cert-why-icon bolt">⚡</div>
|
||||||
<h4>Fast Issuance</h4>
|
<h4>快速簽發</h4>
|
||||||
<p>Quick issuance after payment</p>
|
<p>付款後快速完成簽發</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="cert-why-item">
|
<div class="cert-why-item">
|
||||||
<div class="cert-why-icon globe">🌐</div>
|
<div class="cert-why-icon globe">🌐</div>
|
||||||
<h4>International Brand</h4>
|
<h4>國際品牌</h4>
|
||||||
<p>Trusted by browsers worldwide</p>
|
<p>全球瀏覽器信任</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="cert-why-item">
|
<div class="cert-why-item">
|
||||||
<div class="cert-why-icon support">💬</div>
|
<div class="cert-why-icon support">💬</div>
|
||||||
<h4>Professional Support</h4>
|
<h4>專業支援</h4>
|
||||||
<p>Consult anytime when you have questions</p>
|
<p>遇到問題隨時諮詢</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="cert-contact">
|
<div class="cert-contact">
|
||||||
<h3>Need Help?</h3>
|
<h3>需要幫助?</h3>
|
||||||
<p>If you have any questions, feel free to join our QQ group for consultation</p><a href="https://jq.qq.com/?_wv=1027&k=I1oJKSTH" target="_blank" class="cert-contact-btn">Join QQ Group 12370907</a>
|
<p>如有任何問題,歡迎加入 QQ 群諮詢</p><a href="https://jq.qq.com/?_wv=1027&k=I1oJKSTH" target="_blank" class="cert-contact-btn">加入 QQ 群 12370907</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,73 +1,73 @@
|
|||||||
# Application FAQ
|
# 應用常見問題
|
||||||
|
|
||||||
## PHP Module Installation
|
## PHP 模組安裝
|
||||||
|
|
||||||
**Apps** -> **Runtimes** -> **PHP** -> **Manage** -> **Modules**, install the required modules.
|
「應用」->「運行環境」->「PHP」->「管理」->「模組」,安裝需要的模組。
|
||||||
|
|
||||||
Some modules require compilation and take longer to install. You can check the progress on the **Tasks** page.
|
部分模組需要編譯安裝,耗時較長, 可在「任務」頁面查看進度。
|
||||||
|
|
||||||
## PHP Functions Disabled
|
## PHP 函數被禁用
|
||||||
|
|
||||||
Some high-risk functions are disabled by default. To enable them:
|
預設禁用了部分高危函數。 如需啟用:
|
||||||
|
|
||||||
**Apps** -> **Runtimes** -> **PHP** -> **Manage** -> **Configuration**
|
「應用」->「運行環境」->「PHP」->「管理」->「配置」
|
||||||
|
|
||||||
Find `disable_functions` and remove the function names you want to enable.
|
找到 `disable_functions`,刪除需要啟用的函數名。
|
||||||
|
|
||||||
:::warning Security Warning
|
:::warning 安全提示
|
||||||
Functions like `exec`, `shell_exec`, `system` have security risks. Please confirm necessity before enabling.
|
`exec`、`shell_exec`、`system` 等函數有安全風險, 啟用前需確認必要性。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Nginx Configuration Error
|
## Nginx 配置錯誤
|
||||||
|
|
||||||
If Nginx fails to start after modifying configuration, check the error:
|
修改配置後 Nginx 無法啟動,查看錯誤:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
nginx -t
|
nginx -t
|
||||||
```
|
```
|
||||||
|
|
||||||
After fixing the configuration, restart:
|
修復配置後重啟:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
systemctl restart nginx
|
systemctl restart nginx
|
||||||
```
|
```
|
||||||
|
|
||||||
## Supervisor Startup Error
|
## Supervisor 啟動報錯
|
||||||
|
|
||||||
### EACCES Permission Error
|
### EACCES 權限錯誤
|
||||||
|
|
||||||
Project directory permission issue, ensure the directory owner is www:
|
專案目錄權限問題,確保目錄所有者為 www:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
chown -R www:www /opt/ace/projects/project-name
|
chown -R www:www /opt/ace/projects/專案名
|
||||||
```
|
```
|
||||||
|
|
||||||
### Cannot Find node/npm
|
### 找不到 node/npm
|
||||||
|
|
||||||
Node.js installed via nvm is not in the default PATH.
|
通過 nvm 安裝的 Node.js 不在預設 PATH 中。
|
||||||
|
|
||||||
**Apps** -> **Supervisor Manager** -> **Manage** -> **Configuration**, add:
|
「應用」->「Supervisor 管理器」->「管理」->「配置」,添加:
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
environment=PATH="/root/.nvm/versions/node/v24.0.0/bin:/usr/local/bin:/usr/bin:/bin"
|
environment=PATH="/root/.nvm/versions/node/v24.0.0/bin:/usr/local/bin:/usr/bin:/bin"
|
||||||
```
|
```
|
||||||
|
|
||||||
Replace the version number with the actual installed version. You can check the path with `whereis node`.
|
版本號替換為實際安裝的版本, 可通過 `whereis node` 查看路徑。
|
||||||
|
|
||||||
## Application Installation Failed
|
## 應用程式安裝失敗
|
||||||
|
|
||||||
1. Check network connection
|
1. 檢查網絡連接
|
||||||
2. View error messages on the **Tasks** page
|
2. 查看「任務」頁面的錯誤信息
|
||||||
3. Try clicking **Update Cache** on the **Apps** page and retry
|
3. 嘗試「應用」頁面點擊「更新緩存」後重試
|
||||||
|
|
||||||
## Application Cannot Be Uninstalled
|
## 應用無法卸載
|
||||||
|
|
||||||
Applications with dependencies need to uninstall dependent applications first.
|
有依賴關係的應用需要先卸載依賴它的應用。
|
||||||
|
|
||||||
For example, phpMyAdmin depends on Nginx, so phpMyAdmin needs to be uninstalled first.
|
如 phpMyAdmin 依賴 Nginx,需先卸載 phpMyAdmin。
|
||||||
|
|
||||||
## Multiple PHP Versions Coexistence
|
## 多版本 PHP 共存
|
||||||
|
|
||||||
Multiple PHP versions can be installed simultaneously. Select the corresponding version when creating a website.
|
可同時安裝多個 PHP 版本, 在創建網站時選擇對應版本。
|
||||||
|
|
||||||
To switch versions for existing websites: **Edit** -> **Basic Settings** -> **PHP Version**.
|
已有網站切換版本:「編輯」->「基本設置」->「PHP 版本」。
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
# Container FAQ
|
# 容器常見問題
|
||||||
|
|
||||||
## Image Pull Failed
|
## 鏡像拉取失敗
|
||||||
|
|
||||||
Servers in China cannot connect to Docker Hub and need to configure mirror acceleration.
|
國內伺服器無法連接 Docker Hub,需配置鏡像加速。
|
||||||
|
|
||||||
### Docker
|
### Docker
|
||||||
|
|
||||||
**Apps** -> **Docker** -> **Manage** -> **Configuration**, add:
|
「應用」->「Docker」->「管理」->「配置」,添加:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
@@ -18,7 +18,7 @@ Servers in China cannot connect to Docker Hub and need to configure mirror accel
|
|||||||
|
|
||||||
### Podman
|
### Podman
|
||||||
|
|
||||||
**Apps** -> **Podman** -> **Manage** -> **Registry Configuration**, add at the end:
|
「應用」->「Podman」->「管理」->「Registry 配置」,末尾添加:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[[registry]]
|
[[registry]]
|
||||||
@@ -27,47 +27,47 @@ location = "docker.io"
|
|||||||
location = "docker.1ms.run"
|
location = "docker.1ms.run"
|
||||||
```
|
```
|
||||||
|
|
||||||
For mirror acceleration addresses, you can use [1ms Mirror](https://1ms.run/) or other services.
|
鏡像加速地址可使用 [毫秒鏡像](https://1ms.run/) 或其他服務。
|
||||||
|
|
||||||
## Compose Startup Failed
|
## 編排啟動失敗
|
||||||
|
|
||||||
1. Click **Logs** to view error messages
|
1. 點擊「日誌」查看錯誤訊息
|
||||||
2. Common causes:
|
2. 常見原因:
|
||||||
- Port occupied: Modify the mapped port
|
- 端口被佔用:修改映射端口
|
||||||
- Image pull failed: Configure mirror acceleration
|
- 鏡像拉取失敗:配置鏡像加速
|
||||||
- Configuration error: Check docker-compose.yml syntax
|
- 配置錯誤:檢查 docker-compose.yml 語法
|
||||||
|
|
||||||
## Container Inaccessible
|
## 容器無法訪問
|
||||||
|
|
||||||
1. Check if the container is running: View status in **Containers** -> **Containers** list
|
1. 檢查容器是否運行:「容器」->「容器」列表查看狀態
|
||||||
2. Check if port mapping is correct
|
2. 檢查端口映射是否正確
|
||||||
3. Check if the firewall has allowed the mapped host port
|
3. 檢查防火牆是否放行映射的主機端口
|
||||||
|
|
||||||
## Container Cannot Access External Network
|
## 容器內無法訪問外網
|
||||||
|
|
||||||
Check Docker network configuration:
|
檢查 Docker 網路配置:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
docker network ls
|
docker network ls
|
||||||
docker network inspect bridge
|
docker network inspect bridge
|
||||||
```
|
```
|
||||||
|
|
||||||
## Data Persistence
|
## 資料持久化
|
||||||
|
|
||||||
Data will be lost after container deletion. Use volume mounts to persist data:
|
容器刪除後資料會丟失。 使用卷掛載持久化資料:
|
||||||
|
|
||||||
Add volumes in the compose configuration:
|
在編排配置中添加 volumes:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
volumes:
|
volumes:
|
||||||
- ./data:/app/data
|
- ./data:/app/data
|
||||||
```
|
```
|
||||||
|
|
||||||
## View Container Logs
|
## 查看容器日誌
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
docker logs container-name-or-id
|
docker logs 容器名或ID
|
||||||
docker logs -f container-name-or-id # Real-time view
|
docker logs -f 容器名或ID # 實時查看
|
||||||
```
|
```
|
||||||
|
|
||||||
Or click **Logs** in the panel **Containers** -> **Containers** list.
|
或在面板「容器」->「容器」列表點擊「日誌」。
|
||||||
|
|||||||
@@ -1,71 +1,71 @@
|
|||||||
# Database FAQ
|
# 資料庫常見問題
|
||||||
|
|
||||||
## Forgot Database Password
|
## 忘記資料庫密碼
|
||||||
|
|
||||||
### MySQL/MariaDB/Percona
|
### MySQL/MariaDB/Percona
|
||||||
|
|
||||||
Modify user password in panel **Databases** -> **Users**.
|
在面板「資料庫」->「使用者」中修改使用者密碼。
|
||||||
|
|
||||||
If you forgot the root password, you can view/reset it in **Apps** -> **MySQL/MariaDB/Percona** -> **Manage**.
|
如果忘記 root 密碼,可前往「應用」->「MySQL/MariaDB/Percona」->「管理」中查看/重置。
|
||||||
|
|
||||||
### PostgreSQL
|
### PostgreSQL
|
||||||
|
|
||||||
Modify user password in panel **Databases** -> **Users**.
|
在面板「資料庫」->「使用者」中修改使用者密碼。
|
||||||
|
|
||||||
If you forgot the postgres user password, you can view/reset it in **Apps** -> **PostgreSQL** -> **Manage**.
|
如果忘記 postgres 使用者密碼,可前往「應用」->「PostgreSQL」->「管理」中查看/重置。
|
||||||
|
|
||||||
## Remote Database Connection
|
## 遠端連接資料庫
|
||||||
|
|
||||||
Only local connections are allowed by default. For remote connections:
|
預設只允許本地連接。 如需遠端連接:
|
||||||
|
|
||||||
MySQL/MariaDB/Percona:
|
MySQL/MariaDB/Percona:
|
||||||
|
|
||||||
1. In **Databases** -> **Users**, create a new user with host set to `%` (allow all IPs) or a specific IP
|
1. 在「資料庫」->「使用者」中,新建一個使用者主機為 `%`(允許所有 IP)或指定 IP 的使用者
|
||||||
2. Allow database port 3306 in the firewall
|
2. 在防火牆放行資料庫連接埠 3306
|
||||||
|
|
||||||
PostgreSQL:
|
PostgreSQL:
|
||||||
|
|
||||||
1. Go to **Apps** -> **PostgreSQL** -> **Manage**, edit the main configuration, find `listen_addresses`, uncomment it and change its value to `'*'`
|
1. 前往「應用」->「PostgreSQL」->「管理」中編輯主配置找到`listen_addresses`,取消註解並將其值改為 `'*'`
|
||||||
2. On the same page, edit the user configuration, add a line: `host all username (IP-address/mask/all) scram-sha-256` and save
|
2. 在同一頁面編輯使用者配置,添加一行:`host all 用户名 (IP地址/掩码/all) scram-sha-256` 並儲存
|
||||||
3. Restart the PostgreSQL service
|
3. 重啟 PostgreSQL 服務
|
||||||
4. Allow database port 5432 in the firewall
|
4. 在防火牆放行資料庫連接埠 5432
|
||||||
|
|
||||||
:::warning Security Warning
|
:::warning 安全提示
|
||||||
It is not recommended to expose database ports to the public network. It is recommended to use SSH tunnels or VPN connections.
|
不建議將資料庫連接埠暴露到公網, 建議使用 SSH 隧道或 VPN 連接。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Connection Refused
|
## 連接被拒絕
|
||||||
|
|
||||||
1. Check if the database service is running
|
1. 檢查資料庫服務是否運行
|
||||||
2. Check user permissions and host settings
|
2. 檢查使用者權限和主機設定
|
||||||
3. Check connection address: Use `localhost` or `127.0.0.1` for local connections
|
3. 檢查連接地址:本地連接用 `localhost` 或 `127.0.0.1`
|
||||||
|
|
||||||
## Large File Import Failed
|
## 匯入大檔案失敗
|
||||||
|
|
||||||
phpMyAdmin has upload limits. For large files, it is recommended to import via command line:
|
phpMyAdmin 有上傳限制。 大檔案建議用命令列匯入:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
mysql -u username -p database_name < file.sql
|
mysql -u 用户名 -p 数据库名 < 文件.sql
|
||||||
```
|
```
|
||||||
|
|
||||||
Or upload using the panel's file manager, then execute the import in the terminal.
|
或使用面板的檔案管理上傳後,在終端執行匯入。
|
||||||
|
|
||||||
## Database Backup
|
## 資料庫備份
|
||||||
|
|
||||||
1. **Backup** -> **Create Backup**, select database
|
1. 「備份」->「建立備份」選擇資料庫
|
||||||
2. Or use command line:
|
2. 或使用命令列:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
# MySQL
|
# MySQL
|
||||||
mysqldump -u username -p database_name > backup.sql
|
mysqldump -u 用户名 -p 数据库名 > backup.sql
|
||||||
|
|
||||||
# PostgreSQL
|
# PostgreSQL
|
||||||
pg_dump -U username database_name > backup.sql
|
pg_dump -U 用户名 数据库名 > backup.sql
|
||||||
```
|
```
|
||||||
|
|
||||||
## Character Set Issues
|
## 字元集問題
|
||||||
|
|
||||||
To modify character set for existing databases:
|
已有資料庫修改字元集:
|
||||||
|
|
||||||
```sql
|
```sql
|
||||||
ALTER
|
ALTER
|
||||||
|
|||||||
@@ -1,98 +1,98 @@
|
|||||||
# Panel FAQ
|
# 面板常見問題
|
||||||
|
|
||||||
## Panel Won't Open
|
## 面板打不開
|
||||||
|
|
||||||
SSH into the server and check panel status:
|
SSH 登入伺服器,檢查面板狀態:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
acepanel status
|
acepanel status
|
||||||
```
|
```
|
||||||
|
|
||||||
If the service has stopped, start it:
|
如果服務已停止,啟動它:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
acepanel start
|
acepanel start
|
||||||
```
|
```
|
||||||
|
|
||||||
If it cannot start, try to repair:
|
如果無法啟動,嘗試修復:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
acepanel fix && acepanel update
|
acepanel fix && acepanel update
|
||||||
```
|
```
|
||||||
|
|
||||||
If the service is running but still inaccessible, check the firewall:
|
服務正常但仍無法存取,檢查防火牆:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
# Check if port is listening
|
# 檢查端口是否監聽
|
||||||
curl -I http://127.0.0.1:panel-port/
|
curl -I http://127.0.0.1:面板端口/
|
||||||
|
|
||||||
# Allow port (firewalld)
|
# 放行端口(firewalld)
|
||||||
firewall-cmd --add-port=panel-port/tcp --permanent
|
firewall-cmd --add-port=面板端口/tcp --permanent
|
||||||
firewall-cmd --reload
|
firewall-cmd --reload
|
||||||
```
|
```
|
||||||
|
|
||||||
For cloud servers, also check security group settings.
|
雲端伺服器還需檢查安全組設定。
|
||||||
|
|
||||||
View panel logs to troubleshoot:
|
查看面板日誌排查問題:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
journalctl -u acepanel -n 100
|
journalctl -u acepanel -n 100
|
||||||
```
|
```
|
||||||
|
|
||||||
## Forgot Password/Username/Address
|
## 忘記密碼/使用者名稱/地址
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
acepanel info
|
acepanel info
|
||||||
```
|
```
|
||||||
|
|
||||||
Outputs panel address, username, and generates a new password.
|
輸出面板地址、使用者名稱,並產生新密碼。
|
||||||
|
|
||||||
## Change Panel Port
|
## 修改面板端口
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
acepanel port 12345
|
acepanel port 12345
|
||||||
```
|
```
|
||||||
|
|
||||||
After modification, you need to allow the new port in the server security group/firewall.
|
修改後需在伺服器安全組/防火牆放行新端口。
|
||||||
|
|
||||||
## Disable Security Entry
|
## 關閉安全入口
|
||||||
|
|
||||||
If you forgot the security entry path:
|
如果忘記安全入口路徑:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
acepanel entrance off
|
acepanel entrance off
|
||||||
```
|
```
|
||||||
|
|
||||||
## Disable Domain/IP Binding
|
## 關閉網域/IP 綁定
|
||||||
|
|
||||||
If you cannot access the panel after binding:
|
綁定後無法存取面板:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
acepanel bind-domain off
|
acepanel bind-domain off
|
||||||
acepanel bind-ip off
|
acepanel bind-ip off
|
||||||
```
|
```
|
||||||
|
|
||||||
## Disable Two-Factor Authentication
|
## 關閉兩步驗證
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
acepanel user 2fa admin
|
acepanel user 2fa admin
|
||||||
```
|
```
|
||||||
|
|
||||||
## Certificate Error
|
## 憑證錯誤
|
||||||
|
|
||||||
The panel uses a self-signed certificate by default, and the browser will show an insecure warning. Click "Continue" to proceed.
|
面板預設使用自簽名憑證,瀏覽器會提示不安全, 點擊「繼續存取」即可。
|
||||||
|
|
||||||
To apply for a proper certificate:
|
申請正式憑證:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
acepanel https generate
|
acepanel https generate
|
||||||
```
|
```
|
||||||
|
|
||||||
You need to ensure the server IP port 80 is directly accessible.
|
需要確保伺服器 IP 80 端口可直接存取。
|
||||||
|
|
||||||
## acepanel Command Permission Denied
|
## acepanel 命令無權限
|
||||||
|
|
||||||
Must be executed as root user, or use sudo:
|
必須以 root 使用者執行,或使用 sudo:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
sudo acepanel status
|
sudo acepanel status
|
||||||
|
|||||||
@@ -1,68 +1,68 @@
|
|||||||
# Project FAQ
|
# 項目常見問題
|
||||||
|
|
||||||
## Project Startup Failed
|
## 項目啟動失敗
|
||||||
|
|
||||||
Click **Logs** to view error messages. Common causes:
|
點擊「日誌」查看錯誤信息。 常見原因:
|
||||||
|
|
||||||
### Permission Issues
|
### 權限問題
|
||||||
|
|
||||||
Project directory should be under `/opt/ace/projects/`, owned by www:
|
項目目錄應在 `/opt/ace/projects/` 下,所有者為 www:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
chown -R www:www /opt/ace/projects/project-name
|
chown -R www:www /opt/ace/projects/項目名
|
||||||
```
|
```
|
||||||
|
|
||||||
If deployed under `/root`, you need to run as root user (not recommended).
|
如果部署在 `/root` 下,需使用 root 用戶運行(不推薦)。
|
||||||
|
|
||||||
### Command Not Found
|
### 找不到命令
|
||||||
|
|
||||||
Such as `node: No such file or directory`, indicates environment variables are not configured.
|
如 `node: No such file or directory`,說明環境變數未配置。
|
||||||
|
|
||||||
Solutions:
|
解決方法:
|
||||||
|
|
||||||
1. Associate runtime environment in **Edit** -> **Dependencies**
|
1. 在「編輯」->「依賴」中關聯運行環境
|
||||||
2. Or add PATH in **Runtime Settings** -> **Environment Variables**
|
2. 或在「運行設置」->「環境變數」中添加 PATH
|
||||||
|
|
||||||
### Port Already in Use
|
### 端口被佔用
|
||||||
|
|
||||||
Modify the application listening port, or stop the process occupying the port:
|
修改應用監聽端口,或停止佔用端口的進程:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
lsof -i:3000 # View process occupying the port
|
lsof -i:3000 # 查看佔用端口的進程
|
||||||
```
|
```
|
||||||
|
|
||||||
## Configure Environment Variables
|
## 配置環境變數
|
||||||
|
|
||||||
**Edit** -> **Runtime Settings** -> **Environment Variables**, click **Add**.
|
「編輯」->「運行設置」->「環境變數」,點擊「添加」。
|
||||||
|
|
||||||
Common configurations:
|
常用配置:
|
||||||
|
|
||||||
- `NODE_ENV=production`
|
- `NODE_ENV=production`
|
||||||
- `PORT=3000`
|
- `PORT=3000`
|
||||||
|
|
||||||
## Pre-start Command
|
## 預啟動命令
|
||||||
|
|
||||||
Executed before project startup, such as installing dependencies:
|
在項目啟動前執行,如安裝依賴:
|
||||||
|
|
||||||
- Node.js: `npm install` or `yarn`
|
- Node.js:`npm install` 或 `yarn`
|
||||||
- Python: `pip install -r requirements.txt`
|
- Python:`pip install -r requirements.txt`
|
||||||
- Go: `go build`
|
- Go:`go build`
|
||||||
|
|
||||||
## View Project Logs
|
## 查看項目日誌
|
||||||
|
|
||||||
1. Panel: Click **Logs** in the project list
|
1. 面板:項目列表點擊「日誌」
|
||||||
2. Command line: `journalctl -u ace-project-project-name -f`
|
2. 命令行:`journalctl -u ace-project-項目名 -f`
|
||||||
|
|
||||||
## Project Auto Restart
|
## 項目自動重啟
|
||||||
|
|
||||||
Configure in **Runtime Settings**:
|
在「運行設置」中配置:
|
||||||
|
|
||||||
- **Restart Policy**: Restart on failure / Always restart / Never restart
|
- **重啟策略**:失敗時重啟 / 總是重啟 / 不重啟
|
||||||
- **Restart Interval**: Wait time between restarts
|
- **重啟間隔**:兩次重啟之間的等待時間
|
||||||
- **Max Restart Count**: Prevent infinite restarts
|
- **最大重啟次數**:防止無限重啟
|
||||||
|
|
||||||
## Reverse Proxy Configuration
|
## 反向代理配置
|
||||||
|
|
||||||
Enable **Reverse Proxy** when creating a project, and a reverse proxy website will be automatically created.
|
創建項目時開啟「反向代理」,會自動創建一個反向代理網站。
|
||||||
|
|
||||||
Manual configuration: Create a reverse proxy website with upstream address `http://127.0.0.1:project-port`.
|
手動配置:創建反向代理網站,上游地址填 `http://127.0.0.1:項目端口`。
|
||||||
|
|||||||
@@ -1,80 +1,80 @@
|
|||||||
# Website FAQ
|
# 網站常見問題
|
||||||
|
|
||||||
## Website Inaccessible
|
## 網站無法訪問
|
||||||
|
|
||||||
1. Check if the domain is resolved to the server IP
|
1. 檢查域名是否解析到伺服器 IP
|
||||||
2. Check if the firewall has allowed ports 80/443
|
2. 檢查防火牆是否放行 80/443 連接埠
|
||||||
3. Check if Nginx is running: **Apps** -> **Nginx** -> **Manage**
|
3. 檢查 Nginx 是否運行:「應用」->「Nginx」->「管理」
|
||||||
4. View Nginx error logs
|
4. 查看 Nginx 錯誤日誌
|
||||||
|
|
||||||
## 403 Forbidden
|
## 403 Forbidden
|
||||||
|
|
||||||
Usually a permission issue:
|
通常是權限問題:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
# Fix website directory permissions
|
# 修復網站目錄權限
|
||||||
chown -R www:www /opt/ace/sites/website-name/public
|
chown -R www:www /opt/ace/sites/網站名/public
|
||||||
chmod -R 755 /opt/ace/sites/website-name/public
|
chmod -R 755 /opt/ace/sites/網站名/public
|
||||||
```
|
```
|
||||||
|
|
||||||
## 502 Bad Gateway
|
## 502 Bad Gateway
|
||||||
|
|
||||||
For PHP websites with 502, check if PHP is running:
|
PHP 網站出現 502,檢查 PHP 是否運行:
|
||||||
|
|
||||||
1. **Apps** -> **Runtimes** -> **PHP** -> **Manage**
|
1. 「應用」->「運行環境」->「PHP」->「管理」
|
||||||
2. Confirm PHP version matches website configuration
|
2. 確認 PHP 版本與網站配置一致
|
||||||
3. View PHP error logs
|
3. 查看 PHP 錯誤日誌
|
||||||
|
|
||||||
For reverse proxy websites with 502, check if the backend service is running.
|
反向代理網站出現 502,檢查後端服務是否運行。
|
||||||
|
|
||||||
## Rewrite Rules Not Working
|
## 偽靜態不生效
|
||||||
|
|
||||||
1. Confirm the correct preset is selected or rules are filled in the **Rewrite** tab
|
1. 確認在「偽靜態」標籤頁選擇了正確的預設或填寫了規則
|
||||||
2. Nginx will automatically reload after clicking **Save**
|
2. 點擊「保存」後 Nginx 會自動重載
|
||||||
3. Clear browser cache and test
|
3. 清除瀏覽器快取後測試
|
||||||
|
|
||||||
## Configure QUIC (HTTP/3)
|
## 配置 QUIC (HTTP/3)
|
||||||
|
|
||||||
The panel supports QUIC, but does not add the `Alt-Svc` header by default. Add in custom configuration:
|
面板支援 QUIC,但預設不添加 `Alt-Svc` 頭。 在自訂配置中添加:
|
||||||
|
|
||||||
```nginx
|
```nginx
|
||||||
add_header Alt-Svc 'h3=":$server_port"; ma=2592000';
|
add_header Alt-Svc 'h3=":$server_port"; ma=2592000';
|
||||||
```
|
```
|
||||||
|
|
||||||
Ensure the server security group/firewall allows UDP port 443.
|
確保伺服器安全組/防火牆放行 UDP 443 連接埠。
|
||||||
|
|
||||||
## Enable TLSv1/TLSv1.1
|
## 啟用 TLSv1/TLSv1.1
|
||||||
|
|
||||||
OpenSSL 3.x disables old protocols by default. If you must use them, modify the cipher suite in **HTTPS** settings:
|
OpenSSL 3.x 預設禁用舊協議。 如必須使用,在「HTTPS」設定中修改密碼套件:
|
||||||
|
|
||||||
```nginx
|
```nginx
|
||||||
ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:AES128-SHA:AES256-SHA:DES-CBC3-SHA:@SECLEVEL=0;
|
ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:AES128-SHA:AES256-SHA:DES-CBC3-SHA:@SECLEVEL=0;
|
||||||
```
|
```
|
||||||
|
|
||||||
## Enable IPv6
|
## 啟用 IPv6
|
||||||
|
|
||||||
Add listening addresses in **Domains and Listening**: `[::]:80` and `[::]:443`.
|
在「域名和監聽」添加監聽地址:`[::]:80` 和 `[::]:443`。
|
||||||
|
|
||||||
## CDN Origin and HTTPS
|
## CDN 回源與 HTTPS
|
||||||
|
|
||||||
| CDN Origin Protocol | Website HTTPS Configuration |
|
| CDN 回源協議 | 網站 HTTPS 配置 |
|
||||||
| ------------------- | ------------------------------------------------------ |
|
| -------- | ------------------- |
|
||||||
| HTTP | Not required |
|
| HTTP | 無需開啟 |
|
||||||
| HTTPS | Must be enabled |
|
| HTTPS | 必須開啟 |
|
||||||
| Follow Protocol | Must be enabled, and HTTP redirect must not be enabled |
|
| 協議跟隨 | 必須開啟,且不能開啟 HTTP 重定向 |
|
||||||
|
|
||||||
## Upload File Size Limit
|
## 上傳檔案大小限制
|
||||||
|
|
||||||
Default limit is 100MB. Modify PHP configuration:
|
預設限制 100MB。 修改 PHP 配置:
|
||||||
|
|
||||||
1. **Apps** -> **Runtimes** -> **PHP** -> **Manage** -> **Main Configuration**
|
1. 「應用」->「運行環境」->「PHP」->「管理」->「主配置」
|
||||||
2. Modify `upload_max_filesize` and `post_max_size`
|
2. 修改 `upload_max_filesize` 和 `post_max_size`
|
||||||
3. Restart PHP after saving
|
3. 保存後重啟 PHP
|
||||||
|
|
||||||
## SSL Certificate Application Failed
|
## SSL 憑證申請失敗
|
||||||
|
|
||||||
1. Confirm the domain is resolved to the server
|
1. 確認域名已解析到伺服器
|
||||||
2. Confirm port 80 is accessible (required for Let's Encrypt verification)
|
2. 確認 80 連接埠可訪問(Let's Encrypt 驗證需要)
|
||||||
3. Check if Let's Encrypt rate limit is exceeded
|
3. 檢查是否超過 Let's Encrypt 速率限制
|
||||||
4. Try using DNS verification method
|
4. 嘗試使用 DNS 驗證方式
|
||||||
5. Switch to another certificate provider
|
5. 更換其他憑證提供商
|
||||||
|
|||||||
@@ -1,56 +1,56 @@
|
|||||||
# Command Line Tool
|
# 命令列工具
|
||||||
|
|
||||||
AcePanel provides the command line tool `acepanel` for panel management when the Web interface is inaccessible.
|
AcePanel 提供命令列工具 `acepanel`,用於在無法存取 Web 介面時進行面板管理。
|
||||||
|
|
||||||
## Service Management
|
## 服務管理
|
||||||
|
|
||||||
:::warning Note
|
:::warning 注意
|
||||||
Do not stop or restart the panel while background tasks are running, as this may cause task interruption or data loss.
|
後台任務運行時請勿停止或重啟面板,可能導致任務中斷或資料遺失。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
acepanel start # Start
|
acepanel start # 啟動
|
||||||
acepanel stop # Stop
|
acepanel stop # 停止
|
||||||
acepanel restart # Restart
|
acepanel restart # 重啟
|
||||||
acepanel status # View status
|
acepanel status # 查看狀態
|
||||||
```
|
```
|
||||||
|
|
||||||
## User Management
|
## 用戶管理
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
acepanel user list # List all users
|
acepanel user list # 列出所有用戶
|
||||||
acepanel user username <old_username> <new_username> # Change username
|
acepanel user username <舊用戶名> <新用戶名> # 修改用戶名
|
||||||
acepanel user password <username> <new_password> # Change password
|
acepanel user password <用戶名> <新密碼> # 修改密碼
|
||||||
acepanel user 2fa <username> # Toggle two-factor authentication
|
acepanel user 2fa <用戶名> # 開關兩步驗證
|
||||||
```
|
```
|
||||||
|
|
||||||
## Security Settings
|
## 安全設置
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
acepanel https on|off # Toggle HTTPS
|
acepanel https on|off # 開關 HTTPS
|
||||||
acepanel https generate # Generate certificate (self-signed or Let's Encrypt)
|
acepanel https generate # 生成憑證(自簽名或 Let's Encrypt)
|
||||||
acepanel entrance on|off # Toggle security entrance
|
acepanel entrance on|off # 開關安全入口
|
||||||
acepanel port <port_number> # Change listening port
|
acepanel port <連接埠號> # 修改監聽連接埠
|
||||||
acepanel bind-domain off # Unbind domain
|
acepanel bind-domain off # 解除網域綁定
|
||||||
acepanel bind-ip off # Unbind IP
|
acepanel bind-ip off # 解除 IP 綁定
|
||||||
acepanel bind-ua off # Unbind UA
|
acepanel bind-ua off # 解除 UA 綁定
|
||||||
```
|
```
|
||||||
|
|
||||||
## Maintenance Commands
|
## 維護命令
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
acepanel update # Update panel
|
acepanel update # 更新面板
|
||||||
acepanel fix # Fix update issues
|
acepanel fix # 修復更新問題
|
||||||
acepanel sync # Sync cache data
|
acepanel sync # 同步快取資料
|
||||||
acepanel sync-time # Sync server time
|
acepanel sync-time # 同步伺服器時間
|
||||||
acepanel clear-task # Clear task queue
|
acepanel clear-task # 清空任務佇列
|
||||||
acepanel info # View panel info and reset password
|
acepanel info # 查看面板資訊並重置密碼
|
||||||
acepanel help # Help
|
acepanel help # 幫助
|
||||||
```
|
```
|
||||||
|
|
||||||
## Example
|
## 範例
|
||||||
|
|
||||||
Change the password of user `admin` to `newpassword`:
|
修改用戶 `admin` 的密碼為 `newpassword`:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
acepanel user password admin newpassword
|
acepanel user password admin newpassword
|
||||||
|
|||||||
@@ -1,45 +1,45 @@
|
|||||||
# First Container: Deploy pgAdmin 4
|
# 第一個容器:部署 pgAdmin 4
|
||||||
|
|
||||||
This article uses pgAdmin 4 as an example to demonstrate how to quickly deploy Docker containers through AcePanel.
|
本文以 pgAdmin 4 為例,演示如何通過 AcePanel 快速部署 Docker 容器。
|
||||||
|
|
||||||
## Install Docker
|
## 安裝 Docker
|
||||||
|
|
||||||
Go to the "Applications" page, find Docker in "Native Applications" and install it. Installation progress can be viewed on the "Tasks" page.
|
進入「應用」頁面,在「原生應用」中找到 Docker 並安裝。 安裝進度可在「任務」頁面查看。
|
||||||
|
|
||||||
:::tip Servers in China
|
:::tip 國內服務器
|
||||||
Pulling images is slow on servers in China. It is recommended to configure the paid acceleration source provided by [Millisecond Mirror](https://1ms.run/).
|
國內服務器拉取鏡像較慢, 建議配置 [毫秒鏡像](https://1ms.run/) 提供的付費加速源。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Deploy Container
|
## 部署容器
|
||||||
|
|
||||||
Go to "Applications" -> "Container Templates", find pgAdmin 4, and click "Deploy".
|
進入「應用」->「容器模板」,找到 pgAdmin 4,點擊「部署」。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Select "Create New Compose" and fill in the configuration:
|
選擇「創建新編排」後填寫配置:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
- **Compose Name**: Give the compose a name, e.g., `pg4admin`
|
- **編排名稱**:給編排起個名字,如 `pg4admin`
|
||||||
- **Auto Start**: When checked, automatically pull images and start after creation
|
- **自動啟動**:勾選後創建完成自動拉取鏡像並啟動
|
||||||
- **Auto Firewall**: When checked, automatically allow ports
|
- **自動防火牆**:勾選後自動放行端口
|
||||||
- **Access Port**: Map container port 80 to host port, e.g., `999`
|
- **訪問端口**:容器 80 端口映射到主機端口,如 `999`
|
||||||
- **Admin Email/Password**: Login credentials for pgAdmin 4
|
- **管理員郵箱/密碼**:pgAdmin 4 的登錄憑據
|
||||||
|
|
||||||
Click "Next" to preview the compose configuration, then click "Create" to confirm.
|
點擊「下一步」預覽編排配置,確認後點擊「創建」。
|
||||||
|
|
||||||
## Wait for Startup
|
## 等待啟動
|
||||||
|
|
||||||
If "Auto Start" is checked, a popup will show the pull and startup progress after creation:
|
如果勾選了「自動啟動」,創建後會彈窗顯示拉取和啟動進度:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
You can also manually manage in "Containers" -> "Compose" page:
|
也可以在「容器」->「編排」頁面手動管理:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Access Service
|
## 訪問服務
|
||||||
|
|
||||||
After startup is complete, access `http://ServerIP:Port` (e.g., `http://x.x.x.x:999`) in your browser, and log in with the email and password you set earlier.
|
啟動完成後,瀏覽器訪問 `http://服務器IP:端口`(如 `http://x.x.x.x:999`),用之前設置的郵箱和密碼登錄即可。
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
# First Project: Deploy Node.js Application
|
# 第一個專案:部署 Node.js 應用
|
||||||
|
|
||||||
This article uses a simple Node.js HTTP service as an example to demonstrate how to deploy and manage projects through AcePanel.
|
本文以一個簡單的 Node.js HTTP 服務為例,演示如何通過 AcePanel 部署和管理專案。
|
||||||
|
|
||||||
## Prepare Code
|
## 準備程式碼
|
||||||
|
|
||||||
First, prepare a simple Node.js application. Create `app.js` in the project directory:
|
先準備一個簡單的 Node.js 應用。 在專案目錄建立 `app.js`:
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
const http = require('http');
|
const http = require('http');
|
||||||
@@ -19,58 +19,58 @@ server.listen(3000, () => {
|
|||||||
});
|
});
|
||||||
```
|
```
|
||||||
|
|
||||||
## Create Project
|
## 建立專案
|
||||||
|
|
||||||
Go to the "Projects" page, click "Create Project".
|
進入「專案」頁面,點擊「建立專案」。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Fill in the configuration:
|
填寫配置:
|
||||||
|
|
||||||
- **Project Name**: Project identifier, e.g., `hello-node`
|
- **專案名**:專案標識,如 `hello-node`
|
||||||
- **Project Directory**: Leave empty to use default path
|
- **專案目錄**:留空使用預設路徑
|
||||||
- **Run User**: Usually select `www`
|
- **執行使用者**:一般選 `www`
|
||||||
- **Start Command**: `node app.js`
|
- **啟動命令**:`node app.js`
|
||||||
- **Reverse Proxy**: Enable auto-create reverse proxy if you need to access via domain
|
- **反向代理**:如需通過網域存取,可開啟自動建立反向代理
|
||||||
|
|
||||||
## Upload Code
|
## 上傳程式碼
|
||||||
|
|
||||||
After the project is created, go to the "Files" page, navigate to the project directory (e.g., `/opt/ace/projects/hello-node`), and upload the `app.js` file.
|
專案建立後,進入「檔案」頁面,導航到專案目錄(如 `/opt/ace/projects/hello-node`),上傳 `app.js` 檔案。
|
||||||
|
|
||||||
You can also use git clone in the terminal to pull the code.
|
也可以通過終端機用 git clone 拉取程式碼。
|
||||||
|
|
||||||
## Configure Project
|
## 配置專案
|
||||||
|
|
||||||
Click "Edit" in the project list to adjust more settings:
|
在專案列表點擊「編輯」,可以調整更多設定:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
**Run Settings**:
|
**執行設定**:
|
||||||
|
|
||||||
- **Pre-start Command**: Execute before starting, e.g., `npm install`
|
- **預啟動命令**:啟動前執行,如 `npm install`
|
||||||
- **Restart Policy**: How to handle abnormal process exits
|
- **重啟策略**:程序異常退出時的處理方式
|
||||||
- **Environment Variables**: Set `NODE_ENV=production`, etc.
|
- **環境變數**:設定 `NODE_ENV=production` 等
|
||||||
|
|
||||||
**Dependencies**: You can associate Node.js runtime environment version.
|
**依賴**:可以關聯 Node.js 執行環境版本。
|
||||||
|
|
||||||
## Start Project
|
## 啟動專案
|
||||||
|
|
||||||
Return to the project list, click the "Start" button.
|
回到專案列表,點擊「啟動」按鈕。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
After starting, you can click "Logs" to view output and confirm the service is running normally.
|
啟動後可點擊「日誌」查看輸出,確認服務正常執行。
|
||||||
|
|
||||||
## Access Service
|
## 存取服務
|
||||||
|
|
||||||
If reverse proxy is enabled, access via the configured domain.
|
如果開啟了反向代理,通過配置的網域存取即可。
|
||||||
|
|
||||||
If not, you can access directly via `http://ServerIP:3000` (need to allow port 3000 in the firewall).
|
如果沒有,可以通過 `http://伺服器IP:3000` 直接存取(需在防火牆放行 3000 連接埠)。
|
||||||
|
|
||||||
:::tip Production Environment
|
:::tip 生產環境
|
||||||
Production environment recommendations:
|
生產環境建議:
|
||||||
|
|
||||||
- Enable "Auto Start" to automatically recover after server restart
|
- 開啟「自啟動」,伺服器重啟後自動恢復
|
||||||
- Configure reverse proxy to forward requests through Nginx
|
- 配置反向代理,通過 Nginx 轉發請求
|
||||||
- Set memory limits in "Resource Limits" to prevent memory leaks
|
- 在「資源限制」中設定記憶體上限,防止記憶體洩漏
|
||||||
:::
|
:::
|
||||||
|
|||||||
@@ -1,52 +1,52 @@
|
|||||||
# First Website: Deploy WordPress
|
# 第一個網站:部署 WordPress
|
||||||
|
|
||||||
This article uses WordPress as an example to demonstrate how to quickly set up a PHP website through AcePanel.
|
本文以 WordPress 為例,演示如何通過 AcePanel 快速搭建 PHP 網站。
|
||||||
|
|
||||||
## Install Environment
|
## 安裝環境
|
||||||
|
|
||||||
Go to the "Applications" page:
|
進入「應用」頁面:
|
||||||
|
|
||||||
1. Install Nginx and Percona (or MySQL/MariaDB) in "Native Applications"
|
1. 在「原生應用」中安裝 Nginx 和 Percona(或 MySQL/MariaDB)
|
||||||
2. Install PHP (8.3+ recommended) in "Runtime Environment"
|
2. 在「運行環境」中安裝 PHP(建議 8.3+)
|
||||||
|
|
||||||
Installation progress can be viewed on the "Tasks" page.
|
安裝進度可在「任務」頁面查看。
|
||||||
|
|
||||||
## Create Website
|
## 創建網站
|
||||||
|
|
||||||
Go to "Website" -> "PHP", click "Create Website".
|
進入「網站」->「PHP」,點擊「創建網站」。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Fill in the configuration:
|
填寫配置:
|
||||||
|
|
||||||
- **Name**: Website identifier, e.g., `wordpress`, cannot be changed after creation
|
- **名稱**:網站標識,如 `wordpress`,創建後不可改
|
||||||
- **Domain**: Your domain name, use server IP if you don't have a domain
|
- **域名**:你的域名,沒有域名可填伺服器 IP
|
||||||
- **Root Directory**: Leave empty to use default path
|
- **根目錄**:留空使用預設路徑
|
||||||
- **PHP Version**: Select the version you just installed
|
- **PHP 版本**:選擇剛安裝的版本
|
||||||
- **Database**: Select MySQL, note down the generated database name, username, and password
|
- **資料庫**:選擇 MySQL,記下生成的資料庫名、用戶名、密碼
|
||||||
|
|
||||||
## Upload WordPress
|
## 上傳 WordPress
|
||||||
|
|
||||||
Download the installation package from the [WordPress official website](https://wordpress.org/download/).
|
從 [WordPress 官網](https://wordpress.org/download/) 下載安裝包。
|
||||||
|
|
||||||
Click "Directory" in the website list to enter file management, upload the compressed package and extract it. Enter the `wordpress` directory, `Ctrl+A` to select all, `Ctrl+X` to cut, return to the parent directory and `Ctrl+V` to paste, moving the files to the website root directory.
|
在網站列表點擊「目錄」進入檔案管理,上傳壓縮包並解壓。 進入 `wordpress` 目錄,`Ctrl+A` 全選,`Ctrl+X` 剪切,返回上級目錄 `Ctrl+V` 貼上,把檔案移到網站根目錄。
|
||||||
|
|
||||||
## Configure Rewrite Rules
|
## 配置重寫
|
||||||
|
|
||||||
Return to the website list, click "Edit", switch to the "Rewrite" tab, select the preset `wordpress` rule and save.
|
回到網站列表,點擊「編輯」,切換到「重寫」標籤頁,選擇預設的 `wordpress` 規則並儲存。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
:::tip HTTPS
|
:::tip HTTPS
|
||||||
You can issue a free Let's Encrypt certificate with one click in the "HTTPS" tab.
|
可在「HTTPS」標籤頁一鍵簽發免費的 Let's Encrypt 證書。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Install WordPress
|
## 安裝 WordPress
|
||||||
|
|
||||||
Access your domain in the browser and follow the prompts to complete the installation:
|
瀏覽器訪問你的域名,按提示完成安裝:
|
||||||
|
|
||||||
1. Select language
|
1. 選擇語言
|
||||||
2. Fill in site information (title, admin account, etc.)
|
2. 填寫站點資訊(標題、管理員帳號等)
|
||||||
3. Database configuration: Enter the database information noted earlier, host is `localhost`
|
3. 資料庫配置:填入之前記下的資料庫資訊,主機填 `localhost`
|
||||||
|
|
||||||
After installation, you can log in to the WordPress admin panel.
|
安裝完成後即可登入 WordPress 後台。
|
||||||
|
|||||||
@@ -1,75 +1,75 @@
|
|||||||
# Installation
|
# 安裝
|
||||||
|
|
||||||
## System Requirements
|
## 系統要求
|
||||||
|
|
||||||
- Architecture: `amd64` / `arm64`
|
- 架構:`amd64` / `arm64`
|
||||||
- Memory: ≥ 512MB (1GB or more recommended)
|
- 記憶體:≥ 512MB(建議 1GB 以上)
|
||||||
- Disk: ≥ 10GB available space
|
- 磁碟:≥ 10GB 可用空間
|
||||||
|
|
||||||
## Supported Operating Systems
|
## 支援的作業系統
|
||||||
|
|
||||||
| 系統 | 版本 | Status |
|
| 系統 | 版本 | 狀態 |
|
||||||
| ---------------- | -- | ------ |
|
| ---------------- | -- | --- |
|
||||||
| AlmaLinux | 10 | 推薦 |
|
| AlmaLinux | 10 | 推薦 |
|
||||||
| AlmaLinux | 9 | 支持 |
|
| AlmaLinux | 9 | 支持 |
|
||||||
| RockyLinux | 10 | 推薦 |
|
| RockyLinux | 10 | 推薦 |
|
||||||
| RockyLinux | 9 | 支持 |
|
| RockyLinux | 9 | 支持 |
|
||||||
| Debian | 13 | 推薦 |
|
| Debian | 13 | 推薦 |
|
||||||
| Debian | 12 | 支持 |
|
| Debian | 12 | 支持 |
|
||||||
| Ubuntu | 24 | 推薦 |
|
| Ubuntu | 24 | 推薦 |
|
||||||
| Ubuntu | 22 | 支持 |
|
| Ubuntu | 22 | 支持 |
|
||||||
| OpenCloudOS | 9 | 支持 |
|
| OpenCloudOS | 9 | 支持 |
|
||||||
| TencentOS Server | 4 | 支持 |
|
| TencentOS Server | 4 | 支持 |
|
||||||
| CentOS Stream | 10 | 不推薦 |
|
| CentOS Stream | 10 | 不推薦 |
|
||||||
| CentOS Stream | 9 | 不推薦 |
|
| CentOS Stream | 9 | 不推薦 |
|
||||||
|
|
||||||
Systems not listed can be tried at your own risk, but technical support is not provided.
|
未列出的系統可自行嘗試安裝,但不提供技術支援。
|
||||||
|
|
||||||
## Pre-installation Preparation
|
## 安裝前準備
|
||||||
|
|
||||||
- Use a clean system for installation to avoid conflicts with existing environments
|
- 使用純淨系統安裝,避免與已有環境衝突
|
||||||
- If you need to mount a data disk, complete it before installation; directory migration is not supported after installation
|
- 如需掛載資料碟,請在安裝前完成,安裝後不支援目錄遷移
|
||||||
- Ensure the server can access the internet normally
|
- 確保伺服器能正常存取外網
|
||||||
|
|
||||||
## 開始安裝
|
## 開始安裝
|
||||||
|
|
||||||
:::tip AcePanel Recommends
|
:::tip AcePanel 推薦使用
|
||||||
[LF Cloud High-Performance AMD EPYC Servers](https://www.dkdun.cn/aff/MQZZNVHQ) for installation
|
[林楓雲高性能 AMD EYPC 伺服器](https://www.dkdun.cn/aff/MQZZNVHQ) 伺服器安裝
|
||||||
:::
|
:::
|
||||||
|
|
||||||
Log in to the server as `root` user and execute:
|
以 `root` 用戶登入伺服器,執行:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
bash <(curl -sSLm 10 https://dl.acepanel.net/helper.sh)
|
bash <(curl -sSLm 10 https://dl.acepanel.net/helper.sh)
|
||||||
```
|
```
|
||||||
|
|
||||||
Do not close the terminal during installation.
|
安裝過程中請勿關閉終端。
|
||||||
|
|
||||||
## Installation Complete
|
## 安裝完成
|
||||||
|
|
||||||
After installation, the terminal will display the panel access address and initial account credentials:
|
安裝完成後,終端會輸出面板存取地址和初始帳號密碼:
|
||||||
|
|
||||||
```
|
```
|
||||||
========================================
|
========================================
|
||||||
AcePanel Installation Complete
|
AcePanel 安裝完成
|
||||||
Username: xxxxxxxx
|
用戶名:xxxxxxxx
|
||||||
Password: xxxxxxxxxxxxxxxx
|
密碼:xxxxxxxxxxxxxxxx
|
||||||
Port: xxxxx
|
連接埠:xxxxx
|
||||||
Entry: /xxxxxx
|
入口:/xxxxxx
|
||||||
========================================
|
========================================
|
||||||
```
|
```
|
||||||
|
|
||||||
First-time access may require trusting the self-signed certificate in your browser.
|
首次存取可能需在瀏覽器信任自簽名憑證。
|
||||||
|
|
||||||
## FAQ
|
## 常見問題
|
||||||
|
|
||||||
**Cannot access the panel**
|
**無法存取面板**
|
||||||
|
|
||||||
Check the cloud server security group and firewall settings to ensure the panel port is allowed.
|
檢查雲端伺服器安全群組和防火牆設定,確保放行面板連接埠。
|
||||||
|
|
||||||
**Forgot username/password/address**
|
**忘記用戶/密碼/地址**
|
||||||
|
|
||||||
Use the command line tool to reset:
|
使用命令列工具一鍵重置:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
acepanel info
|
acepanel info
|
||||||
|
|||||||
@@ -1,38 +1,38 @@
|
|||||||
# Product Introduction
|
# 產品介紹
|
||||||
|
|
||||||
AcePanel is an open-source server operation and maintenance management panel.
|
AcePanel 是一款開源的伺服器運維管理面板。
|
||||||
|
|
||||||
## Features
|
## 特性
|
||||||
|
|
||||||
- **Extremely Low Footprint**: Developed in Go language, single file operation, extremely low resource usage
|
- **極低佔用**:Go 語言開發,單檔案運行,資源佔用極低
|
||||||
- **Low Destructiveness**: Minimizes modifications to the system, the least among similar products
|
- **低破壞性**:盡可能減少對系統的修改,同類產品中最少
|
||||||
- **Following the Times**: Good compatibility with new systems, technology stack stays updated
|
- **追隨時代**:對新系統相容性好,技術棧保持更新
|
||||||
- **Efficient Operation**: Complete features, strong customization capabilities, suitable for simple to complex deployment scenarios
|
- **高效運維**:功能完善,自訂能力強,適用於簡單到複雜的部署場景
|
||||||
- **Offline Operation**: Supports offline mode, stopping the panel does not affect deployed services
|
- **離線運行**:支援離線模式,停止面板不影響已部署的服務
|
||||||
- **Safe and Stable**: Multiple security mechanisms, long-term stable operation in production environments
|
- **安全穩定**:多重安全機制,生產環境長期穩定運行
|
||||||
- **Fully Open Source**: All code is open source, free to modify and develop
|
- **完整開源**:全部程式碼開源,可自由修改和二次開發
|
||||||
- **Permanently Free**: The panel itself will not introduce any paid features
|
- **永久免費**:面板本體不會引入任何收費功能
|
||||||
|
|
||||||
## Functions
|
## 功能
|
||||||
|
|
||||||
**Quick Website Setup**
|
**快速建站**
|
||||||
|
|
||||||
Deeply integrated with mainstream services like Nginx, MySQL, PHP, one-click LNMP environment deployment, supports multiple version coexistence.
|
深度整合 Nginx、MySQL、PHP 等主流服務,一鍵部署 LNMP 環境,支援多版本共存。
|
||||||
|
|
||||||
**File Management**
|
**檔案管理**
|
||||||
|
|
||||||
Windows Explorer-like operation experience, supports shortcuts, batch operations, and online editing.
|
類似 Windows 資源管理器的操作體驗,支援快捷鍵、批次操作、線上編輯。
|
||||||
|
|
||||||
**Backup and Recovery**
|
**備份恢復**
|
||||||
|
|
||||||
One-click backup and recovery for websites and databases, supports scheduled backups and remote storage.
|
網站、資料庫一鍵備份與恢復,支援定時備份和遠端儲存。
|
||||||
|
|
||||||
## Comparison
|
## 對比
|
||||||
|
|
||||||
| Feature | AcePanel | Similar Product 1 | Similar Product B |
|
| 特性 | AcePanel | 同類產品 1 | 同類產品 B |
|
||||||
| -------------- | ------------------------------------- | ------------------------------- | ------------------------------------------------ |
|
| ----- | ------------------------------- | ------------------------------- | ------------------------------------------- |
|
||||||
| User Interface | Clean and modern | Modern design | Complex features, more advertisements |
|
| 使用者介面 | 清爽現代 | 現代化設計 | 功能繁雜,廣告較多 |
|
||||||
| Open Source | Fully open source | Only non-pro version | Partially open source, incomplete commit history |
|
| 開源情況 | 完整開源 | 僅開源非專業版 | 部分開源,提交記錄不完整 |
|
||||||
| Resource Usage | Extremely low, single file | core + agent dual process | Higher |
|
| 資源佔用 | 極低,單檔案運行 | core + agent 雙程序 | 較高 |
|
||||||
| App Center | Native apps + container orchestration | Container orchestration only | Outdated apps, slow updates |
|
| 應用中心 | 原生應用 + 容器編排 | 僅容器編排 | 應用陳舊,更新緩慢 |
|
||||||
| Tech Stack | Go 1.25 + Vue 3 | Go 1.24 + Vue 3 | Python 3.7 + Vue 3 + jQuery |
|
| 技術棧 | Go 1.25 + Vue 3 | Go 1.24 + Vue 3 | Python 3.7 + Vue 3 + jQuery |
|
||||||
|
|||||||
@@ -1,166 +1,166 @@
|
|||||||
# AcePanel 3.0 Official Release
|
# AcePanel 3.0 正式發布
|
||||||
|
|
||||||
Long time no see. After several delays, AcePanel 3.0 was finally completed in early 2026. After about 3 weeks of internal testing, it's time to release.
|
好久不見, 經過幾次跳票延期,AcePanel 3.0 終於在 2026 年初完成開發, 經過了約 3 個星期的內測,現在是時候發布了。
|
||||||
|
|
||||||
## Upgraded to New Brand Name AcePanel
|
## 升級全新品牌名稱 AcePanel
|
||||||
|
|
||||||
AcePanel was originally named Rat Panel, a server operation and maintenance management panel I developed at the end of 2022.
|
AcePanel 原名耗子面板,是本人 2022 年底開發的伺服器運維管理面板。
|
||||||
|
|
||||||
The most common feedback I received was that the name Rat Panel didn't sound good, so we've now changed to a more sophisticated name - AcePanel.
|
之前收到最多的一個回饋就是耗子面板這個名字不好聽,於是我們現在換了更高端大氣上檔次的名字 - AcePanel,你也可以叫它王牌面板/艾斯面板。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
In this article, AcePanel refers to AcePanel 3.0 version.
|
本文以下 AcePanel 均表示 AcePanel 3.0 版本
|
||||||
|
|
||||||
## Support for Runtime Environments and Project Management
|
## 支援運行環境與專案管理
|
||||||
|
|
||||||
The biggest update in AcePanel is the new runtime environment feature, supporting one-click installation and management of Go, Java, Node.js, PHP, Python and other runtime environments, with support for multiple versions coexisting.
|
AcePanel 這次最大的更新就是新增了運行環境功能,支援一鍵安裝與管理 Go、Java、Node.js、PHP、Python 等運行環境,支援多版本同時共存。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
At the same time, AcePanel has developed a brand new project management feature based on the powerful capabilities of Linux systemd, supporting one-click creation and management of various Web projects and daemon programs through installed runtime environments, which can replace tools like PM2 and Supervisor.
|
同時 AcePanel 基於 Linux systemd 的強大能力全新開發了專案管理功能,支援通過安裝的運行環境一鍵建立與管理各類 Web 專案和常駐程式,可平替 PM2、Supervisor 等工具。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Website Management Refactored
|
## 網站管理重構
|
||||||
|
|
||||||
AcePanel has also refactored the website management feature, reorganized the website directory structure, supports 3 website types: reverse proxy, static, and PHP, and added multiple common configurations and customization features.
|
AcePanel 還對網站管理功能進行了重構,重新組織了網站目錄結構,支援反向代理、純靜態、PHP 3 種網站類型,並新增了多項常用配置以及自訂功能。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The new website directory structure allows flexible addition of various custom configurations without conflicts.
|
新的網站目錄結構允許靈活添加各種自訂配置,且不易衝突。
|
||||||
|
|
||||||
## App Center Optimization
|
## 應用中心優化
|
||||||
|
|
||||||
AcePanel officially launches the long-awaited container compose template feature, supporting one-click deployment of common programs like WordPress, Nextcloud, GitLab, etc.
|
AcePanel 正式上線期待已久的容器編排模版功能,支援一鍵部署 WordPress、Nextcloud、GitLab 等常用程式。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
(Missing the program you want? Feel free to submit a PR to the AcePanel template library, see the end of this article for details)
|
(缺少你想要的程式? 歡迎向 AcePanel 模版庫提交 PR,方式可見文末)
|
||||||
|
|
||||||
AcePanel has added Nginx, MySQL, and MariaDB on top of the original OpenResty and Percona, and optimized the installation process of many applications to improve installation speed. Especially for Percona/MySQL/MariaDB, pre-built installation packages are used for common systems to greatly improve installation speed and success rate.
|
AcePanel 在原有 OpenResty 與 Percona 的基礎上新增 Nginx 與 MySQL、MariaDB,同時還優化了許多應用的安裝流程以提高安裝速度, 特別對 Percona/MySQL/MariaDB 為常用系統使用預製安裝包以極大提高安裝速度和成功率。
|
||||||
|
|
||||||
(In testing, MySQL can usually be installed within 2 minutes)
|
(實測 MySQL 通常可以在 2 分鐘內完成安裝)
|
||||||
|
|
||||||
## Backup Optimization
|
## 備份優化
|
||||||
|
|
||||||
AcePanel has optimized the backup feature, added backup storage settings, supporting common remote storage like S3, SFTP, etc.
|
AcePanel 優化了備份功能,新增備份儲存設定,支援添加 S3、SFTP 等常用遠端儲存。
|
||||||
|
|
||||||
(You might ask why there's no OSS, COS? This is because OSS, COS, etc. all provide S3-compatible interfaces and can be configured directly using S3, so there's no need to introduce dependencies and additional development for them separately.)
|
(你可能會問為什麼沒有 OSS、COS? 這是因為 OSS、COS 等均提供 S3 相容介面,可直接使用 S3 配置,因此沒必要單獨為它們引入依賴以及額外開發。)
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Brand New Panel Helper
|
## 全新的面板助手
|
||||||
|
|
||||||
AcePanel has rewritten the original shell script-based installer using Go language. The new panel helper fully supports interactive installation and multiple languages, providing a better and more modern user experience.
|
AcePanel 使用 Go 語言重寫了原來基於 shell 腳本的安裝器, 新的面板助手全面支援互動式安裝及多語言,提供更好、更現代的使用者體驗。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Usage Optimization
|
## 使用優化
|
||||||
|
|
||||||
AcePanel has comprehensively optimized file management, restoring an operation experience similar to Windows Explorer (supports keyboard shortcuts).
|
AcePanel 全面優化了檔案管理,還原類似 Windows 資源管理器的操作體驗(支援快捷鍵操作)。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
A brand new file editor developed based on Monaco, which is both an editor and can be used as an online IDE (also supports keyboard shortcuts).
|
基於 Monaco 開發全新的檔案編輯器,即是編輯器,亦可作為線上 IDE 使用(同樣支援快捷鍵操作)。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Toolbox capabilities have been comprehensively enhanced. Process management supports right-click operations, and new features include SSH service management, disk management, log cleanup, and Web hooks.
|
工具箱能力全面提升, 程序管理支援右鍵操作,同時新增 SSH 服務管理,磁碟管理,日誌清理以及 Web 鉤子等功能。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||

|

|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The scheduled task period selector has been rewritten, providing a more friendly interaction experience.
|
計劃任務週期選擇器重寫,提供更友好的互動體驗。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Other Optimizations
|
## 其他優化
|
||||||
|
|
||||||
- Support using ACME to apply for Let's Encrypt IP certificates
|
- 支援使用 ACME 申請 Let's Encrypt IP 憑證
|
||||||
- Entrance error page supports customization
|
- 入口錯誤頁支援自訂
|
||||||
- Login supports automatic captcha activation
|
- 登入支援自動開啟驗證碼
|
||||||
- Custom Logo and hidden menu support long-term saving
|
- 自訂 Logo 與隱藏選單支援長期保存
|
||||||
- Added operation log recording and viewing feature
|
- 新增操作日誌記錄與查看功能
|
||||||
- Certificate management adds ACME ARI support
|
- 憑證管理新增 ACME ARI 支援
|
||||||
- Icons are fully localized, no longer dependent on external CDN
|
- 圖示全面本地化,不再需要依賴外部 CDN
|
||||||
- Nginx/OpenResty adds Stream support (Layer 4 proxy)
|
- Nginx/OpenResty 新增 Stream 支援(四層代理)
|
||||||
- Added PHP 8.5 support
|
- 新增 PHP 8.5 支援
|
||||||
- Added Apache Web server basic support
|
- 新增 Apache Web 伺服器基礎支援
|
||||||
- Added LiteSSL certificate support
|
- 新增 LiteSSL 憑證支援
|
||||||
- Container and compose creation/startup supports real-time progress display
|
- 容器與編排建立/啟動支援即時顯示進度
|
||||||
- Container supports one-click terminal access
|
- 容器支援一鍵進入終端
|
||||||
- Resource monitoring supports custom time range and network card/disk selection
|
- 資源監控支援自訂時間範圍與網卡/磁碟選擇
|
||||||
- Homepage apps support drag-and-drop sorting
|
- 首頁應用支援拖曳排序
|
||||||
- File management supports large file chunked upload
|
- 檔案管理支援大檔案分片上傳
|
||||||
- File management supports double-click to extract compressed files
|
- 檔案管理支援壓縮包雙擊解壓
|
||||||
- Apps, runtime environments, and container templates support category filtering
|
- 應用與運行環境、容器模版支援分類篩選
|
||||||
- SSH terminal supports private key login
|
- SSH 終端支援私鑰登入
|
||||||
- System toolbox - DNS adapts to modern network management methods
|
- 系統工具箱 - DNS 適配現代網路管理方式
|
||||||
- Support visual modification of Docker basic settings
|
- 支援視覺化修改 Docker 基本設定
|
||||||
- Database server list supports one-click terminal access
|
- 資料庫伺服器列表支援一鍵進入終端
|
||||||
- Some delete operations add 5-second countdown confirmation
|
- 部分刪除操作新增 5s 倒數確認
|
||||||
|
|
||||||
## Bug Fixes
|
## 問題修復
|
||||||
|
|
||||||
- Fixed the issue where the panel automatically logs out after logging in for more than 120 minutes
|
- 修復登入超過 120 分鐘後面板自動登出的問題
|
||||||
- Fixed the issue where Docker 29+ versions cannot use panel container features
|
- 修復 Docker 29+ 版本無法使用面板容器功能的問題
|
||||||
- Fixed the occasional ERR_CONNECTION_REFUSED error in the panel
|
- 修復面板偶現 ERR_CONNECTION_REFUSED 錯誤的問題
|
||||||
- Fixed the resource leak issue in panel Websocket sessions
|
- 修復面板 Websocket 會話存在資源洩漏的問題
|
||||||
- Fixed the issue where firewall port allowance doesn't take effect in some cases
|
- 修復部分情況下防火牆連接埠放行不生效的問題
|
||||||
- Fixed the issue where PHP setting default cli version doesn't take effect
|
- 修復 PHP 設定預設 cli 版本不生效的問題
|
||||||
- Fixed the issue where rsync secrets newline characters are written incorrectly
|
- 修復 rsync secrets 換行符寫入不正確的問題
|
||||||
- Fixed fail2ban IPv6 address display and unban issues
|
- 修復 fail2ban IPv6 位址顯示和解封問題
|
||||||
- Other known bug fixes
|
- 其他已知問題修復
|
||||||
|
|
||||||
## Compatibility Changes
|
## 相容性變化
|
||||||
|
|
||||||
Given that openEuler, Alibaba Cloud Linux 4, and Anolis 23 and other new domestic systems have changed their software sources beyond recognition, making adaptation extremely difficult, AcePanel 3.0 has decided to drop support for these three distributions. It is recommended to switch to AlmaLinux / Rocky Linux. If you must use domestic systems, consider OpenCloudOS 9 or TencentOS Server 4.
|
鑑於 openEuler 及 Alibaba Cloud Linux 4 和 Anolis 23 等新版信創系統把軟體源改的面目全非,適配極其困難,因此 AcePanel 3.0 決定放棄對這三個發行版的支援。 建議切換到 AlmaLinux / Rocky Linux 使用, 如必須使用信創系統可考慮 OpenCloudOS 9 或 TencentOS Server 4。
|
||||||
|
|
||||||
Also starting from AcePanel 3.0, RHEL 8-based systems (AlmaLinux 8/Rocky Linux 8) based on 4.x kernel are no longer supported. Please upgrade to 9.x/10.x.
|
同時 AcePanel 3.0 版本起,不再支援基於 4.x 核心的 RHEL 8-based 系統(AlmaLinux 8/Rocky Linux 8), 請升級至 9.x/10.x 使用。
|
||||||
|
|
||||||
Additionally, to support pre-built installation packages to solve the much-criticized slow MySQL compilation issue, AcePanel has changed the default installation directory to `/opt/ace` and no longer allows customization (expected to have minimal impact, you can still mount data disks before installation).
|
其次為支援預製安裝包以解決飽受詬病的 MySQL 編譯慢問題,AcePanel 修改了預設安裝目錄為 `/opt/ace` 且不再允許自訂(預計影響不大,仍可在安裝前掛載資料磁碟)。
|
||||||
|
|
||||||
## About Old Version Upgrade and Maintenance
|
## 關於舊版本升級及維護
|
||||||
|
|
||||||
We plan to release a script to upgrade from the old Rat Panel 2.x to AcePanel 3.0 after AcePanel 3.0 has been stable for a while. Given the significant changes, a perfect upgrade is not expected to be achievable, please be aware.
|
計劃在 AcePanel 3.0 穩定一段時間之後推出舊版耗子面板 2.x 升級至 AcePanel 3.0 的腳本, 鑑於改動較大,預計無法實現完美升級,請留意。
|
||||||
|
|
||||||
The old Rat Panel 2.x will continue to receive security updates for a period of time (expected until the end of 2026). You can arrange your upgrade during this period.
|
舊版耗子面板 2.x 仍將繼續維護一段時間的安全更新(預計到 2026 年底), 您可在此期間自行安排時間點進行升級。
|
||||||
|
|
||||||
## Open Source License Change
|
## 開源協議變化
|
||||||
|
|
||||||
The new version of AcePanel has decided to use the more permissive BSD-3 open source license, hoping that more developers will participate in the future to build a better server panel together.
|
新版本 AcePanel 決定使用更寬鬆的開源協議 BSD-3,希望未來能有更多的開發者參與進來,一起打造更好用的伺服器面板。
|
||||||
|
|
||||||
Current projects available for contribution:
|
當前可參與貢獻的專案如下:
|
||||||
|
|
||||||
- [AcePanel Main Program (please star)](https://github.com/acepanel/panel)
|
- [AcePanel 主程式(求star)](https://github.com/acepanel/panel)
|
||||||
- [AcePanel Installer](https://github.com/acepanel/helper)
|
- [AcePanel 安裝器](https://github.com/acepanel/helper)
|
||||||
- [AcePanel Container Template Library](https://github.com/acepanel/templates)
|
- [AcePanel 容器模版庫](https://github.com/acepanel/templates)
|
||||||
- [AcePanel Documentation](https://github.com/acepanel/acepanel.github.io)
|
- [AcePanel 文件](https://github.com/acepanel/acepanel.github.io)
|
||||||
- [AcePanel Translation](https://zh.crowdin.com/project/acepanel)
|
- [AcePanel 翻譯](https://zh.crowdin.com/project/acepanel)
|
||||||
|
|
||||||
Don't know how to code? No problem, feel free to publish articles about using AcePanel to build various services and discover different ways to play, helping to promote AcePanel.
|
不會程式碼? 沒關係,歡迎發表使用 AcePanel 搭建各種服務、發掘不同玩法的文章,幫助推廣 AcePanel。
|
||||||
|
|
||||||
## Closing Remarks
|
## 結束語
|
||||||
|
|
||||||
When writing this article, it was past 4 AM. In the blink of an eye, this project celebrated its 3rd birthday last month. When I wrote the first line of code, I knew nothing about Go, and now I've grown into what some people call an expert.
|
寫這篇文章的時候是夜裡 4 點多, 轉眼這個專案已經在上個月度過其 3 歲生日, 當年寫下第一行程式碼時我還對 Go 一竅不通,如今已經成長為有些人口中的大佬。
|
||||||
|
|
||||||
AcePanel is my youth. I hope to write it to perfection without regrets, so I've refactored it several times. If this has affected your usage, I apologize here. Now I'm getting older, and with the many trivial matters of work and life, I may not be able to refactor it again in the future.
|
AcePanel 是我的青春, 我希望將其寫到極致而不留遺憾,因此來回重構了數次, 如果因此影響了您的使用,我在此說聲道歉。 現在自己年紀也慢慢大了,加上工作與生活的瑣事繁多,未來再想重構也不一定折騰得動了。
|
||||||
|
|
||||||
AI in 2026 is already very powerful. A lot of complex interaction logic in the new version of AcePanel was developed with the assistance of Claude Opus 4.5. I admit that with my level, it would be difficult to write such complete interactions. Perhaps with continued development, panels may no longer be needed in the future, and instead, you can just say to AI: Help me install Nginx; Help me create xxx project. Who knows?
|
2026 年的 AI 已經非常強大, AcePanel 新版本中有大量複雜的互動邏輯均使用 Claude Opus 4.5 輔助開發, 我承認以我的水平難以寫出這樣完善的互動。 也許繼續發展下去未來或將不再需要面板,而是直接對 AI 說:幫我安裝 Nginx;幫我建立 xxx 專案。 誰知道呢?
|
||||||
|
|
||||||
Finally, thanks to sponsors WeiXiaoDuo and LF Cloud, and all users who participated in the AcePanel internal testing. Without your help, AcePanel would have been difficult to release on schedule.
|
最後,感謝贊助商微曉朵和林楓雲以及參與 AcePanel 內測的所有使用者, 沒有你們的幫助 AcePanel 將難以如期發布。
|
||||||
|
|
||||||
Here is the installation command for the new version of AcePanel, welcome to test and experience:
|
附上 AcePanel 新版本的安裝命令,歡迎測試體驗:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
bash <(curl -sSLm 10 https://dl.acepanel.net/helper.sh)
|
bash <(curl -sSLm 10 https://dl.acepanel.net/helper.sh)
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
# Uninstall
|
# 卸載
|
||||||
|
|
||||||
:::danger Warning
|
:::danger 警告
|
||||||
Please backup all data before uninstalling. Data cannot be recovered after uninstallation.
|
卸載前請備份所有數據, 卸載後數據不可恢復。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Uninstall Steps
|
## 卸載步驟
|
||||||
|
|
||||||
1. Backup important data such as websites and databases
|
1. 備份網站、數據庫等重要數據
|
||||||
2. Uninstall all installed applications in the panel
|
2. 在面板中卸載所有已安裝的應用
|
||||||
3. Execute the uninstall command:
|
3. 執行卸載命令:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
bash <(curl -sSLm 10 https://dl.acepanel.net/helper.sh)
|
bash <(curl -sSLm 10 https://dl.acepanel.net/helper.sh)
|
||||||
```
|
```
|
||||||
|
|
||||||
Select the "Uninstall Panel" option to complete the uninstallation.
|
選擇「卸載面板」選項完成卸載。
|
||||||
|
|||||||
@@ -1,33 +1,33 @@
|
|||||||
# Update
|
# 更新
|
||||||
|
|
||||||
## Automatic Update
|
## 自動更新
|
||||||
|
|
||||||
The panel has automatic updates enabled by default, checking and updating around 2 AM daily. The panel will be briefly unavailable during updates (usually less than 1 minute).
|
面板預設開啟自動更新,每天凌晨 2 點左右會自動檢測並更新。 更新期間面板會短暫不可用(通常不超過 1 分鐘)。
|
||||||
|
|
||||||
To disable automatic updates: "Settings" -> "Security" -> "Automatic Update".
|
關閉自動更新:「設定」->「安全」->「自動更新」。
|
||||||
|
|
||||||
## Manual Update
|
## 手動更新
|
||||||
|
|
||||||
### Web Interface
|
### Web 介面
|
||||||
|
|
||||||
Click the "Update" button in the top right corner of the homepage. When a new version is available, an update page will pop up.
|
點擊首頁右上角「更新」按鈕, 有新版本時會彈出更新頁面。
|
||||||
|
|
||||||
Do not refresh the browser or operate the panel during the update process. The page will automatically refresh after completion.
|
更新過程中請勿重新整理瀏覽器或操作面板, 完成後頁面會自動重新整理。
|
||||||
|
|
||||||
### Command Line
|
### 命令列
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
acepanel update
|
acepanel update
|
||||||
```
|
```
|
||||||
|
|
||||||
Suitable for situations where the panel is inaccessible. Do not close the terminal during the update process.
|
適用於面板無法存取的情況。 更新過程中請勿關閉終端。
|
||||||
|
|
||||||
## Update Failed
|
## 更新失敗
|
||||||
|
|
||||||
If problems occur after updating, try to repair:
|
如果更新後出現問題,嘗試修復:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
acepanel fix
|
acepanel fix
|
||||||
```
|
```
|
||||||
|
|
||||||
If problems persist, provide feedback at the [Community](https://tom.moe).
|
仍有問題可到 [社群](https://tom.moe) 回饋。
|
||||||
|
|||||||
Reference in New Issue
Block a user