皓月归尘 41bbdabf5b docs(README): 添加 FastAPI项目安装和配置指南
- 更新系统和安装依赖
- 安装 Python 3.11- 配置 Python 虚拟环境
- 安装和配置 MySQL
- 导入 fastapi.sql 数据文件
- 配置 Nginx 反向代理
- 启动和运行 FastAPI 项目
2025-07-01 23:48:27 +08:00
2025-02-12 02:38:29 +08:00
2025-03-04 00:54:33 +08:00
2025-02-12 02:38:29 +08:00
2025-02-12 02:38:29 +08:00
2025-03-04 00:54:33 +08:00
2025-03-04 00:54:33 +08:00
2025-07-01 23:40:43 +08:00
2025-02-12 02:38:29 +08:00
2025-03-04 00:54:33 +08:00
2025-02-12 02:38:29 +08:00
2025-02-12 02:38:29 +08:00

安装 python3.11

一、Linux 安装 Python 3.11

1. 更新系统和安装依赖

sudo apt update
sudo apt install -y software-properties-common

2. 添加 Python 3.11 PPA 源Ubuntu

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update

3. 安装 Python 3.11

sudo apt install -y python3.11 python3.11-venv python3.11-dev

4. 确认安装版本

python3.11 --version

5. 设置 Python 3.11 为默认版本(可选)

如果需要将 Python 3.11 设置为系统默认 Python3 版本:

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 1

二、Windows 安装 Python 3.11

1. 下载 Python 3.11

  • 前往 Python 官方下载页面
  • 选择 Windows 安装程序Installer并下载适合的版本32位或64位

2. 运行安装程序

  • 双击下载的 .exe 文件,启动安装程序。
  • 勾选 “Add Python 3.11 to PATH”,以便系统能够识别 Python 命令。
  • 选择 “Customize installation” 以进行自定义安装。
  • 点击 “Install” 开始安装。

3. 确认安装

  • 在命令提示符Command Prompt或 PowerShell 中输入以下命令检查安装是否成功:

    python --version
    

配置 Python 虚拟环境

1. Linux 环境

  • 创建虚拟环境

    python3 -m venv 虚拟环境名称
    
  • 启动虚拟环境

    source 虚拟环境名称/bin/activate
    
  • 安装 Python 依赖

    pip install -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple -r ./requirements.txt
    

2. Windows 环境

  • 创建虚拟环境

    python -m venv 虚拟环境名称
    
  • 启动虚拟环境

    .\虚拟环境名称\Scripts\activate
    
  • 安装 Python 依赖

    pip install -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple -r ./requirements.txt
    

MySQL 的安装和配置说明。

1. 在 Linux 上安装 MySQL

  • 步骤 1: 更新包列表并安装 MySQL 服务器

    sudo apt update
    sudo apt install mysql-server -y
    
  • 步骤 2: 启动 MySQL 服务并设置为开机启动

    sudo systemctl start mysql
    sudo systemctl enable mysql
    
  • 步骤 3: 安全配置 MySQL

    sudo mysql_secure_installation
    

    按照提示配置 root 密码,移除匿名用户,禁止 root 远程登录,删除测试数据库等。

  • 步骤 4: 登录 MySQL 并创建数据库和用户

    sudo mysql -u root -p
    

    使用以下命令创建数据库和用户并赋予权限:

    CREATE DATABASE 数据库名称 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    CREATE USER '用户名'@'%' IDENTIFIED BY '用户密码';
    GRANT ALL PRIVILEGES ON 数据库名称.* TO '用户名'@'%';
    FLUSH PRIVILEGES;
    
  • 步骤 5: 配置 MySQL 远程访问(如有需要) 修改 MySQL 配置文件 /etc/mysql/mysql.conf.d/mysqld.cnf,将 bind-address 设置为 0.0.0.0

    bind-address = 0.0.0.0
    

    保存并重启 MySQL 服务:

    sudo systemctl restart mysql
    

2. 在 Windows 上安装 MySQL

  • 步骤 1: 下载并安装 MySQL

    • 前往 MySQL 官网下载,选择适合的版本进行下载。
    • 安装时可选择默认安装路径,并勾选 MySQL Server 和 MySQL Workbench 等工具。
  • 步骤 2: 配置 MySQL

    • 在安装向导中,设置 root 用户的密码,并选择 MySQL 配置(建议选择开发者配置)。
    • 设置端口(默认 3306和字符集为 utf8mb4
  • 步骤 3: 配置环境变量(可选)

    • 打开 Windows 环境变量设置,将 MySQL 安装目录的 bin 文件夹路径(如 C:\Program Files\MySQL\MySQL Server 8.0\bin)添加到 Path 中,以便在命令行直接使用 mysql 命令。
  • 步骤 4: 登录 MySQL 并创建数据库和用户 使用命令行工具登录 MySQL并按照以下命令创建数据库和用户

    mysql -u root -p
    
    CREATE DATABASE 数据库名称 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    CREATE USER '用户名'@'localhost' IDENTIFIED BY '用户密码';
    GRANT ALL PRIVILEGES ON 数据库名称.* TO '用户名'@'localhost';
    FLUSH PRIVILEGES;
    

### 4. 验证数据库连接

   - **配置完成后,可以在 FastAPI 项目中测试 MySQL 数据库连接,确保连接配置正确。**


---

## 导入 `fastapi.sql` 数据文件。

- 在 MySQL 配置完成后,可以将项目的初始数据通过 `fastapi.sql` 文件导入到数据库中。

### 1. 在 Linux 上导入 `fastapi.sql` 数据

- **步骤 1**: 登录到 MySQL
  ```shell
  mysql -u 用户名 -p

系统会提示输入密码,输入后进入 MySQL 命令行。

  • 步骤 2: 使用 source 命令导入数据 在 MySQL 命令行中,选择目标数据库并导入 fastapi.sql 文件:

    USE 数据库名称;
    SOURCE /path/to/fastapi.sql;
    

    确保 fastapi.sql 文件路径正确,数据将被导入指定的数据库。

  • 步骤 3: 验证导入 导入完成后,可以执行一些简单查询来验证数据是否导入成功:

    SELECT * FROM 表名称 LIMIT 5;
    

2. 在 Windows 上导入 fastapi.sql 数据

  • 步骤 1: 打开命令提示符并登录到 MySQL 打开命令提示符CMD并运行以下命令

    mysql -u 用户名 -p
    

    输入密码后进入 MySQL 命令行。

  • 步骤 2: 使用 source 命令导入数据 在 MySQL 命令行中,先选择数据库,然后导入 fastapi.sql 文件:

    USE 数据库名称;
    SOURCE C:\\path\\to\\fastapi.sql;
    

    注意Windows 系统中路径使用双反斜杠 \\

  • 步骤 3: 验证导入 导入完成后,可以使用简单的查询语句检查数据是否导入成功:

    SELECT * FROM 表名称 LIMIT 5;
    

3. 使用命令直接导入 fastapi.sql 文件

  • 对于一些简单情况,可以直接在命令行中使用以下方式导入,无需进入 MySQL 命令行。

  • 通用方法

    mysql -u 用户名 -p 数据库名称 < /path/to/fastapi.sql
    

    这种方法适用于 Linux 和 Windows 系统,路径需根据操作系统设置正确的格式。

注意事项

  • 确保 fastapi.sql 文件中的表结构与目标数据库一致,以避免导入错误。
  • 如果数据库中已有相同数据,请谨慎操作,避免数据冲突或重复。

Nginx配置

Linux 版本

  1. 安装 Nginx

    在 Linux 上,使用以下命令安装 Nginx

    sudo apt update
    sudo apt install nginx
    
    1. 创建 FastAPI 反向代理配置

      打开或创建 Nginx 配置文件,例如 /etc/nginx/sites-available/fastapi.conf

      server {
          listen 80;
          server_name example.com;  # 替换为您的域名或服务器 IP
      
          # 日志路径
          access_log /var/log/nginx/fastapi_access.log;
          error_log /var/log/nginx/fastapi_error.log;
      
          # 文件上传大小限制为 1024MB
          client_max_body_size 1024M;
      
          location / {
               root   /var/www/html/; # 替换为您的项目根目录
               index  index.html index.htm;
               try_files $uri $uri/ /index.html;
          }
      
         location /api/ {
           # 如果后端在本地比如127.0.0.1或者localhost请解开下面的rewrite注释即可
           rewrite  ^.+api/?(.*)$ /$1 break;
           # 这里填写后端地址(后面一定不要忘记添加 / 
           proxy_pass http://127.0.0.1:9090/;
           proxy_set_header Host $host;
           proxy_set_header Cookie $http_cookie;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_redirect default;
           add_header Access-Control-Allow-Origin *;
           add_header Access-Control-Allow-Headers *;
           add_header Access-Control-Allow-Methods *;
        }
      }
      
  2. 启用配置

  • 将配置文件链接到 sites-enabled

    sudo ln -s /etc/nginx/sites-available/fastapi.conf /etc/nginx/sites-enabled/
    
  • 检查配置文件是否有错误:

    sudo nginx -t
    
  • 重启 Nginx 以应用配置:

    sudo systemctl reload nginx
    
  1. 验证配置

    在浏览器中访问 http://example.com,确保 FastAPI 应用能够正常访问并支持 1GB 文件上传。

Windows 版本

  1. 安装 Nginx
  • 下载 Nginx Windows 版本:Nginx 官方网站
  • 解压后,将 Nginx 文件夹放置在您选择的目录(例如 C:\nginx)。
  1. 创建 FastAPI 配置

    打开 C:\nginx\conf\nginx.conf 文件,在 http 块中添加以下配置:

    http {
        include       mime.types;
        default_type  application/octet-stream;
    
        # 日志路径
        access_log logs/fastapi_access.log;
        error_log logs/fastapi_error.log;
    
        # 客户端最大文件上传大小限制为 1024MB
        client_max_body_size 1024M;
    
        server {
            listen 80;
            server_name localhost;  # 或替换为您的服务器 IP
    
            location / {
                root   /var/www/html/; # 替换为您的项目根目录
                index  index.html index.htm;
                try_files $uri $uri/ /index.html;
           }
    
          location /api/ {
            # 如果后端在本地比如127.0.0.1或者localhost请解开下面的rewrite注释即可
            rewrite  ^.+api/?(.*)$ /$1 break;
            # 这里填写后端地址(后面一定不要忘记添加 / 
            proxy_pass http://127.0.0.1:9090/;
            proxy_set_header Host $host;
            proxy_set_header Cookie $http_cookie;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_redirect default;
            add_header Access-Control-Allow-Origin *;
            add_header Access-Control-Allow-Headers *;
            add_header Access-Control-Allow-Methods *;
         }
        }
    }
    
  2. 启动 Nginx

  • 打开命令提示符,进入 Nginx 目录并启动服务:

    cd C:\nginx
    nginx.exe
    
  1. 验证配置

    在浏览器中访问 http://localhost,检查 FastAPI 应用是否可用并支持 1GB 文件上传。

可选的 SSL 配置

  • 若需要在 Linux 系统上启用 HTTPS 和 SSL 证书,请参考 Lets Encrypt 或其他 SSL 提供商的文档,使用类似以下的配置:
server {
    listen 80;
    server_name example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    client_max_body_size 1024M;

    location / {
               root   /var/www/html/; # 替换为您的项目根目录
               index  index.html index.htm;
               try_files $uri $uri/ /index.html;
    }
   
     location /api/ {
       # 如果后端在本地比如127.0.0.1或者localhost请解开下面的rewrite注释即可
       rewrite  ^.+api/?(.*)$ /$1 break;
       # 这里填写后端地址(后面一定不要忘记添加 / 
       proxy_pass http://127.0.0.1:9090/;
       proxy_set_header Host $host;
       proxy_set_header Cookie $http_cookie;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_redirect default;
       add_header Access-Control-Allow-Origin *;
       add_header Access-Control-Allow-Headers *;
       add_header Access-Control-Allow-Methods *;
    }
}

启动运行

1. 进入项目目录并激活虚拟环境

Linux

# 进入项目目录
cd /path/to/your/project

# 激活虚拟环境
source venv/bin/activate

Windows

# 进入项目目录
cd \path\to\your\project

# 激活虚拟环境
.\venv\Scripts\activate

2. 启动 FastAPI 项目

python app.py

3. 停止项目

在命令行中按下 Ctrl + C 以停止运行中的 FastAPI 项目。

备注

  • 运行项目时,请确保虚拟环境已正确激活,以避免 Python 库路径错误。
  • 如果 Nginx 已配置为反向代理,则可以直接访问 Nginx 设置的域名或 IP。
Description
No description provided
Readme 5.3 MiB
Languages
Python 90.1%
Jinja 7.9%
HTML 2%