From 84c193a00a2936006c1ac46f5c0978ff0f7ace17 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 27 Jul 2026 13:49:54 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E6=B7=BB=E5=8A=A0=20systemd=20?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E6=96=87=E4=BB=B6=E5=88=B0=E4=BB=93=E5=BA=93?= =?UTF-8?q?=20deploy/=20=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit deploy/backup-backend.service — FastAPI 后端 systemd 托管配置 README.md — 更新部署步骤说明 --- README.md | 21 ++++++++++++++++++--- deploy/backup-backend.service | 18 ++++++++++++++++++ 2 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 deploy/backup-backend.service diff --git a/README.md b/README.md index d814179..4d02286 100644 --- a/README.md +++ b/README.md @@ -56,12 +56,25 @@ cp .env.example .env ### 2. 启动服务 -**后端**(systemd 托管,开机自启): +**后端**(systemd 服务,开机自启): + +安装依赖并部署 service 文件: ```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 -journalctl -u backup-backend -f # 查看日志 +systemctl start backup-backend + +# 查看状态和日志 +systemctl status backup-backend +journalctl -u backup-backend -f ``` **前端**(Docker 容器): @@ -92,6 +105,8 @@ docker compose up -d frontend . ├── docker-compose.yml # 仅前端容器 ├── .env.example # 环境变量模板 +├── deploy/ +│ └── backup-backend.service # systemd 服务文件 ├── backend/ │ ├── app/ # FastAPI 应用代码 │ │ ├── api/ # API 端点 diff --git a/deploy/backup-backend.service b/deploy/backup-backend.service new file mode 100644 index 0000000..6b2a9db --- /dev/null +++ b/deploy/backup-backend.service @@ -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