chore: 添加 systemd 服务文件到仓库 deploy/ 目录
deploy/backup-backend.service — FastAPI 后端 systemd 托管配置 README.md — 更新部署步骤说明
This commit is contained in:
@@ -56,12 +56,25 @@ cp .env.example .env
|
|||||||
|
|
||||||
### 2. 启动服务
|
### 2. 启动服务
|
||||||
|
|
||||||
**后端**(systemd 托管,开机自启):
|
**后端**(systemd 服务,开机自启):
|
||||||
|
|
||||||
|
安装依赖并部署 service 文件:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
systemctl start backup-backend
|
cd /root/system-backu/backend
|
||||||
|
python3 -m venv venv
|
||||||
|
source venv/bin/activate
|
||||||
|
pip install -r requirements.txt
|
||||||
|
|
||||||
|
# 部署 systemd 服务
|
||||||
|
cp deploy/backup-backend.service /etc/systemd/system/
|
||||||
|
systemctl daemon-reload
|
||||||
systemctl enable backup-backend
|
systemctl enable backup-backend
|
||||||
journalctl -u backup-backend -f # 查看日志
|
systemctl start backup-backend
|
||||||
|
|
||||||
|
# 查看状态和日志
|
||||||
|
systemctl status backup-backend
|
||||||
|
journalctl -u backup-backend -f
|
||||||
```
|
```
|
||||||
|
|
||||||
**前端**(Docker 容器):
|
**前端**(Docker 容器):
|
||||||
@@ -92,6 +105,8 @@ docker compose up -d frontend
|
|||||||
.
|
.
|
||||||
├── docker-compose.yml # 仅前端容器
|
├── docker-compose.yml # 仅前端容器
|
||||||
├── .env.example # 环境变量模板
|
├── .env.example # 环境变量模板
|
||||||
|
├── deploy/
|
||||||
|
│ └── backup-backend.service # systemd 服务文件
|
||||||
├── backend/
|
├── backend/
|
||||||
│ ├── app/ # FastAPI 应用代码
|
│ ├── app/ # FastAPI 应用代码
|
||||||
│ │ ├── api/ # API 端点
|
│ │ ├── api/ # API 端点
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=System Backup Backend (FastAPI)
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
User=root
|
||||||
|
WorkingDirectory=/root/system-backu/backend
|
||||||
|
EnvironmentFile=/root/system-backu/.env
|
||||||
|
ExecStartPre=/root/system-backu/backend/venv/bin/alembic upgrade head
|
||||||
|
ExecStart=/root/system-backu/backend/venv/bin/uvicorn app.main:app --host 0.0.0.0 --port 8765
|
||||||
|
Restart=always
|
||||||
|
RestartSec=5
|
||||||
|
StandardOutput=journal
|
||||||
|
StandardError=journal
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
Reference in New Issue
Block a user