- 更新系统和安装依赖 - 安装 Python 3.11- 配置 Python 虚拟环境 - 安装和配置 MySQL - 导入 fastapi.sql 数据文件 - 配置 Nginx 反向代理 - 启动和运行 FastAPI 项目
安装 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命令。
- 打开 Windows 环境变量设置,将 MySQL 安装目录的
-
步骤 4: 登录 MySQL 并创建数据库和用户 使用命令行工具登录 MySQL,并按照以下命令创建数据库和用户:
mysql -u root -pCREATE 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 版本
-
安装 Nginx
在 Linux 上,使用以下命令安装 Nginx:
sudo apt update sudo apt install nginx-
创建 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 *; } }
-
-
启用配置
-
将配置文件链接到
sites-enabled:sudo ln -s /etc/nginx/sites-available/fastapi.conf /etc/nginx/sites-enabled/ -
检查配置文件是否有错误:
sudo nginx -t -
重启 Nginx 以应用配置:
sudo systemctl reload nginx
-
验证配置
在浏览器中访问
http://example.com,确保 FastAPI 应用能够正常访问并支持 1GB 文件上传。
Windows 版本
- 安装 Nginx
- 下载 Nginx Windows 版本:Nginx 官方网站。
- 解压后,将 Nginx 文件夹放置在您选择的目录(例如
C:\nginx)。
-
创建 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 *; } } } -
启动 Nginx
-
打开命令提示符,进入 Nginx 目录并启动服务:
cd C:\nginx nginx.exe
-
验证配置
在浏览器中访问
http://localhost,检查 FastAPI 应用是否可用并支持 1GB 文件上传。
可选的 SSL 配置
- 若需要在 Linux 系统上启用 HTTPS 和 SSL 证书,请参考 Let’s 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。