fastapi打包成dist还有虚拟环境venv怎么部署到虚拟机,linux系统详细步骤
时间: 2024-10-23 19:06:29 浏览: 28
基于fastapi的爬虫可视化调度系统源码+项目部署说明.zip
5星 · 资源好评率100%
FastAPI项目打包并部署到Linux虚拟机(通过venv和dist文件)的具体步骤如下:
1. **创建虚拟环境**:
- 首先,在Linux上打开终端,导航到你的项目目录。
```
cd /path/to/your/project
```
- 使用Python的venv模块创建一个新的虚拟环境,例如名为`venv`。
```
python3 -m venv venv
```
- 激活虚拟环境:
```
source venv/bin/activate (如果是在bash下)
. venv/bin/activate (如果是在zsh或fish shell下)
```
2. **安装依赖**:
- 列出项目的requirements.txt文件(如果没有,可以使用pip freeze > requirements.txt),然后在虚拟环境中安装。
```
pip install -r requirements.txt
```
这将确保所有依赖都安装在虚拟环境中。
3. **构建应用**:
- 如果你的FastAPI应用是使用`poetry`或`pipenv`管理包的,需要先激活它们,然后执行相应命令来构建dist文件。
- 如果使用Poetry:
```
poetry build
```
或者使用pipenv:
```
pipenv bundle --output-file=dist/final.zip
```
如果直接使用的是`setup.py`,则执行:
```
python setup.py sdist bdist_wheel
```
4. **上传dist文件**:
- 将dist文件夹内容复制到Linux服务器的适当位置。通常是服务器的网站根目录,比如`/var/www/html`。
```
scp -r dist/* user@remote_server:/var/www/html/
```
这会将本地的dist文件传送到远程服务器。
5. **部署应用**:
- 登录到远程服务器:
```
ssh user@remote_server
```
- 解压文件:
```
tar -xvf dist/filename.whl
```
或者对于zip文件:
```
unzip final.zip
```
- 更改目录到应用所在位置,并设置权限:
```
cd /var/www/html
chmod -R 755 .
```
6. **启动服务**:
- 确保你的应用有一个合适的启动脚本(如wsgi、uWSGI、gunicorn等)。启动服务的命令可能会因所选的服务而异,通常会在项目的文档中找到。
- 示例(假设使用gunicorn):
```
gunicorn app:app
```
7. **检查访问**:
现在你可以尝试通过浏览器访问服务器的URL查看应用是否正常运行。
阅读全文