Files
soul/开发文档/服务器管理/references/部署配置模板.md

155 lines
3.0 KiB
Markdown
Raw Normal View History

# 部署配置模板
## JSON配置文件结构
```json
{
"项目名称": "soul",
"项目说明": "Soul创业实验书籍阅读平台",
"域名": "soul.quwanzhi.com",
"域名列表": ["soul.quwanzhi.com"],
"本地项目路径": "/Users/karuo/Documents/开发/3、自营项目/一场soul的创业实验",
"服务器项目路径": "/www/wwwroot/soul",
"运行用户": "www",
"Node版本": "v22.14.0",
"包管理器": "pnpm",
"端口策略": {
"优先端口": 3006,
"候选范围": [3000, 3100]
},
"构建命令": {
"安装依赖": "pnpm install",
"构建": "pnpm run build",
"启动脚本模板": "next start -p {PORT}"
},
"部署策略": {
"部署前清空目录": true,
"排除目录": ["node_modules", ".next", ".git", "out"]
},
"宝塔Node项目": {
"最大内存MB": 4096,
"自动启动": true
},
"HTTPS": {
"启用": true,
"证书目录": "/www/server/panel/vhost/cert/www.quwanzhi.com"
},
"Nginx": {
"清理重复域名配置": true,
"配置模板": "标准反向代理"
}
}
```
---
## 最小化配置(必填字段)
```json
{
"项目名称": "myproject",
"域名": "myproject.quwanzhi.com",
"本地项目路径": "/path/to/local/project",
"服务器项目路径": "/www/wwwroot/myproject",
"端口策略": {
"优先端口": 3010
}
}
```
---
## 不同项目类型配置示例
### Next.js 项目
```json
{
"项目名称": "nextjs-app",
"域名": "app.quwanzhi.com",
"本地项目路径": "/path/to/nextjs",
"服务器项目路径": "/www/wwwroot/nextjs-app",
"包管理器": "pnpm",
"端口策略": {"优先端口": 3020},
"构建命令": {
"启动脚本模板": "next start -p {PORT}"
}
}
```
### Vue 项目
```json
{
"项目名称": "vue-admin",
"域名": "admin.quwanzhi.com",
"本地项目路径": "/path/to/vue",
"服务器项目路径": "/www/wwwroot/vue-admin",
"包管理器": "npm",
"端口策略": {"优先端口": 9528},
"构建命令": {
"安装依赖": "npm install",
"构建": "npm run build:prod",
"启动脚本模板": "serve -s dist -p {PORT}"
}
}
```
### NestJS 后端
```json
{
"项目名称": "api-server",
"域名": "api.quwanzhi.com",
"本地项目路径": "/path/to/nestjs",
"服务器项目路径": "/www/wwwroot/api-server",
"包管理器": "pnpm",
"端口策略": {"优先端口": 3200},
"构建命令": {
"安装依赖": "pnpm install",
"构建": "pnpm run build",
"启动脚本模板": "node dist/main.js"
}
}
```
---
## 配置文件存放位置
```
服务器管理/
└── 部署配置/
├── soul_部署配置.json
├── zhiji_部署配置.json
├── kr_wb_部署配置.json
└── ...
```
---
## 使用方法
```python
import json
from 功能插件.宝塔部署器 import 宝塔部署器
# 读取配置
with open("部署配置/soul_部署配置.json", "r") as f:
配置 = json.load(f)
# 执行部署
部署器 = 宝塔部署器()
结果 = 部署器.部署Node网站(配置)
print(结果)
```