部署fastapi项目到服务器

460 阅读1分钟

一、服务器准备

  1. 登录阿里云控制台

    • 进入ECS实例,确保安全组开放以下端口:

      • 80/443(HTTP/HTTPS)
      • 22(SSH)
      • 8000(FastAPI默认端口,可选)
  2. SSH连接服务器

    <BASH>
    ssh root@你的服务器IP
    

二、系统环境配置

  1. 更新系统 & 安装基础工具

    <BASH>
    apt update && apt upgrade -yapt install -y 
    git python3-pip python3-venv nginx supervisor certbot
    
  2. 创建部署用户(非root用户更安全)

    <BASH>
    adduser fastapiusermod
    -aG sudo fastapi
    su - fastapi
    

三、项目部署

  1. 克隆代码库

    <BASH>
    git clone https://你的仓库地址.git /home/fastapi/appcd /home/fastapi/app
    
  2. Python虚拟环境

    <BASH>
    python3 -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
    

    四、Nginx 配置(反向代理)

  3. 创建Nginx配置文件

    <BASH>
    sudo nano /etc/nginx/sites-available/fastapi
    

    内容示例:

<NGINX> server { listen 80; server_name 你的域名或IP; location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } # 静态文件配置(如果有前端) location /static { alias /home/fastapi/app/static; }}

  1. 启用配置

    <BASH>
    sudo ln -s /etc/nginx/sites-available/fastapi /etc/nginx/sites-enabled
    sudo nginx -t  # 测试配置
    sudo systemctl restart nginx