Binchen’s Tech Blog
  • Home
  • Posts
  • About

On this page

  • 1 后端服务部署(systemd + venv + Nginx)
    • 1.1 安装依赖
    • 1.2 创建虚拟环境并安装依赖
    • 1.3 用 systemd 托管
      • 1.3.1 创建服务文件
      • 1.3.2 服务文件示例(按实际入口调整)
    • 1.4 启动服务
    • 1.5 用 Nginx 做反向代理 + HTTPS
      • 1.5.1 安装 Nginx
      • 1.5.2 配置 Nginx
    • 1.6 维护常用命令

后端服务部署:systemd + venv + Nginx

部署
后端
以玫瑰通 agent 项目为例,整理后端服务的原生部署流程。
Published

January 4, 2026

1 后端服务部署(systemd + venv + Nginx)

以玫瑰通 agent 项目为例,记录后端服务部署流程。部署方案:原生部署(systemd + venv)+ Nginx。

1.1 安装依赖

sudo apt-get update
sudo apt-get install -y python3-venv python3-pip

1.2 创建虚拟环境并安装依赖

cd rose-wechat-agent
python3 -m venv .venv
source .venv/bin/activate
pip install -U pip
pip install -r requirements.txt
cp .env.example .env
nano .env

1.3 用 systemd 托管

1.3.1 创建服务文件

sudo nano /etc/systemd/system/rose-wechat-agent.service

1.3.2 服务文件示例(按实际入口调整)

建议使用 uvicorn 作为入口,便于后续扩展异步能力。

[Unit]
Description=Rose WeChat Agent
After=network.target

[Service]
WorkingDirectory=/path/to/rose-wechat-agent
EnvironmentFile=/path/to/rose-wechat-agent/.env
ExecStart=/path/to/rose-wechat-agent/.venv/bin/python /path/to/rose-wechat-agent/scripts/run_server.py
Restart=always
RestartSec=3
User=www-data

[Install]
WantedBy=multi-user.target

1.4 启动服务

sudo systemctl daemon-reload
sudo systemctl enable --now rose-wechat-agent
sudo journalctl -u rose-wechat-agent -f

1.5 用 Nginx 做反向代理 + HTTPS

1.5.1 安装 Nginx

sudo apt-get install -y nginx

1.5.2 配置 Nginx

sudo nano /etc/nginx/sites-available/grape

在 server 块内添加:

location /rose_wechat_agent/ {
    proxy_pass http://127.0.0.1:18008/;

    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-Prefix /rose_wechat_agent;
    proxy_set_header X-Script-Name /rose_wechat_agent;

    proxy_buffering off;
    proxy_read_timeout 3600s;
}

1.6 维护常用命令

  • 重启后端服务:sudo systemctl restart rose-wechat-agent
  • 查看后端服务日志:sudo journalctl -u rose-wechat-agent -n 100 --no-pager
  • 重启 Nginx:sudo systemctl restart nginx

© 2025 Binchen Chen

 

Built with Quarto